107 lines
4.3 KiB
C#
107 lines
4.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Interfaces;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Core.KozpontiModels.UzletiTervezesModels;
|
|
using Kreta.Enums;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.GRModul.Models;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Helpers.Grid;
|
|
using Kreta.Web.Security;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Kreta.Web.Areas.GRModul.ApiControllers
|
|
{
|
|
[ApiRoleClaimsAuthorize(true)]
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.GazdasagiUgyintezo.ClaimValue)]
|
|
public class UzletiTervezesApiController : ApiController
|
|
{
|
|
private readonly IKozpontiKretaHelper KozpontiKretaHelper;
|
|
private readonly Dictionary<HonapokEnum, int> honapSorszamaByHonap = new Dictionary<HonapokEnum, int>
|
|
{
|
|
{ HonapokEnum.Januar, 1 },
|
|
{ HonapokEnum.Februar, 2 },
|
|
{ HonapokEnum.Marcius, 3 },
|
|
{ HonapokEnum.Aprilis, 4 },
|
|
{ HonapokEnum.Majus, 5 },
|
|
{ HonapokEnum.Junius, 6 },
|
|
{ HonapokEnum.Julius, 7 },
|
|
{ HonapokEnum.Augusztus, 8 },
|
|
{ HonapokEnum.Szeptember, 9 },
|
|
{ HonapokEnum.Oktober, 10 },
|
|
{ HonapokEnum.November, 11 },
|
|
{ HonapokEnum.December, 12 }
|
|
};
|
|
|
|
public UzletiTervezesApiController(IKozpontiKretaHelper kozpontiKretaHelper)
|
|
{
|
|
KozpontiKretaHelper = kozpontiKretaHelper ?? throw new ArgumentNullException(nameof(kozpontiKretaHelper));
|
|
}
|
|
|
|
public HttpResponseMessage GetUzletiTervek(string data)
|
|
{
|
|
var model = JsonConvert.DeserializeObject<UzletiTervSearchModel>(data);
|
|
TanevCO tanevCO;
|
|
TanevHelper tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
tanevCO = tanevHelper.GetTanevInfo();
|
|
|
|
DateTime idoszak = GetIdoszak(model.Honap, tanevCO.KezdoNap.Date.Year, tanevCO.UtolsoTanitasiNapVegzos.Date.Year);
|
|
|
|
var result = KozpontiKretaHelper.GetIntezmenyUzletiTerv(new UzletiTervezesIntezmenyRequestModel()
|
|
{ IntezmenyAzonosito = ClaimData.IntezmenyAzonosito, Idoszak = idoszak });
|
|
|
|
if (result == null)
|
|
{
|
|
throw new StatusError(Enums.ManualEnums.CustomHTTPStatusEnum.HibaMiattNincsMegjelenithetoAdat, GRModulResource.KozpontiSzerverNemElerheto);
|
|
}
|
|
|
|
return Request.CreateResponse(HttpStatusCode.OK, result.ToDataSourceResult(), Configuration.Formatters.JsonFormatter);
|
|
}
|
|
|
|
public HttpResponseMessage GetAlkalmazottTenyAdatok(string data)
|
|
{
|
|
var model = JsonConvert.DeserializeObject<UzletiTervSearchModel>(data);
|
|
TanevCO tanevCO;
|
|
TanevHelper tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
tanevCO = tanevHelper.GetTanevInfo();
|
|
|
|
DateTime idoszak = GetIdoszak(model.Honap, tanevCO.KezdoNap.Date.Year, tanevCO.UtolsoTanitasiNapVegzos.Date.Year);
|
|
|
|
var result = KozpontiKretaHelper.GetIntezmenyUzletiTervAlkalmazottaknak(new UzletiTervezesAlkalmazottRequestModel()
|
|
{ IntezmenyAzonosito = ClaimData.IntezmenyAzonosito, Idoszak = idoszak });
|
|
|
|
if (result == null)
|
|
{
|
|
throw new StatusError(Enums.ManualEnums.CustomHTTPStatusEnum.HibaMiattNincsMegjelenithetoAdat, GRModulResource.KozpontiSzerverNemElerheto);
|
|
}
|
|
|
|
return Request.CreateResponse(HttpStatusCode.OK, result.ToDataSourceResult(), Configuration.Formatters.JsonFormatter);
|
|
}
|
|
|
|
private DateTime GetIdoszak(HonapokEnum honap, int kezdoNapEv, int utolsoTanitasaNapEv)
|
|
{
|
|
DateTime idoszak;
|
|
switch (honap)
|
|
{
|
|
case HonapokEnum.Szeptember:
|
|
case HonapokEnum.Oktober:
|
|
case HonapokEnum.November:
|
|
case HonapokEnum.December:
|
|
idoszak = new DateTime(kezdoNapEv, honapSorszamaByHonap[honap], 1);
|
|
break;
|
|
default:
|
|
idoszak = new DateTime(utolsoTanitasaNapEv, honapSorszamaByHonap[honap], 1);
|
|
break;
|
|
}
|
|
|
|
return idoszak;
|
|
}
|
|
}
|
|
}
|