init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
121
KretaWeb/Areas/HRModul/Logic/TavolletListaLogic.cs
Normal file
121
KretaWeb/Areas/HRModul/Logic/TavolletListaLogic.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
835
KretaWeb/Areas/HRModul/Logic/TavolletjelentoLogic.cs
Normal file
835
KretaWeb/Areas/HRModul/Logic/TavolletjelentoLogic.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue