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 GetAlkalmazottMunkaugyiAdatokCoList() { DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.AlkalmazottMunkaugyiAdatokDal().GetAlkalmazottMunkaugyiAdatokData(TanevId)); var result = new List(); foreach (DataRow dataRow in dataSet.Tables[0].AsEnumerable()) { var item = new AlkalmazottMunkaugyiAdatokCo(dataRow); result.Add(item); } return result; } public List 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 items; if (!intoDokument) { items = ds.Tables[0].AsEnumerable().ToDictionary(row => row.Field("Id").ToString(), row => row.Field("Nev") + " - " + row.Field("VezetoiOraszamOk") + ((row.Field("IsIntezmenyAdat") == 1) ? NyomtatvanyokResource.IntezmenyiAdatokbol : "")); } else { items = !isNemzetisegiDokumentum ? ds.Tables[0].AsEnumerable().ToDictionary(row => row.Field("Id").ToString(), row => row.Field("Nev") + " - " + row.Field("VezetoiOraszamOk")) : ds.Tables[0].AsEnumerable().ToDictionary(row => row.Field("Id").ToString(), row => $"{row.Field("Nev")}({row.Field("NevIdegenNyelven")}) - {row.Field("VezetoiOraszamOk")}({row.Field("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)); }); } } }