using System.Collections.Generic; using System.Linq; using Kreta.BusinessLogic.Helpers; using Kreta.Core.ConnectionType; using Kreta.Enums; namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites { public class MulasztasModel { public MulasztasModel() { MulasztasList = new List(); } public int? JogviszonySzunetletetokDb { get; set; } public string JogviszonySzunetletetok { get; set; } public int? SzakmaiGyakorlatonLevokDb { get; set; } public string SzakmaiGyakorlatonLevok { get; set; } public List MulasztasList { get; set; } internal void Fill(NaplozasCo co, int maxKeses) { foreach (var item in co.MulasztasList) { MulasztasList.Add(new MulasztasItem() { MulasztasId = item.MulasztasId, TanuloId = item.TanuloId, MulasztasTipus = item.MulasztasTipus, Keses = item.Keses >= maxKeses ? maxKeses : item.Keses, HazifeladatHiany = item.HazifeladatHiany, FelszerelesHiany = item.FelszerelesHiany, Felmentes = item.Felmentes, TanoraiDicseret = item.TanoraiDicseret, HazifeladatHianyId = item.HazifeladatHianyId, FelszerelesHianyId = item.FelszerelesHianyId, FelmentesId = item.FelmentesId, TanoraiDicseretId = item.TanoraiDicseretId }); } } internal void Fill(IConnectionType connectionType, NaplozasMobilCo co, int maxKeses, int? tanitasiOraId) { var oraMulasztasai = new MulasztasHelper(connectionType).GetTanoraMulasztasai(tanitasiOraId); var oraFeljegyzesei = new FeljegyzesekHelper(connectionType).GetTanoraFeljegyzesei(tanitasiOraId); foreach (var item in co.MulasztasList) { var mulasztasItem = new MulasztasItem() { TanuloId = item.TanuloId, MulasztasTipus = item.MulasztasTipus, Keses = item.Keses >= maxKeses ? maxKeses : item.Keses, HazifeladatHiany = item.HazifeladatHiany, FelszerelesHiany = item.FelszerelesHiany, Felmentes = item.Felmentes, TanoraiDicseret = item.TanoraiDicseret, }; var oldMulasztasId = oraMulasztasai.FirstOrDefault(a => a.TanuloId == item.TanuloId); mulasztasItem.MulasztasId = oldMulasztasId?.MulasztasId; var oldHazifeladatHiany = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.HaziFeladatHiany); mulasztasItem.HazifeladatHianyId = oldHazifeladatHiany?.FeljegyzesId; var oldFelszereleshiany = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.Felszereleshiany); mulasztasItem.FelszerelesHianyId = oldFelszereleshiany?.FeljegyzesId; var oldFelmentes = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.SzakmaiMentessegNemHivatalos); mulasztasItem.FelmentesId = oldFelmentes?.FeljegyzesId; var oldDicseret = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.Dicseret); mulasztasItem.TanoraiDicseretId = oldDicseret?.FeljegyzesId; MulasztasList.Add(mulasztasItem); } } } }