115 lines
5.2 KiB
C#
115 lines
5.2 KiB
C#
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Interfaces;
|
|
using Kreta.BusinessLogic.Logic;
|
|
using Kreta.BusinessLogic.Utils;
|
|
using Kreta.Client.CoreApi;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Enum;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.Naplo.BusinessLogic.V3.Logic;
|
|
using Kreta.Naplo.Domain.V3.Common;
|
|
using Kreta.Naplo.Domain.V3.Csatolmany;
|
|
using Kreta.Naplo.Domain.V3.HaziFeladat;
|
|
|
|
namespace Kreta.Naplo.BusinessLogic.V3.HaziFeladat
|
|
{
|
|
internal static class HaziFeladatSubqueries
|
|
{
|
|
internal static HaziFeladatResponse GetHaziFeladat(int id, DefaultConnectionParameters dcp)
|
|
{
|
|
var haziFeladat = new DktFeladatHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId)).GetTanarHaziFeladatDetail(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);
|
|
|
|
return new HaziFeladatResponse
|
|
{
|
|
Id = haziFeladat.Id.Value,
|
|
Szoveg = string.IsNullOrWhiteSpace(haziFeladat.Szoveg) ? null : haziFeladat.Szoveg,
|
|
HataridoDatuma = haziFeladat.Hatarido,
|
|
TantargyId = haziFeladat.TantargyId,
|
|
TantargyNev = haziFeladat.Tantargy,
|
|
Csatolmanyok = haziFeladat.Csatolmanyok.Select(x => new CsatolmanyResponse { Id = x.Key, Nev = x.Value }),
|
|
};
|
|
}
|
|
|
|
internal static int SaveHaziFeladat(HaziFeladatCreateRequest request, DefaultConnectionParameters dcp, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
|
{
|
|
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
|
|
|
|
var tanarHaziFeladatCo = new TanarHaziFeladatCO()
|
|
{
|
|
Szoveg = CommonUtils.CreateLinksInText(request.Szoveg),
|
|
Hatarido = request.BeadasiHatarido,
|
|
FeladasDatuma = request.OraDatum.Date,
|
|
Idopont = request.OraDatum,
|
|
Oraszam = request.Oraszam,
|
|
TantargyId = request.TantargyId,
|
|
OsztalyCsoportId = request.OsztalyCsoportId,
|
|
IsTanarRogzitette = true,
|
|
RogzitoId = dcp.FelhasznaloId,
|
|
IntezmenyId = dcp.IntezmenyId,
|
|
TanevId = dcp.TanevId
|
|
};
|
|
|
|
return new DktFeladatHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
|
|
.SaveOrUpdateTanarHaziFeladat(tanarHaziFeladatCo, dcp.DalHandler.TanarDal().GetTanarId(request.OraDatum, request.Oraszam, request.OsztalyCsoportId, request.TantargyId), fileServiceHelper, coreApiClient);
|
|
}
|
|
|
|
internal static void UpdateHaziFeladat(int id, HaziFeladatUpdateRequest request, DefaultConnectionParameters dcp, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
|
{
|
|
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
|
|
|
|
var tanarHaziFeladatCo = new TanarHaziFeladatCO()
|
|
{
|
|
Id = id,
|
|
Szoveg = CommonUtils.CreateLinksInText(request.Szoveg),
|
|
Hatarido = request.HataridoDatuma,
|
|
CsatolmanyId = request.CsatolmanyId,
|
|
IsTanarRogzitette = true,
|
|
RogzitoId = dcp.FelhasznaloId,
|
|
IntezmenyId = dcp.IntezmenyId,
|
|
TanevId = dcp.TanevId
|
|
};
|
|
|
|
new DktFeladatHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
|
|
.SaveOrUpdateTanarHaziFeladat(tanarHaziFeladatCo, dcp.FelhasznaloId, fileServiceHelper, coreApiClient);
|
|
}
|
|
|
|
internal static void DeleteHaziFeladat(int id, DefaultConnectionParameters dcp, ICoreApiClient coreApiClient)
|
|
{
|
|
var hazi = dcp.DalHandler.DKT_FeladatDal().Get(id);
|
|
|
|
if (hazi.Torolt)
|
|
{
|
|
throw new BlException(BlExceptionType.NemLetezoEntitas);
|
|
}
|
|
|
|
if (hazi.AlkalmazottId == dcp.FelhasznaloId || hazi.RogzitoAlkalmazottId == dcp.FelhasznaloId || hazi.HelyettesitoAlkalmazottId == dcp.FelhasznaloId)
|
|
{
|
|
new DktFeladatHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId)).DeleteHazi(id, coreApiClient);
|
|
}
|
|
|
|
else
|
|
{
|
|
throw new BlException(BlExceptionType.NincsJogosultsag);
|
|
}
|
|
}
|
|
|
|
internal static void HaziFeladatCsatolmanyTorles(int id, DefaultConnectionParameters dcp, IFileServiceHelper fileServiceHelper)
|
|
{
|
|
var dktFileHelper = new DktFileHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), fileServiceHelper);
|
|
if (!dktFileHelper.IsFelhasznaloToltotteFel(dcp.DalHandler, id))
|
|
{
|
|
throw new BlException(BlExceptionType.NincsJogosultsag);
|
|
}
|
|
|
|
dktFileHelper.DeleteCsatolmany(id, true);
|
|
}
|
|
}
|
|
}
|