60 lines
2.8 KiB
C#
60 lines
2.8 KiB
C#
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<FeljegyzesListResponse> ListFeljegyzes(DefaultConnectionParameters dcp, FeljegyzesListRequest request)
|
|
{
|
|
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
|
|
|
|
var response = new HashSet<FeljegyzesListResponse>(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<FeljegyzesResponseDao>())
|
|
{
|
|
var feljegyzes = new FeljegyzesListResponse
|
|
{
|
|
Uid = new FeljegyzesUid(item.Id),
|
|
Tipus = new Adatszotar<EsemenyTipusEnum>(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<HashSet<FeljegyzesListResponse>, FeljegyzesListRequest, FeljegyzesUid>(response, request);
|
|
}
|
|
}
|
|
}
|