196 lines
9 KiB
C#
196 lines
9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.Core.SAP.CommunicationModels;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.HRModul.Models
|
|
{
|
|
public class TavolletSearchBaseModel
|
|
{
|
|
public bool SrcKezeles { get; set; }
|
|
public bool SrcIsAdminCall { get; set; }
|
|
public bool SrcIsLeaderCall { get; set; }
|
|
|
|
public int SzabadsagKeret { get; set; }
|
|
public string SzabadsagKeretDisplayValue => this.SzabadsagKeret <= 0 ? "-" : this.SzabadsagKeret.ToString();
|
|
public int IgenybeVehetoTavolletek { get; set; }
|
|
public string IgenybeVehetoTavolletekDisplayValue => this.IgenybeVehetoTavolletek <= 0 ? "-" : this.IgenybeVehetoTavolletek.ToString();
|
|
public int IgenybeVettTavolletek { get; set; }
|
|
public int FuggobenLevoTavolletek { get; set; }
|
|
public string SzTSzAzonosito { get; set; }
|
|
public string UtolsoSzinkronDisplayValue => UtolsoSzinkron.HasValue ? SDAFormat.GetShortDateFormat(UtolsoSzinkron.Value) : "-";
|
|
public DateTime? UtolsoSzinkron { get; set; }
|
|
public bool IsTavolletFoIntezmenye { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.TavolletOka), ResourceType = typeof(HRModulResource))]
|
|
public int? SrcTipus { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.AlkalmazottAk), ResourceType = typeof(HRModulResource))]
|
|
public int[] SrcAlkalmazott { get; set; }
|
|
public string[] SzTSzArray { get; set; }
|
|
|
|
public int? AlkalmazottFilterId { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.Statusz), ResourceType = typeof(HRModulResource))]
|
|
public int? SrcStatusz { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.TavolletRogzitesEve), ResourceType = typeof(HRModulResource))]
|
|
public int[] SrcNaptariEv { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.TavolletKezdet), ResourceType = typeof(HRModulResource))]
|
|
public DateTime? SrcIdoszakKezdet { get; set; }
|
|
|
|
public DateTime MinimumSrcIdoszakKezdet { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.TavolletVeg), ResourceType = typeof(HRModulResource))]
|
|
public DateTime? SrcIdoszakVeg { get; set; }
|
|
|
|
public DateTime MinimumSrcIdoszakVeg { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.RogzitesDatuma), ResourceType = typeof(HRModulResource))]
|
|
public DateTime? SrcRogzitesDatumaTol { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.RogzitesDatuma), ResourceType = typeof(HRModulResource))]
|
|
public DateTime? SrcRogzitesDatumaIg { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.MelleklettelRendelkezik), ResourceType = typeof(HRModulResource))]
|
|
public int? SrcMelleklettelRendelkezik { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.FoIntezmenyeE), ResourceType = typeof(HRModulResource))]
|
|
public int? SrcFoIntezmenyeE { get; set; }
|
|
|
|
[Display(Name = nameof(HRModulResource.ToroltekMegjelenitese), ResourceType = typeof(HRModulResource))]
|
|
public int? SrcToroltekMegjelenitese { get; set; }
|
|
|
|
internal TavolletSearchCo ConvertToCo()
|
|
{
|
|
return ConvertToCo(ClaimData.IntezmenyId, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
|
}
|
|
|
|
internal TavolletSearchCo ConvertToCo(int intezmenyId, string intezmenyAzonosito, int tanevId)
|
|
{
|
|
return new TavolletSearchCo()
|
|
{
|
|
NaptariEv = (SrcNaptariEv != null && SrcNaptariEv.Length > 0) ? SrcNaptariEv : new int[] { DateTime.Now.Year },
|
|
HivoAlkalmazottId = ClaimData.FelhasznaloId,
|
|
TanevId = tanevId,
|
|
IntezmenyId = intezmenyId,
|
|
IntezmenyAzonosito = intezmenyAzonosito,
|
|
TipusId = SrcTipus,
|
|
AlkalmazottIdArray = SrcAlkalmazott,
|
|
StatuszId = SrcStatusz,
|
|
TavolletKezdete = SrcIdoszakKezdet,
|
|
TavolletVege = SrcIdoszakVeg,
|
|
RogzitesDatumaTol = SrcRogzitesDatumaTol,
|
|
RogzitesDatumaIg = SrcRogzitesDatumaIg.HasValue ? SrcRogzitesDatumaIg.Value.Date.AddDays(1).AddSeconds(-1) : SrcRogzitesDatumaIg,
|
|
MelleklettelRendelkezik = (!SrcMelleklettelRendelkezik.HasValue ? (bool?)null : SrcMelleklettelRendelkezik.Value == (int)IgenNemEnum.Igen),
|
|
FoIntezmenyeE = (!SrcFoIntezmenyeE.HasValue ? (bool?)null : SrcFoIntezmenyeE.Value == (int)IgenNemEnum.Igen),
|
|
ToroltekMegjelenitese = SrcToroltekMegjelenitese.HasValue && SrcToroltekMegjelenitese.Value == (int)IgenNemEnum.Igen,
|
|
};
|
|
}
|
|
|
|
internal TavolletjelentoListaRequestModel ConvertToTavolletjelentoListaRequestModel(int tanevId)
|
|
{
|
|
if (SrcAlkalmazott?.Length > 0)
|
|
{
|
|
var aIds = SrcAlkalmazott.ToList();
|
|
|
|
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(aIds);
|
|
|
|
var szTSzArray = new List<string>();
|
|
|
|
foreach (var alkalmazott in aa)
|
|
{
|
|
var sztszKod = alkalmazott.Value.AlkalmazottSzTSz;
|
|
if (!string.IsNullOrWhiteSpace(sztszKod))
|
|
{
|
|
szTSzArray.Add(sztszKod);
|
|
}
|
|
}
|
|
|
|
SzTSzArray = szTSzArray.ToArray();
|
|
}
|
|
|
|
return new TavolletjelentoListaRequestModel
|
|
{
|
|
NaptariEv = ((SrcNaptariEv != null) && (SrcNaptariEv.Length > 0)) ? SrcNaptariEv : new int[] { DateTime.Now.Year },
|
|
HivoAlkalmazottId = ClaimData.FelhasznaloId,
|
|
TanevId = tanevId,
|
|
KretaIntezmenyId = ClaimData.IntezmenyId,
|
|
KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
|
TavolletTipusId = SrcTipus,
|
|
AlkalmazottIdArray = SrcAlkalmazott,
|
|
SzTSzArray = SzTSzArray,
|
|
TavolletStatuszId = SrcStatusz,
|
|
IdoszakKezdet = SrcIdoszakKezdet,
|
|
IdoszakVeg = SrcIdoszakVeg,
|
|
RogzitesDatumaTol = SrcRogzitesDatumaTol,
|
|
RogzitesDatumaIg = SrcRogzitesDatumaIg.HasValue ? SrcRogzitesDatumaIg.Value.Date.AddDays(1).AddSeconds(-1) : SrcRogzitesDatumaIg,
|
|
IsMelleklettelRendelkezik = (!SrcMelleklettelRendelkezik.HasValue ? (bool?)null : SrcMelleklettelRendelkezik.Value == (int)IgenNemEnum.Igen),
|
|
IsFoIntezmenyeE = SrcKezeles ? (SrcFoIntezmenyeE.HasValue ? SrcFoIntezmenyeE.Value == IgenNemEnum.Igen.AsInt() : (bool?)null) : IsTavolletFoIntezmenye,
|
|
IsToroltekMegjelenitese = SrcToroltekMegjelenitese.HasValue && SrcToroltekMegjelenitese.Value == (int)IgenNemEnum.Igen,
|
|
};
|
|
}
|
|
|
|
internal TavolletAdatokRequestModel ConvertToTavolletAdatokRequestModel(int tanevId, int? felhasznaloId = null)
|
|
{
|
|
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (!ClaimData.IsDefaultAdminUser && felhasznaloId.HasValue)
|
|
{
|
|
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(new List<int> { felhasznaloId.Value });
|
|
|
|
foreach (var alkalmazott in aa)
|
|
{
|
|
SzTSzArray = new string[] { alkalmazott.Value.AlkalmazottSzTSz };
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (SrcAlkalmazott?.Length > 0)
|
|
{
|
|
var aIds = SrcAlkalmazott.ToList();
|
|
|
|
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(aIds);
|
|
|
|
var szTSzArray = new List<string>();
|
|
|
|
foreach (var alkalmazott in aa)
|
|
{
|
|
var sztszKod = alkalmazott.Value.AlkalmazottSzTSz;
|
|
if (!string.IsNullOrWhiteSpace(sztszKod))
|
|
{
|
|
szTSzArray.Add(sztszKod);
|
|
}
|
|
}
|
|
|
|
SzTSzArray = szTSzArray.ToArray();
|
|
}
|
|
else
|
|
{
|
|
SzTSzArray = null;
|
|
}
|
|
}
|
|
|
|
return new TavolletAdatokRequestModel
|
|
{
|
|
NaptariEv = ((SrcNaptariEv != null) && (SrcNaptariEv.Length > 0)) ? SrcNaptariEv : new int[] { DateTime.Now.Year },
|
|
TanevId = tanevId,
|
|
KretaIntezmenyId = ClaimData.IntezmenyId,
|
|
KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
|
AlkalmazottIdArray = SrcAlkalmazott,
|
|
SzTSzArray = SzTSzArray,
|
|
IsFoIntezmeny = SrcFoIntezmenyeE.HasValue ? SrcFoIntezmenyeE.Value == IgenNemEnum.Igen.AsInt() : (bool?)null,
|
|
};
|
|
}
|
|
}
|
|
}
|