104 lines
5.8 KiB
C#
104 lines
5.8 KiB
C#
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<TargyKategoriaTipusEnum>(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<HaziFeladatDetailResponse, HaziFeladatGetRequest, HaziFeladatUid>(response, request);
|
|
}
|
|
|
|
internal static HashSet<HaziFeladatListResponse> ListHaziFeladat(DefaultConnectionParameters dcp, HaziFeladatListRequest request)
|
|
{
|
|
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
|
|
|
|
var response = new HashSet<HaziFeladatListResponse>(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<HaziFeladatResponseDao>();
|
|
|
|
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<TargyKategoriaTipusEnum>(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;
|
|
}
|
|
}
|
|
}
|