using System.Collections.Generic; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Logic; using Kreta.Core.ConnectionType; using Kreta.Core.Logic; using Kreta.DataAccessManual.Util; using Kreta.Ellenorzo.BL.VN.Adatszotar; using Kreta.Ellenorzo.BL.VN.Logic; using Kreta.Ellenorzo.Dao.VN.HaziFeladat; 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.HaziFeladat; using Kreta.Ellenorzo.Domain.VN.HaziFeladat.Csatolmany; using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport; using Kreta.Ellenorzo.Domain.VN.Tantargy; using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier; using Kreta.Ellenorzo.Enums.VN; using Kreta.Enums; namespace Kreta.Ellenorzo.BL.VN.HaziFeladat { internal static class HaziFeladatSubqueries { internal static HaziFeladatDetailResponse GetHaziFeladat(DefaultConnectionParameters dcp, HaziFeladatGetRequest request) { var haziFeladat = new DktFeladatHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.TanuloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetTanarHaziFeladatDetail(request.Uid.Id); //felesleges html tagek kitörlése kódból- KRETA2-4145 //TODO: felesleges lesz ha ha már db-ben se lesznek már ilyenek benne haziFeladat.Szoveg = RichTextLogic.RemoveSpecificHtmlTags(haziFeladat.Szoveg, RichTextLogic.RemovableHtmlTags); var targyKategoriaTipusById = AdatszotarSubqueries.GetTipusByIdDictionary((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus, dcp.TanevId); var response = new HaziFeladatDetailResponse { Uid = new HaziFeladatUid(haziFeladat.Id.Value), OsztalyCsoport = new OsztalyCsoportSimplifiedResponse { Uid = new OsztalyCsoportUid(haziFeladat.OsztalyCsoportId) }, Tantargy = new TantargyResponse(haziFeladat.TantargyId, haziFeladat.Tantargy, new Adatszotar(haziFeladat.TantargyKategoria, targyKategoriaTipusById[haziFeladat.TantargyKategoria].Name)), RogzitoTanar = new TanarSimplifiedResponse { Nev = haziFeladat.Rogzito }, IsTanarRogzitette = haziFeladat.IsTanarRogzitette, IsBeadhato = SDAConvert.ToBoolean(haziFeladat.HfBeadandoTipusId), Szoveg = string.IsNullOrWhiteSpace(haziFeladat.Szoveg) ? null : haziFeladat.Szoveg, FeladasDatuma = haziFeladat.FeladasDatuma, HataridoDatuma = haziFeladat.Hatarido, RogzitesIdopontja = haziFeladat.RogzitesIdopontja, Csatolmanyok = haziFeladat.Csatolmanyok.Select(x => new CsatolmanySimplifiedResponse { Uid = new HaziFeladatCsatolmanyUid(x.Key, CsatolmanyTipus.Csatolmany), Nev = x.Value }).ToList(), IsCsatolasEngedelyezes = SDAConvert.ToBoolean(haziFeladat.CsatolasEngedelyezesTipusId) }; return RequestFilterLogic.CreateUidFilteredResponse(response, request); } internal static HashSet ListHaziFeladat(DefaultConnectionParameters dcp, HaziFeladatListRequest request) { new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid(); var response = new HashSet(new HaziFeladatListResponse()); var helper = new DktFeladatHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.TanuloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)); var tanuloHaziFeladatai = helper.GetTanuloHaziFeladat( new TanuloHaziFeladatSearchCO { HaziFeladatHataridoKezdoDatum = request.DatumTol, HaziFeladatHatairdo = request.DatumIg }, null, true, true).ToDaoList(); var targyKategoriaTipusById = AdatszotarSubqueries.GetTipusByIdDictionary((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus, dcp.TanevId); foreach (var item in tanuloHaziFeladatai) { //felesleges html tagek kitörlése kódból- KRETA2-4145 //TODO: felesleges lesz ha ha már db-ben se lesznek már ilyenek benne item.Szoveg = RichTextLogic.RemoveSpecificHtmlTags(item.Szoveg, RichTextLogic.RemovableHtmlTags); _ = response.Add(new HaziFeladatListResponse { Uid = new HaziFeladatUid(item.Id), Tantargy = new TantargyResponse(item.TantargyId, item.TantargyNev, new Adatszotar(item.TargyKategoria, targyKategoriaTipusById[item.TargyKategoria].Name)), RogzitoTanar = new TanarSimplifiedResponse { Nev = string.IsNullOrWhiteSpace(item.RogzitoTanarNev) ? string.Empty : item.RogzitoTanarNev }, //KRETA2-5671 miatt fix IsTanarRogzitette = item.IsTanarRogzitette, IsBeadhato = SDAConvert.ToBoolean(item.HfBeadandoTipusId), Szoveg = string.IsNullOrWhiteSpace(item.Szoveg) ? null : item.Szoveg, FeladasDatuma = item.FeladasDatuma ?? item.RogzitesIdopontja, HataridoDatuma = item.HataridoDatuma, RogzitesIdopontja = item.RogzitesIdopontja, OsztalyCsoport = new OsztalyCsoportSimplifiedResponse { Uid = new OsztalyCsoportUid(item.OsztalyCsoportId) }, IsCsatolasEngedelyezes = SDAConvert.ToBoolean(item.HaziFeladatCsatolasEngedelyezesTipusId) }); } return response; } } }