This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,121 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using Kreta.BusinessLogic.Helpers;
using Kreta.Client.Tavollet;
using Kreta.Core.Configuratiaton;
using Kreta.Core.SAP.CommunicationModels.SzamfejtettTavolletek;
using Kreta.Enums;
using Kreta.Web.Areas.HRModul.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.HRModul.Logic
{
public class TavolletListaLogic
{
public TavolletListaSearchModel GetTavolletListaSearchModel()
{
var helper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
TavolletListaSearchModel model = new TavolletListaSearchModel()
{
SrcIsLeaderCall = helper.IsLeader(),
};
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCo = tanev.GetTanevInfo();
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
if (!ClaimData.IsDefaultAdminUser)
{
var kozpontiResult = client.GetTavolletAlkalmazottakAdatai(model.ConvertToTavolletAdatokRequestModel(tanevCo.Sorszam, ClaimData.FelhasznaloId));
if (kozpontiResult.IsSuccess && kozpontiResult.TavolletAdatokResultList != null && kozpontiResult.TavolletAdatokResultList.Count > 0)
{
model.SzTSzAzonosito = kozpontiResult.TavolletAdatokResultList[0].SzTSzAzonosito;
model.SzabadsagKeret = kozpontiResult.TavolletAdatokResultList[0].EvesKeret;
model.IgenybeVehetoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznalhatoKeret;
model.IgenybeVettTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznaltKeret;
model.FuggobenLevoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FuggoTavolletIgenyek;
model.UtolsoSzinkron = kozpontiResult.TavolletAdatokResultList[0].UtolsoSzinkron;
model.IsTavolletFoIntezmenye = kozpontiResult.TavolletAdatokResultList[0].IsTavolletFoIntezmenye;
}
}
else
{
model.IsTavolletFoIntezmenye = true;
}
if ((ClaimData.FelhasznaloSzerepkor == Enums.SzerepkorTipusEnum.Adminisztrator) || helper.IsHrKezelo())
model.SrcIsAdminCall = true;
if (!model.SrcIsLeaderCall && !model.SrcIsAdminCall)
{
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
model.AlkalmazottFilterId = ClaimData.FelhasznaloId;
}
model.MinimumSrcIdoszakKezdet = model.MinimumSrcIdoszakVeg = helper.GetMinimumNaptariEv(ClaimData.IsAdministrator);
model.SrcNaptariEv = new int[] { DateTime.Now.Year };
return model;
}
public (IntezmenyiTavolletBefogadottResponseModel, List<string>) GetTavolletBefogadottLista(TavolletListaSearchModel model, HRModulHelper helper, AlkalmazottHelper alkalmazottHelper)
{
IntezmenyiTavolletBefogadottResponseModel kozpontiResult = null;
List<string> sztszAzonositok = null;
var isLeader = helper.IsLeader();
if (!isLeader && ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator && !helper.IsHrKezelo())
{
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
}
else
{
if (model.SrcAlkalmazott == null || model.SrcAlkalmazott.Length < 1)
{
model.SrcAlkalmazott = alkalmazottHelper.GetAlkalmazottIds(null).ToArray();
}
else
{
model.SrcAlkalmazott = model.SrcAlkalmazott.Intersect(alkalmazottHelper.GetAlkalmazottIds(null)).ToArray();
}
}
if (model.SrcAlkalmazott.Length > 0)
{
var alkalmazottByAlkalmazottId = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(model.SrcAlkalmazott.ToList());
sztszAzonositok = alkalmazottByAlkalmazottId.Values.Where(x => !string.IsNullOrWhiteSpace(x.AlkalmazottSzTSz)).Select(x => x.AlkalmazottSzTSz).Distinct().ToList();
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
var requestModel = new IntezmenyiTavolletBefogadottRequestModel
{
SzTSzAzonositok = sztszAzonositok,
TavolletRogzitesEvek = (model.SrcNaptariEv != null && model.SrcNaptariEv.Length > 0) ? model.SrcNaptariEv.ToList() : new List<int> { DateTime.Now.Year },
TavolletKezdete = model.SrcIdoszakKezdet,
TavolletVege = model.SrcIdoszakVeg,
TavolletTipusId = model.SrcTipus
};
if (!isLeader && ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator && !helper.IsHrKezelo())
{
kozpontiResult = client.GetAlkalmazottakTavolletAdatok(requestModel);
}
else
{
kozpontiResult = client.GetVezetokTavolletAdatok(requestModel);
}
}
return (kozpontiResult, sztszAzonositok);
}
}
}

View file

@ -0,0 +1,835 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Configuration;
using System.Data;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Client.Tavollet;
using Kreta.Core.Configuratiaton;
using Kreta.Core.SAP.CommunicationModels;
using Kreta.Core.SAP.Enums;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.HRModul.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.HRModul.Logic
{
public class TavolletjelentoLogic
{
public TavolletjelentoSearchModel GetNewTavolletjelentoSearchModel(bool isKezeles)
{
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
TavolletjelentoSearchModel model = new TavolletjelentoSearchModel()
{
SrcIsLeaderCall = isKezeles && helper.IsLeader(),
SrcToroltekMegjelenitese = IgenNemEnum.Igen.AsInt(),
SrcKezeles = isKezeles,
};
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCo = tanev.GetTanevInfo();
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
if (!ClaimData.IsDefaultAdminUser)
{
var kozpontiResult = client.GetTavolletAlkalmazottakAdatai(model.ConvertToTavolletAdatokRequestModel(tanevCo.Sorszam, ClaimData.FelhasznaloId));
if (kozpontiResult.IsSuccess && kozpontiResult.TavolletAdatokResultList != null && kozpontiResult.TavolletAdatokResultList.Count > 0)
{
model.SzTSzAzonosito = kozpontiResult.TavolletAdatokResultList[0].SzTSzAzonosito;
model.SzabadsagKeret = kozpontiResult.TavolletAdatokResultList[0].EvesKeret;
model.IgenybeVehetoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznalhatoKeret;
model.IgenybeVettTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznaltKeret;
model.FuggobenLevoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FuggoTavolletIgenyek;
model.UtolsoSzinkron = kozpontiResult.TavolletAdatokResultList[0].UtolsoSzinkron;
model.IsTavolletFoIntezmenye = kozpontiResult.TavolletAdatokResultList[0].IsTavolletFoIntezmenye;
}
}
else
{
model.IsTavolletFoIntezmenye = true;
}
var tavolletJogosultSzerepkor = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Tavollet_Jogosult_Szerepkor);
if (ClaimData.IsAdministrator || helper.IsLeader()
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.alkalmazott && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Alkalmazott))
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Pedagogus))
|| helper.IsHrKezelo()
&& model.IsTavolletFoIntezmenye)
{
model.SrcTavolletRogzitheto = true;
model.SrcFoIntezmenyeE = 1;
}
if ((ClaimData.FelhasznaloSzerepkor == Enums.SzerepkorTipusEnum.Adminisztrator)
|| (helper.IsHrKezelo()))
model.SrcIsAdminCall = true;
if (!isKezeles)
{
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
model.AlkalmazottFilterId = ClaimData.FelhasznaloId;
}
model.MinimumSrcIdoszakKezdet = model.MinimumSrcIdoszakVeg = helper.GetMinimumNaptariEv(ClaimData.IsAdministrator);
model.SrcNaptariEv = new int[] { DateTime.Now.Year };
return model;
}
public TavolletjelentoModel GetNewTavolletjelentoModel(bool isKezeles)
{
var now = DateTime.Now;
var model = new TavolletjelentoModel
{
TavolletKezdet = now.StartOfWeek(DayOfWeek.Monday),
TavolletVeg = now.StartOfWeek(DayOfWeek.Monday).AddDays(5),
ViewType = TavolletjelentoViewTypeEnum.New,
//
MinKezdet = now.Day < 6
? new DateTime(now.AddMonths(-1).Year, now.AddMonths(-1).Month, 1)
: new DateTime(now.Year, now.Month, 1),
Muvelet = WorkflowMuveletEnum.UjRogzites,
IsKezeles = isKezeles,
};
var helper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
model.IsLeaderCall = helper.IsLeader();
model.TavolletIdotartamNap = helper.GetTavolletIdotartam(model.TavolletKezdet.Value, model.TavolletVeg.Value);
var attribute = (StringLengthAttribute)typeof(TavolletjelentoModel).GetProperty(nameof(model.Megjegyzes)).GetCustomAttributes(typeof(StringLengthAttribute), false).First();
model.MegjegyzesMezoMaxHossza = attribute.MaximumLength;
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator)
|| helper.IsHrKezelo())
model.IsAdminCall = true;
if (!isKezeles)
{
model.AlkalmazottList = new string[] { string.Format("{0}", ClaimData.FelhasznaloId) };
model.AlkalmazottFilterId = ClaimData.FelhasznaloId;
}
return model;
}
public TavolletjelentoModel GetModifyTavolletjelentoModel(int id, WorkflowMuveletEnum muvelet = WorkflowMuveletEnum.CsakModositas)
{
var helper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
//var model = ConvertCoToModel(helper.GetTavolletCO(id));
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
var alkalmazottak = new List<TavolletAlkalmazottData>();
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = id
});
var kozpontiResult = client.GetTavollet(new TavolletjelentoCRUDRequestModel { AlkalmazottList = alkalmazottak });
var co = new TavolletjelentoCO()
{
ID = kozpontiResult.TavolletJelentoId,
TavolletOka = kozpontiResult.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(ClaimData.SelectedTanevID.Value),
TavolletOkaId = kozpontiResult.TavolletTipusId,
AlkalmazottNeve = kozpontiResult.AlkalmazottNev,
TavolletKezdet = kozpontiResult.TavolletKezdete,
TavolletVeg = kozpontiResult.TavolletVege,
TavolletIdotartamNap = kozpontiResult.TavolletIdotartamaNap,
StatuszId = kozpontiResult.TavolletStatuszId,
StatuszNeve = kozpontiResult.TavolletStatuszId.GetDisplayName<TavolletStatuszEnum>(ClaimData.SelectedTanevID.Value),
RogzitoNeve = kozpontiResult.RogzitoNev,
MegjegyzesekList = kozpontiResult.MegjegyzesekList,
//Dokumentum = kozpontiResult.DokumentumokList,
AlkalmazottId = ClaimData.IntezmenyAzonosito == kozpontiResult.RogzitoIntezmenyAzonosito
? alkalmazottHelper.GetAlkalmazottIdByGUID(kozpontiResult.AlkalmazottGuid.ToString())
: default
};
var model = ConvertCoToModel(co);
model.IsNemRogzitoIntezmeny = ClaimData.IntezmenyAzonosito != kozpontiResult.RogzitoIntezmenyAzonosito;
model.OsszefuzottMegjegyzesek = new List<TavolletjelentoMegjegyzesItem>();
foreach (var megjegyzes in kozpontiResult.MegjegyzesekList)
{
var megjegyzesLine = string.Format("{0} ({1}) - {2}", megjegyzes.RogzitesIdopontja.ToString("yyyy.MM.dd HH:mm:ss"), megjegyzes.RogzitoNev, megjegyzes.Megjegyzes);
model.OsszefuzottMegjegyzesek.Add(new TavolletjelentoMegjegyzesItem(megjegyzesLine, (megjegyzes.MegjegyzesTipus == MegjegyzesTipusok.Hianypotlas ? "hp" : "")));
}
var attribute = (StringLengthAttribute)typeof(TavolletjelentoModel).GetProperty(nameof(model.MegjegyzesMezo)).GetCustomAttributes(typeof(StringLengthAttribute), false).First();
model.MegjegyzesMezoMaxHossza = attribute.MaximumLength;
model.ViewType = TavolletjelentoViewTypeEnum.Modify;
model.IsHianypotlas = model.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve || model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve;
model.IsLeaderCall = helper.IsLeader();
model.Muvelet = muvelet;
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator)
|| helper.IsHrKezelo())
model.IsAdminCall = true;
return model;
}
public TavolletjelentoTobbesModel GetTobbesModifyTavolletjelentoModel(List<int> ids)
{
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
var alkalmazottak = new List<TavolletAlkalmazottData>();
var alkalmazottIds = new List<int>();
var alkalmazottNevek = new List<string>();
var tavolletekDict = new Dictionary<int, AlkalmazottAdat>();
foreach (var id in ids)
{
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = id
});
}
var kozpontiResult = client.GetTavolletDetailList(new TavolletjelentoCRUDRequestModel { AlkalmazottList = alkalmazottak });
foreach (var alkalmazott in kozpontiResult.TavolletjelentoResultList)
{
alkalmazottIds.Add(alkalmazottHelper.GetAlkalmazottIdByGUID(alkalmazott.AlkalmazottGuid.ToString()));
alkalmazottNevek.Add(alkalmazott.AlkalmazottNev);
tavolletekDict.Add(alkalmazott.TavolletJelentoId, new AlkalmazottAdat { AlkalmazottSzTSz = alkalmazott.AlkalmazottSzTSz, RogzitoFunkcioTerulet = alkalmazott.RogzitoFunkcioTerulet });
}
var model = new TavolletjelentoTobbesModel();
var idArrayString = string.Join(",", ids);
model.TavolletIDArrayString = idArrayString;
model.TavolletAlkalmazottIdArrayString = string.Join(",", alkalmazottIds.Distinct());
model.TavolletAlkalmazottNevArray = string.Join(", ", alkalmazottNevek.Distinct());
model.TavolletekDictionary = tavolletekDict;
var firstTipusId = kozpontiResult.TavolletjelentoResultList.FirstOrDefault()?.TavolletTipusId;
var firstTavolletKezdete = kozpontiResult.TavolletjelentoResultList.FirstOrDefault()?.TavolletKezdete;
var firstTavolletVege = kozpontiResult.TavolletjelentoResultList.FirstOrDefault()?.TavolletVege;
model.ElteroSorok = kozpontiResult.TavolletjelentoResultList.Any(i => i.TavolletTipusId != firstTipusId) ||
kozpontiResult.TavolletjelentoResultList.Any(I => I.TavolletKezdete != firstTavolletKezdete) ||
kozpontiResult.TavolletjelentoResultList.Any(i => i.TavolletVege != firstTavolletVege);
model.FelhasznaloTobbszorKivalasztva =
kozpontiResult.TavolletjelentoResultList.Select(i => i.AlkalmazottGuid).Count() !=
kozpontiResult.TavolletjelentoResultList.Select(i => i.AlkalmazottGuid).Distinct().Count();
return model;
}
public TavolletjelentoCRUDRequestModel SaveOrUpdateTavollet(TavolletjelentoModel model, TavolletjelentoCO co)
{
//FIXME!!!4!!!!
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var HRModulHelper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var alkalmazottak = new List<TavolletAlkalmazottData>();
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCo = tanev.GetTanevInfo();
var aIds = model.AlkalmazottList.Select(int.Parse).Distinct().ToList();
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(aIds);
if (model.AlkalmazottList.Length > 0 && model.Muvelet != WorkflowMuveletEnum.CsakModositas)
{
if (model.Muvelet != WorkflowMuveletEnum.Elutasitas)
{
foreach (var id in aIds)
{
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = model.ID ?? default,
RogzitoFunkcioTerulet = aa[id].FunkcioTerulet,
AlkalmazottSzTSz = aa[id].AlkalmazottSzTSz,
AlkalmazottGuid = aa[id].AlkalmazottGuid,
AlkalmazottNev = aa[id].AlkalmazottNev,
});
}
}
else
{
foreach (var alkalmazott in model.AlkalmazottList)
{
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = model.ID ?? default,
});
}
}
}
else
{
if (model.AlkalmazottList.Length > 0 && !model.ID.HasValue)
{
//foreach (var alkalmazott in model.AlkalmazottList)
//{
// alkalmazottak.Add(new TavolletAlkalmazottData
// {
// TavolletJelentoId = default
// });
//}
}
else
{
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = model.ID.Value,
RogzitoFunkcioTerulet = aa[aIds.First()].FunkcioTerulet,
AlkalmazottSzTSz = aa[aIds.First()].AlkalmazottSzTSz,
});
}
}
var request = new TavolletjelentoCRUDRequestModel();
request.AlkalmazottList = alkalmazottak;
if (co != null)
{/*
saveModel.Action = WorkflowMuveletek.Modosit;
saveModel.TavolletTipusId = tobbesModel.TavolletOka.Value;
saveModel.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
saveModel.TavolletKezdete = tobbesModel.TavolletKezdet.Value.ToLocalTime();
saveModel.TavolletVege = tobbesModel.TavolletVeg.Value.ToLocalTime();
saveModel.TavolletIdotartamaNap = tobbesModel.TavolletIdotartamNap ?? default;
saveModel.Megjegyzes = tobbesModel.Megjegyzes;
saveModel.RogzitoNev = ClaimData.FelhasznaloNev;
saveModel.RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId));
saveModel.RogzitoIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
*/
request.KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
request.KretaIntezmenyId = ClaimData.IntezmenyId;
request.TanevId = tanevCo.Sorszam;
//request.FunkcioTerulet = felhasznaloHelper.GetFunkcioTeruletSAPKod(ClaimData.FelhasznaloId);
request.RogzitoIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
request.RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId));
request.RogzitoNev = ClaimData.FelhasznaloNev;// alkalmazottHelper.GetAlkalmazottNevById(ClaimData.FelhasznaloId); //ClaimData.FelhasznaloNev
request.TavolletNaptariEv = DateTime.Now.Year; //TODO: ha következő évre rögzítünk, akkor az az év legyen?
request.TavolletKezdete = model.TavolletKezdet.HasValue ? model.TavolletKezdet.Value.ToLocalTime() : default; //TODO
request.TavolletVege = model.TavolletVeg.HasValue ? model.TavolletVeg.Value.ToLocalTime() : default; //TODO
request.TavolletIdotartamaNap = model.TavolletIdotartamNap.Value;
request.TavolletIdotartamaOra = 0;
request.TavolletTipusId = model.TavolletOka ?? default; //TODO
request.Megjegyzes = co.Megjegyzes;
request.IsMellekletTartozikHozza = model.FilesArray != null && model.FilesArray.Count > 0;
}
switch (model.Muvelet)
{
case WorkflowMuveletEnum.UjRogzites:
if (HRModulHelper.IsIntezmenyvezeto(ClaimData.FelhasznaloId))
{
request.TavolletStatuszId = (int)HRModulHelper.GetElfogadasStatuszByTipus((TavolletTipusEnum)co.TavolletOkaId);
}
else
{
request.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
}
request.Action = WorkflowMuveletek.Letrehoz;
break;
case WorkflowMuveletEnum.CsakModositas:
if (model.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve || model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve)
{
request.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
}
else
{
request.TavolletStatuszId = model.StatuszId;
}
request.Action = WorkflowMuveletek.Modosit;
break;
case WorkflowMuveletEnum.Hianypotlas:
request.TavolletStatuszId = (int)TavolletStatuszEnum.HianypotlasraVisszakuldve;
request.Action = WorkflowMuveletek.Hianypotlas;
break;
case WorkflowMuveletEnum.Elutasitas:
request.TavolletStatuszId = (int)TavolletStatuszEnum.Elutasitva;
request.Action = WorkflowMuveletek.Elutasit;
break;
}
return request;
}
public TavolletjelentoCRUDRequestModel ElfogadTavollet(TavolletjelentoModel model, TavolletjelentoCO co)
{
var alkalmazottak = new List<TavolletAlkalmazottData>();
if (model.AlkalmazottList.Length > 0)
{
foreach (var alkalmazott in model.AlkalmazottList)
{
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = int.Parse(alkalmazott),
});
}
}
var request = new TavolletjelentoCRUDRequestModel();
request.AlkalmazottList = alkalmazottak;
request.TavolletTipusId = model.TavolletOka ?? 0;
request.Action = WorkflowMuveletek.Modosit;
request.TavolletKezdete = model.TavolletKezdet.HasValue ? model.TavolletKezdet.Value.ToLocalTime() : default;
request.TavolletVege = model.TavolletVeg.HasValue ? model.TavolletVeg.Value.ToLocalTime() : default;
request.TavolletStatuszId = model.StatuszId;
return request;
}
public TavolletjelentoCRUDRequestModel DeleteTavollet(TavolletjelentoDeleteModel model)
{
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
//var megjegyzes = CreateTimestampedComment(model.Note);
//if (!string.IsNullOrWhiteSpace(megjegyzes))
//{
// megjegyzes += string.IsNullOrWhiteSpace(megjegyzes) ? megjegyzes : "\n" + megjegyzes;
//}
var alkalmazottak = new List<TavolletAlkalmazottData>();
alkalmazottak.Add(new TavolletAlkalmazottData
{
TavolletJelentoId = model.Id
});
var request = new TavolletjelentoCRUDRequestModel
{
AlkalmazottList = alkalmazottak,
Megjegyzes = model.Note,
Action = WorkflowMuveletek.Torol,
RogzitoNev = alkalmazottHelper.GetAlkalmazottNevById(ClaimData.FelhasznaloId),
RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId))
};
return request;
}
public void CustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ModelState, TavolletjelentoModel model)
{
if (model.AlkalmazottList.Length > 0)
{
var alkalmazottakSzTSzAzonositoNelkul = new List<string>();
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
foreach (var alkalmazott in model.AlkalmazottList)
{
if (!HasSZTSZKOD(Convert.ToInt32(alkalmazott)))
{
alkalmazottakSzTSzAzonositoNelkul.Add(alkalmazottHelper.GetAlkalmazottNevById(Convert.ToInt32(alkalmazott)));
}
}
if (alkalmazottakSzTSzAzonositoNelkul.Count > 0)
{
ModelState.AddModelError("NincsSzTSzAzonositoError",
string.Format(HRModulResource.NincsSzTSzAzonosito, string.Join(", ", alkalmazottakSzTSzAzonositoNelkul)));
}
}
if (model.AlkalmazottList.Length > 1 && model.FilesArray != null && model.FilesArray.Any())
{
ModelState.AddModelError("FilesArrayError", HRModulResource.WarnCsatolmanyNemRogzithetoTobbAlkalmazottnak);
}
if (!string.IsNullOrWhiteSpace(model.MegjegyzesMezo))
{
var attribute = (StringLengthAttribute)typeof(TavolletjelentoModel).GetProperty(nameof(model.Megjegyzes)).GetCustomAttributes(typeof(StringLengthAttribute), false).First();
if (model.MegjegyzesMezo.Length > attribute.MaximumLength)
{
ModelState.AddModelError("MegjegyzesMaxHossz", HRModulResource.MegjegyzesMax255Karakter);
}
}
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tavolletJogosultSzerepkor = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Tavollet_Jogosult_Szerepkor);
var error = true;
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.alkalmazott && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Alkalmazott))
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Pedagogus))
|| ClaimData.IsAdministrator || helper.IsLeader() || helper.IsHrKezelo())
{
error = false;
}
if (error)
{
ModelState.AddModelError("JogosultsagError", HRModulResource.NincsJogosultsagaTavolletetRogziteni);
}
else
{
if ((DateTime.Now.Hour >= 16 && model.TavolletKezdet.HasValue && model.TavolletKezdet.Value.Day - 1 == DateTime.Now.Day)
&& (!ClaimData.IsAdministrator || !helper.IsLeader()))
{
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.MaMarNemRogzithetTavolletetHolnapra);
}
}
if (!model.TavolletKezdet.HasValue)
{
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.TavolletKezdetKotelezo);
}
if (!model.TavolletVeg.HasValue)
{
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.TavolletVegKotelezo);
}
if (model.TavolletKezdet.Value > model.TavolletVeg.Value)
{
ModelState.AddModelError("DatumError", HRModulResource.KezdetNemLehetNagyobbAVegenel);
}
if (model.TavolletKezdet.Value < DateTime.Now &&
DateTime.Now.Day > 5 &&
model.TavolletKezdet.Value.Month < DateTime.Now.Month &&
model.TavolletKezdet.Value.Year == model.TavolletVeg.Value.Year)
{
ModelState.AddModelError("DatumError", HRModulResource.TavolletRogziteseNemLehetsegesAzAdottIdoszakban);
}
if (!model.TavolletOka.HasValue)
{
ModelState.AddModelError("TavolletOkaError", HRModulResource.TavolletOkaKotelezo);
}
if (model.AlkalmazottList.Length <= 0 && !model.ID.HasValue)
{
ModelState.AddModelError("AlkalmazottListError", HRModulResource.LegalabbEgyAlkalmazott);
}
}
public void CustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ModelState, TavolletjelentoTobbesModel model)
{
if (model.TavolletAlkalmazottIdArray.Length > 0)
{
var alkalmazottakSzTSzAzonositoNelkul = new List<string>();
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
foreach (var alkalmazott in model.TavolletAlkalmazottIdArray)
{
if (!HasSZTSZKOD(Convert.ToInt32(alkalmazott)))
{
alkalmazottakSzTSzAzonositoNelkul.Add(alkalmazottHelper.GetAlkalmazottNevById(Convert.ToInt32(alkalmazott)));
}
}
if (alkalmazottakSzTSzAzonositoNelkul.Count > 0)
{
ModelState.AddModelError("NincsSzTSzAzonositoError",
string.Format(HRModulResource.NincsSzTSzAzonosito, string.Join(", ", alkalmazottakSzTSzAzonositoNelkul)));
}
}
var HRModulHelper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tavolletJogosultSzerepkor = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Tavollet_Jogosult_Szerepkor);
var error = true;
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.alkalmazott && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Alkalmazott))
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Pedagogus))
|| ClaimData.IsAdministrator || HRModulHelper.IsLeader())
{
error = false;
}
if (error)
{
ModelState.AddModelError("JogosultsagError", HRModulResource.NincsJogosultsagaTavolletetRogziteni);
}
else
{
if ((DateTime.Now.Hour >= 16 && model.TavolletKezdet.HasValue && model.TavolletKezdet.Value.Day - 1 == DateTime.Now.Day)
&& (!ClaimData.IsAdministrator || !HRModulHelper.IsLeader()))
{
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.MaMarNemRogzithetTavolletetHolnapra);
}
}
if (model.TavolletKezdet.Value > model.TavolletVeg.Value)
{
ModelState.AddModelError("DatumError", HRModulResource.KezdetNemLehetNagyobbAVegenel);
}
if (model.TavolletAlkalmazottIdArray.Length <= 0)
{
ModelState.AddModelError("AlkalmazottListError", HRModulResource.LegalabbEgyAlkalmazott);
}
}
public TavolletjelentoModel ConvertCoToModel(TavolletjelentoCO co)
{
var model = new TavolletjelentoModel()
{
ID = co.ID ?? default(int),
AlkalmazottFilterId = co.AlkalmazottId,
StatuszId = co.StatuszId,
RogzitoId = co.RogzitoId,
TavolletOka = co.TavolletOkaId,
AlkalmazottList = co.AlkalmazottList,
AlkalmazottNeve = co.AlkalmazottNeve,
TavolletKezdet = co.TavolletKezdet,
TavolletVeg = co.TavolletVeg,
TavolletIdotartamNap = co.TavolletIdotartamNap,
StatuszNeve = co.StatuszNeve,
RogzitoNeve = co.RogzitoNeve,
Megjegyzes = co.Megjegyzes,
HianypotlasSzoveg = co.HianypotlasSzoveg,
KozpontiHianypotlasSzoveg = co.KozpontiHianypotlasSzoveg
};
return model;
}
/// <summary>
/// A model-ben az IsLeaderCall és az IsAdminCall frissítése szerveroldali értékkel!
/// </summary>
public TavolletjelentoModel UpdateModelAuthorizationData(TavolletjelentoModel model)
{
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.IsLeaderCall = helper.IsLeader();
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator)
|| helper.IsHrKezelo())
model.IsAdminCall = true;
return model;
}
public TavolletjelentoCO ConvertModelToCo(TavolletjelentoModel model)
{
var co = new TavolletjelentoCO()
{
ID = model.ID ?? default(int),
RogzitoId = ClaimData.FelhasznaloId,
StatuszId = model.StatuszId,
TavolletOkaId = model.TavolletOka.Value,
AlkalmazottList = model.AlkalmazottList,
TavolletKezdet = model.TavolletKezdet.Value,
TavolletVeg = model.TavolletVeg.Value,
TavolletIdotartamNap = model.TavolletIdotartamNap.Value,
Megjegyzes = model.MegjegyzesMezo,
};
if (model.Muvelet == WorkflowMuveletEnum.Hianypotlas &&
(model.StatuszId == (int)TavolletStatuszEnum.Fuggo || model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve) &&
(model.IsLeaderCall || model.IsAdminCall))
{
co.StatuszId = (int)TavolletStatuszEnum.HianypotlasraVisszakuldve;
}
if (model.Muvelet == WorkflowMuveletEnum.CsakModositas &&
((model.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve && (model.IsLeaderCall || model.IsAdminCall || model.AlkalmazottList.First() == ClaimData.FelhasznaloId.ToString() || model.RogzitoId == ClaimData.FelhasznaloId)) ||
model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve && model.IsLeaderCall))
{
co.StatuszId = (int)TavolletStatuszEnum.Fuggo;
}
if (model.FilesArray?.Count > 0)
{
co.FilesArray = new List<CsatolmanyCO>();
foreach (var item in model.FilesArray)
{
var index = item.ContentAsBase64EncodedString.IndexOf(',');
co.FilesArray.Add(new CsatolmanyCO() { Name = item.Name, ContentAsBase64EncodedString = item.ContentAsBase64EncodedString.Substring(index + 1) });
}
}
return co;
}
public void SendEmail(TavolletjelentoCO co, Guid? eredetiRogzitoGuid = null)
{
var dateString = " - " + co.TavolletKezdet.ToShortDateString();
if (co.TavolletKezdet.Date != co.TavolletVeg.Date)
dateString += " - " + co.TavolletVeg.ToShortDateString();
var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var hrHelper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var intezmenyVezetoData = alkHelper.GetAlkalmazottNeveEsEmailCime((int)EmailTipusEnum.Hivatalos,
new List<int> { (int)VezetoiOraszamokTipusEnum.Intezmenyvezeto, (int)VezetoiOraszamokTipusEnum.igazgato }, null);
if (intezmenyVezetoData.Tables[0].Rows.Count > 0)
{
var vezetoNev = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("Nev");
var vezetoEmailCim = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("EmailCim");
var vezetoEmailGuid = SDAConvert.ToNullableGuid(intezmenyVezetoData.Tables[0].Rows[0]["EmailGuid"]);
foreach (var item in co.AlkalmazottList)
{
var alkalmazottData = alkHelper.GetAlkalmazottNeveEsEmailCime((int)EmailTipusEnum.Hivatalos, null, int.Parse(item));
var alkalmazottNev = alkalmazottData.Tables[0].Rows[0].Field<string>("Nev");
var alkalmazottEmail = alkalmazottData.Tables[0].Rows[0].Field<string>("EmailCim");
var alkalmazottEmailGuid = SDAConvert.ToNullableGuid(alkalmazottData.Tables[0].Rows[0]["EmailGuid"]);
var tavolletOka = hrHelper.GetTavolletOkaDictionaryItemName(co.TavolletOkaId);
var helper = new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
if (co.StatuszId == 0 && string.IsNullOrWhiteSpace(co.HianypotlasSzoveg) && !string.IsNullOrWhiteSpace(vezetoEmailCim))
{
helper.EmailKuldes(
string.Format(EmailResource.TavolletIgenylesFeladasContent, vezetoNev, alkalmazottNev, tavolletOka, dateString),
EmailResource.TavolletIgenylesFeladasSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
}
else if (co.StatuszId == (int)TavolletStatuszEnum.Fuggo && string.IsNullOrWhiteSpace(co.HianypotlasSzoveg) && !string.IsNullOrWhiteSpace(vezetoEmailCim))
{
helper.EmailKuldes(
string.Format(EmailResource.TavolletIgenylesModositasContent, vezetoNev, alkalmazottNev, tavolletOka, dateString),
EmailResource.TavolletIgenylesModositasSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
}
else if (co.StatuszId == (int)TavolletStatuszEnum.Fuggo && !string.IsNullOrWhiteSpace(co.HianypotlasSzoveg) && !string.IsNullOrWhiteSpace(vezetoEmailCim))
{
helper.EmailKuldes(
string.Format(EmailResource.TavolletIgenylesHPUjraKuldesContent, vezetoNev, alkalmazottNev, tavolletOka, dateString, co.HianypotlasSzoveg),
EmailResource.TavolletIgenylesHPUjraKuldesSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
}
else if (co.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve)
{
if (!string.IsNullOrWhiteSpace(alkalmazottEmail))
{
helper.EmailKuldes(
string.Format(EmailResource.TavolletIgenylesHPKuldesContent, alkalmazottNev, alkalmazottNev, tavolletOka, dateString, co.HianypotlasSzoveg),
EmailResource.TavolletIgenylesHPKuldesSubject + dateString, alkalmazottEmail, alkalmazottEmailGuid);
}
if (!string.IsNullOrWhiteSpace(vezetoEmailCim) && (vezetoEmailCim != alkalmazottEmail))
{
helper.EmailKuldes(
string.Format(EmailResource.TavolletIgenylesHPKuldesContent, vezetoNev, alkalmazottNev, tavolletOka, dateString, co.HianypotlasSzoveg),
EmailResource.TavolletIgenylesHPKuldesSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
}
if (eredetiRogzitoGuid != null)
{
var rogzitoData = hrHelper.GetAlkalmazottEmailDataByGuid(eredetiRogzitoGuid.Value);
if (rogzitoData != null && !string.IsNullOrWhiteSpace(rogzitoData.EmailCim) && (rogzitoData.EmailCim != alkalmazottEmail) && (rogzitoData.EmailCim != vezetoEmailCim))
{
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesHPKuldesContent, rogzitoData.AlkalmazottNev, alkalmazottNev, tavolletOka, dateString), EmailResource.TavolletIgenylesHPKuldesSubject + dateString, rogzitoData.EmailCim, rogzitoData.EmailGuid);
}
}
}
}
}
}
public void SendEmail(TavolletAlkalmazottResponseData tavolletAlkalmazottData, int statuszId, Guid? rogzitoGuid = null)
{
var hrHelper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var helper = new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var emailData = hrHelper.GetAlkalmazottEmailDataByGuid(tavolletAlkalmazottData.AlkalmazottGuid);
var alkalmazottEmailCim = emailData?.EmailCim;
var alkalmazottEmailGuid = emailData?.EmailGuid;
var alkalmazottNeve = tavolletAlkalmazottData.AlkalmazottNev;
var tipus = tavolletAlkalmazottData.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(ClaimData.SelectedTanevID.Value);
var idoszak = string.Format("{0} - {1}", tavolletAlkalmazottData.TavolletKezdete.ToString("yyyy-MM-dd"), tavolletAlkalmazottData.TavolletVege.ToString("yyyy-MM-dd"));
List<int> elfogadasStatuszok = new List<int>
{
TavolletStatuszEnum.Elfogadva_atadva_tankeruletnek.AsInt(),
TavolletStatuszEnum.Engedelyezve_atadva_tankeruletnek.AsInt(),
TavolletStatuszEnum.Tudomasul_veve_atadva_tankeruletnek.AsInt()
};
if (elfogadasStatuszok.Contains(statuszId) && !string.IsNullOrWhiteSpace(alkalmazottEmailCim))
{
helper.EmailKuldes(string.Format(
@"Tisztelt {0}!
<br /><br />
A KRÉTA rendszerben az alábbi távollét igény került elfogadásra:
<br /><br />
Távollétet igénylő alkalmazott: {0}<br />
Távollét jogcíme: {1}<br />
Távollét időtartama: {2}
<br /><br />
", alkalmazottNeve, tipus, idoszak), "Elfogadott távollét igénylés - " + idoszak, alkalmazottEmailCim, alkalmazottEmailGuid);
}
else if (statuszId == (int)TavolletStatuszEnum.Elutasitva)
{
if (!string.IsNullOrWhiteSpace(alkalmazottEmailCim))
{
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesElutasitasContent, alkalmazottNeve, alkalmazottNeve, tipus, idoszak), string.Format(EmailResource.TavolletIgenylesElutasitasSubject, idoszak), alkalmazottEmailCim, alkalmazottEmailGuid);
}
var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var intezmenyVezetoData = alkHelper.GetAlkalmazottNeveEsEmailCime((int)EmailTipusEnum.Hivatalos,
new List<int> { (int)VezetoiOraszamokTipusEnum.Intezmenyvezeto, (int)VezetoiOraszamokTipusEnum.igazgato }, null);
string vezetoEmailCim = null;
if (intezmenyVezetoData.Tables[0].Rows.Count > 0)
{
var vezetoNev = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("Nev");
vezetoEmailCim = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("EmailCim");
var vezetoEmailGuid = SDAConvert.ToNullableGuid(intezmenyVezetoData.Tables[0].Rows[0]["EmailGuid"]);
if (!string.IsNullOrWhiteSpace(vezetoEmailCim) && (vezetoEmailCim != alkalmazottEmailCim))
{
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesElutasitasContent, vezetoNev, alkalmazottNeve, tipus, idoszak), string.Format(EmailResource.TavolletIgenylesElutasitasSubject, idoszak), vezetoEmailCim, vezetoEmailGuid);
}
}
if (rogzitoGuid != null)
{
var rogzitoData = hrHelper.GetAlkalmazottEmailDataByGuid(rogzitoGuid.Value);
if (rogzitoData != null && !string.IsNullOrWhiteSpace(rogzitoData.EmailCim) && (rogzitoData.EmailCim != alkalmazottEmailCim) && (rogzitoData.EmailCim != vezetoEmailCim))
{
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesElutasitasContent, rogzitoData.AlkalmazottNev, alkalmazottNeve, tipus, idoszak), string.Format(EmailResource.TavolletIgenylesElutasitasSubject, idoszak), rogzitoData.EmailCim, rogzitoData.EmailGuid);
}
}
}
}
public bool HasSZTSZKOD(int userId)
{
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasSZTSZKOD(userId);
}
public string GetSZTSZKOD(int felhasznaloId)
{
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSZTSZKOD(felhasznaloId);
}
public bool HasValidMunkaviszony(int userId)
{
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasValidMunkaviszony(userId);
}
public TavolletjelentoListaResponseModel GetTavolletjelentoLista(TavolletjelentoSearchModel model, HRModulHelper helper)
{
var isLeader = helper.IsLeader();
if (!model.SrcKezeles || (!isLeader && ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator && !helper.IsHrKezelo()))
{
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
}
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCo = tanev.GetTanevInfo();
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
return client.GetTavolletek(model.ConvertToTavolletjelentoListaRequestModel(tanevCo.Sorszam));
}
}
public class TavolletjelentoMegjegyzesItem
{
public string CommentContent { get; set; }
public string CommentTypeClass { get; set; }
public TavolletjelentoMegjegyzesItem(string megjegyzes, string type)
{
CommentContent = megjegyzes;
CommentTypeClass = type;
}
}
public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
{
int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7;
return dt.AddDays(-1 * diff).Date;
}
}
}