kreta/Kreta.BusinessLogic/Helpers/AlkalmazottMunkaugyiAdatokHelper.cs
2024-03-13 00:33:46 +01:00

65 lines
3.2 KiB
C#

using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.DataAccessManual;
using Kreta.Resources;
namespace Kreta.BusinessLogic.Helpers
{
public class AlkalmazottMunkaugyiAdatokHelper : LogicBase
{
public AlkalmazottMunkaugyiAdatokHelper(IConnectionType connectionType) : base(connectionType) { }
public List<AlkalmazottMunkaugyiAdatokCo> GetAlkalmazottMunkaugyiAdatokCoList()
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.AlkalmazottMunkaugyiAdatokDal().GetAlkalmazottMunkaugyiAdatokData(TanevId));
var result = new List<AlkalmazottMunkaugyiAdatokCo>();
foreach (DataRow dataRow in dataSet.Tables[0].AsEnumerable())
{
var item = new AlkalmazottMunkaugyiAdatokCo(dataRow);
result.Add(item);
}
return result;
}
public List<SelectListItem> GetAlkalmazottByVezetoiOraszamOk(bool intoDokument = false, string selectedValuePart = null, int nyomtatvanyNyelvEnum = 0, bool isNemzetisegiDokumentum = false)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.AlkalmazottMunkaugyiAdatokDal();
var ds = dal.GetAlkalmazottByVezetoiOraszamOk(TanevId, nyomtatvanyNyelvEnum);
Dictionary<string, string> items;
if (!intoDokument)
{
items = ds.Tables[0].AsEnumerable().ToDictionary(row => row.Field<long>("Id").ToString(), row => row.Field<string>("Nev") + " - " + row.Field<string>("VezetoiOraszamOk") + ((row.Field<int>("IsIntezmenyAdat") == 1) ? NyomtatvanyokResource.IntezmenyiAdatokbol : ""));
}
else
{
items = !isNemzetisegiDokumentum ?
ds.Tables[0].AsEnumerable().ToDictionary(row => row.Field<long>("Id").ToString(), row => row.Field<string>("Nev") + " - " + row.Field<string>("VezetoiOraszamOk")) :
ds.Tables[0].AsEnumerable().ToDictionary(row => row.Field<long>("Id").ToString(), row => $"{row.Field<string>("Nev")}({row.Field<string>("NevIdegenNyelven")}) - {row.Field<string>("VezetoiOraszamOk")}({row.Field<string>("VezetoiOraszamOkIdegenNyelven")})");
}
return items.ToSelectItemList(null, (intoDokument) ? null : selectedValuePart);
});
}
public bool HasAlkalmazottAlkalmazottMunkaKorTipus()
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var alkalmazott = h.Alkalmazott().Get(FelhasznaloId);
return alkalmazott.MunkaugyiAdatok.Any(x => !x.Torolt && Constants.FeltarAlkalmazottEszkozigenylesMunkakorTipusList.Contains(x.MunkakorTipusa.Value))
|| alkalmazott.TovabbiMunkaugyiAdatok.Any(x => !x.Torolt && Constants.FeltarAlkalmazottEszkozigenylesMunkakorTipusList.Contains(x.MunkakorTipusa.Value));
});
}
}
}