using System.Collections.Generic; using Kreta.BusinessLogic.Logic; using Kreta.BusinessLogic.Logic.Feljegyzes; using Kreta.Core.ConnectionType; using Kreta.Core.Enum; using Kreta.Core.Exceptions; using Kreta.Core.Logic; using Kreta.DataAccessManual.Util; using Kreta.Ellenorzo.BL.VN.Logic; using Kreta.Ellenorzo.Dao.VN.Feljegyzes; using Kreta.Ellenorzo.Domain.VN.Adatszotar; using Kreta.Ellenorzo.Domain.VN.Common; using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar; using Kreta.Ellenorzo.Domain.VN.Feljegyzes; using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport; using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier; using Kreta.Enums; namespace Kreta.Ellenorzo.BL.VN.Feljegyzes { internal static class FeljegyzesSubqueries { internal static HashSet ListFeljegyzes(DefaultConnectionParameters dcp, FeljegyzesListRequest request) { new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid(); var response = new HashSet(new FeljegyzesListResponse()); var tanuloFeljegyzesei = dcp.DalHandler.Feljegyzes().GetTanuloFeljegyzesei(dcp.TanuloId, request.DatumTol, request.DatumIg, request.Uid?.Id).Tables[0]; new FeljegyzesLogic(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).RemoveHiddenRowsFromFeljegyzesDataSet(tanuloFeljegyzesei, "Tipus", dcp.TanuloId); var feljegyzesekDv = tanuloFeljegyzesei.DefaultView; feljegyzesekDv.Sort = "Datum DESC"; tanuloFeljegyzesei = feljegyzesekDv.ToTable(); foreach (var item in tanuloFeljegyzesei.ToDaoList()) { var feljegyzes = new FeljegyzesListResponse { Uid = new FeljegyzesUid(item.Id), Tipus = new Adatszotar(item.TipusId, item.TipusNev), Cim = item.Cim, Tartalom = RichTextLogic.RemoveHtmlForMobile(item.Tartalom), Tanar = new TanarSimplifiedResponse { Nev = item.TanarNev }, Datum = item.Datum, KeszitesDatuma = item.KeszitesDatuma, OsztalyCsoport = item.OsztalyCsoportId.HasValue ? new OsztalyCsoportSimplifiedResponse { Uid = new OsztalyCsoportUid(item.OsztalyCsoportId.Value) } : null }; if (!response.Add(feljegyzes)) { throw new BlException(BlExceptionType.DuplikaltKulcs); } } return RequestFilterLogic.CreateUidFilteredListResponse, FeljegyzesListRequest, FeljegyzesUid>(response, request); } } }