546 lines
25 KiB
C#
546 lines
25 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Xml;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class HelyettesitesHelper : LogicBase
|
|
{
|
|
public HelyettesitesHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
// TODO: párja: OrarendHelper.FilterOutEventByTanevRendje !!
|
|
public DataSet GetTanarOrai(HelyettesitesekKereseseCo co)
|
|
{
|
|
HelyettesitesekKeresesePCO pco = Convert_CO_to_PCO(co);
|
|
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IHelyettesitesDAL dal = h.HelyettesitesDAL(GridParameters);
|
|
var ds = dal.GetTanarOrai(pco, IntezmenyId, TanevId);
|
|
|
|
var orarendevents = ds.Tables[0].AsEnumerable();
|
|
|
|
var engedelyezettEventList = new List<DataRow>();
|
|
var ocsTiltottEventList = new List<DataRow>();
|
|
var globalTiltottEventList = new List<DataRow>();
|
|
|
|
var orarendHelper = new OrarendHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var tanevRendHelper = new TanevrendHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var tanevrendek = tanevRendHelper.GetTanevrendekOsztalyCsoportokkal(co.HelyettesitesKezdete, co.HelyettesitesVege);
|
|
var tanevRendjeLists = tanevRendHelper.GetTanevRendjeLists(tanevrendek.Tables[0]);
|
|
|
|
foreach (var t in tanevRendjeLists.OcsEngedelyezes)
|
|
{
|
|
engedelyezettEventList.AddRange(orarendevents.Where(x => x.Field<DateTime>("HelyettesitettOraKezdete").Date == t.Item1 &&
|
|
x.Field<int>("HelyettesitettOsztalyId") == t.Item2));
|
|
}
|
|
|
|
foreach (var d in tanevRendjeLists.GlobalTiltas)
|
|
{
|
|
globalTiltottEventList.AddRange(orarendevents.Where(x => x.Field<DateTime>("HelyettesitettOraKezdete").Date == d));
|
|
}
|
|
|
|
foreach (var t in tanevRendjeLists.OcsTiltas)
|
|
{
|
|
ocsTiltottEventList.AddRange(orarendevents.Where(x => x.Field<DateTime>("HelyettesitettOraKezdete").Date == t.Item1 &&
|
|
x.Field<int>("HelyettesitettOsztalyId") == t.Item2));
|
|
}
|
|
|
|
var foglalkozasok_Rogzitese_Hetvegere = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<FoglalkozasokRogziteseHetvegere>(RendszerBeallitasTipusEnum.Foglalkozasok_Rogzitese_Hetvegere);
|
|
|
|
foreach (var item in orarendevents)
|
|
{
|
|
bool isErvenyesNap = false;
|
|
switch (foglalkozasok_Rogzitese_Hetvegere)
|
|
{
|
|
case FoglalkozasokRogziteseHetvegere.Engedelyezett:
|
|
isErvenyesNap = true;
|
|
break;
|
|
case FoglalkozasokRogziteseHetvegere.CsakSzombat:
|
|
isErvenyesNap = orarendHelper.IsHetkoznapWithSzombat(item.Field<DateTime>("HelyettesitettOraKezdete").Date);
|
|
break;
|
|
case FoglalkozasokRogziteseHetvegere.NemEngedelyezett:
|
|
default:
|
|
isErvenyesNap = orarendHelper.IsHetkoznap(item.Field<DateTime>("HelyettesitettOraKezdete").Date);
|
|
break;
|
|
}
|
|
|
|
if ((isErvenyesNap || tanevRendjeLists.GlobalEngedelyezes.Contains(item.Field<DateTime>("HelyettesitettOraKezdete").Date))
|
|
&& engedelyezettEventList.All(x => x.Field<Guid>("ID") != item.Field<Guid>("ID"))
|
|
&& ocsTiltottEventList.All(x => x.Field<Guid>("ID") != item.Field<Guid>("ID"))
|
|
&& globalTiltottEventList.All(x => x.Field<Guid>("ID") != item.Field<Guid>("ID")))
|
|
{
|
|
engedelyezettEventList.Add(item);
|
|
}
|
|
}
|
|
|
|
var resultDs = ds.Clone();
|
|
foreach (var item in engedelyezettEventList)
|
|
{
|
|
resultDs.Tables[0].Rows.Add(item.ItemArray);
|
|
}
|
|
|
|
return resultDs;
|
|
});
|
|
}
|
|
|
|
public DataSet GetHelyettesitesekListajaGrid(HelyettesitesekListajaSearchCO co)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IHelyettesitesDAL dal = h.HelyettesitesDAL(GridParameters);
|
|
return dal.GetHelyettesitesekListajaGrid(co.ConvertToPCO(), TanevId);
|
|
});
|
|
}
|
|
|
|
public DataSet GetHelyettesitesekAjanlasa(LehetsegesHelyettesitoTanarokCO co)
|
|
{
|
|
LehetsegesHelyettesitoTanarokPCO pco = Convert_CO_to_PCO(co);
|
|
|
|
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IHelyettesitesDAL dal = h.HelyettesitesDAL(GridParameters);
|
|
return dal.GetHelyettesitesekAjanlasa(pco, TanevId, IntezmenyId);
|
|
});
|
|
|
|
dataSet.Tables[0].ChangeColumnDataType("ID", typeof(string));
|
|
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
string tanarId = SDAConvert.ToString(dataRow["TanarId"]);
|
|
dataRow["ID"] = tanarId;
|
|
string tantargyId = SDAConvert.ToString(dataRow["TantargyId"]);
|
|
if (!string.IsNullOrWhiteSpace(tantargyId))
|
|
{
|
|
dataRow["ID"] += $"_{tantargyId}";
|
|
}
|
|
string osztalyCsoportId = SDAConvert.ToString(dataRow["OsztalyCsoportId"]);
|
|
if (!string.IsNullOrWhiteSpace(osztalyCsoportId))
|
|
{
|
|
dataRow["ID"] += $"_{osztalyCsoportId}";
|
|
}
|
|
}
|
|
|
|
DataTable tanarDataTable = dataSet.Tables[0].Clone();
|
|
foreach (DataRow sourceDataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var listabanSzereploTanar = tanarDataTable.AsEnumerable().FirstOrDefault(x => x.Field<int>("TanarId").Equals(sourceDataRow["TanarId"]));
|
|
|
|
if (listabanSzereploTanar == null)
|
|
{
|
|
tanarDataTable.ImportRow(sourceDataRow);
|
|
}
|
|
else
|
|
{
|
|
listabanSzereploTanar["TantargyNev"] = $"{listabanSzereploTanar["TantargyNev"]}, {sourceDataRow["TantargyNev"]}";
|
|
listabanSzereploTanar["OsztalyCsoportNev"] = $"{listabanSzereploTanar["OsztalyCsoportNev"]}, {sourceDataRow["OsztalyCsoportNev"]}";
|
|
}
|
|
}
|
|
|
|
var tanarDataSet = new DataSet();
|
|
tanarDataSet.Tables.Add(tanarDataTable);
|
|
|
|
return tanarDataSet;
|
|
}
|
|
|
|
public bool IsOrarendiOraHelyettesitoTanar(int tanoraId, int tanarId, int hetSorszam)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OrarendiOra();
|
|
return dal.IsOrarendiOraHelyettesitoTanar(tanoraId, tanarId, hetSorszam);
|
|
});
|
|
}
|
|
|
|
public HelyettesitesResultCO SaveHelyettesites(int orarendiOraId, int tanarId, int helyettesitesTipus, string helyettesItesOka, int hetSorszam, DateTime helyettesitesNapja, bool isTuloraMentes)
|
|
{
|
|
try
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OrarendiOra();
|
|
var (helyettesItesId, errorId) = dal.SaveHelyettesites(orarendiOraId, tanarId, helyettesitesTipus, helyettesItesOka, hetSorszam, helyettesitesNapja.Date, isTuloraMentes);
|
|
|
|
return new HelyettesitesResultCO
|
|
{
|
|
HelyettesitesId = helyettesItesId,
|
|
ErrorId = errorId
|
|
};
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new BlException(StringResourcesUtil.GetString(4296) /*Hiba a helyettesítés mentése során!*/, ex);
|
|
}
|
|
}
|
|
|
|
public List<HelyettesitesResultCO> SaveGroupHelyettesites(int orarendiOraId, int tanarId, int helyettesitesTipus, string helyettesItesOka, int hetSorszam, DateTime helyettesitesNapja, DateTime tartosHelyettesitesVegeDate, bool isTuloraMentes)
|
|
{
|
|
try
|
|
{
|
|
var result = Dal.CustomConnection.Run(ConnectionType, handler =>
|
|
{
|
|
var dal = handler.OrarendiOra();
|
|
var (helyettesItesId, errorId) = dal.SaveHelyettesites(orarendiOraId, tanarId, helyettesitesTipus, helyettesItesOka, hetSorszam, helyettesitesNapja, isTuloraMentes);
|
|
var helyettesitesResultCoList = new List<HelyettesitesResultCO>
|
|
{
|
|
new HelyettesitesResultCO
|
|
{
|
|
HelyettesitesId = helyettesItesId,
|
|
ErrorId = errorId
|
|
}
|
|
};
|
|
int groupId;
|
|
if (helyettesItesId.IsEntityId())
|
|
{
|
|
groupId = helyettesItesId.Value;
|
|
}
|
|
else
|
|
{
|
|
return helyettesitesResultCoList;
|
|
}
|
|
|
|
var hetHelper = new NaptariHetHelper(new DalHandlerConnectionType(ConnectionType, handler));
|
|
|
|
var utolsoNapDate = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetTanevInfo().UtolsoNap;
|
|
int currentHetszam = hetHelper.GetNaptariHetSorszamByDate(helyettesitesNapja);
|
|
int mentettOraHetirendje = dal.Get(orarendiOraId).Hetirend;
|
|
do
|
|
{
|
|
int? aktualisHetHetirendje = hetHelper.GetNaptariHetHetirendByDate(helyettesitesNapja);
|
|
bool isTanitasiNap;
|
|
var tanevrendHelper = new TanevrendHelper(new DalHandlerConnectionType(ConnectionType, handler));
|
|
isTanitasiNap = tanevrendHelper.IsTanitasiNap(helyettesitesNapja, null);
|
|
|
|
if (mentettOraHetirendje == aktualisHetHetirendje || mentettOraHetirendje == (int)HetiRendTipusEnum.MindegyikHet)
|
|
{
|
|
helyettesitesResultCoList.Add(isTanitasiNap ?
|
|
SaveHelyettesites(orarendiOraId, tanarId, helyettesitesTipus, helyettesItesOka, currentHetszam, helyettesitesNapja, isTuloraMentes) :
|
|
new HelyettesitesResultCO { ErrorId = 8020 }
|
|
);
|
|
}
|
|
helyettesitesNapja = helyettesitesNapja.AddDays(7);
|
|
currentHetszam = hetHelper.GetNaptariHetSorszamByDate(helyettesitesNapja);
|
|
|
|
} while (helyettesitesNapja <= tartosHelyettesitesVegeDate && helyettesitesNapja.AddDays(7) <= utolsoNapDate);
|
|
|
|
foreach (int helyettesitesId in helyettesitesResultCoList.Where(x => x.HelyettesitesId.IsEntityId()).Select(x => x.HelyettesitesId.Value))
|
|
{
|
|
dal.UpdateHelyettesitesGroupId(helyettesitesId, groupId);
|
|
}
|
|
|
|
return helyettesitesResultCoList;
|
|
});
|
|
return result;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new BlException(StringResourcesUtil.GetString(4296) /*Hiba a helyettesítés mentése során!*/, ex);
|
|
}
|
|
}
|
|
|
|
public HelyettesitesResultCO UpdateHelyettesitoTanar(int orarendiOraId, int helyettesitesId, int ujTanarId, int helyettesitesTipus, string helyettesitesOka, DateTime helyettesitesNapja, int? groupId, bool isTuloraMentes)
|
|
{
|
|
try
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OrarendiOra();
|
|
var (helyettesItesId, errorId) = dal.UpdateHelyettesitoTanar(orarendiOraId, helyettesitesId, ujTanarId, helyettesitesTipus, helyettesitesOka, helyettesitesNapja, groupId, isTuloraMentes);
|
|
|
|
return new HelyettesitesResultCO
|
|
{
|
|
HelyettesitesId = helyettesItesId,
|
|
ErrorId = errorId
|
|
};
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new BlException(StringResourcesUtil.GetString(4296) /*Hiba a helyettesítés mentése során!*/, ex);
|
|
}
|
|
}
|
|
|
|
public void DeleteHelyettesites(int helyettesitesId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, dal =>
|
|
{
|
|
dal.HelyettesitesDAL().Delete(helyettesitesId);
|
|
});
|
|
}
|
|
|
|
public void ClearHelyettesitesGroupId(int helyettesitesId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, dal =>
|
|
{
|
|
var helyettesitesDAL = dal.HelyettesitesDAL();
|
|
var helyettesitesiIdoszak = helyettesitesDAL.Get(helyettesitesId);
|
|
helyettesitesiIdoszak.GroupId = null;
|
|
helyettesitesDAL.FullUpdate(helyettesitesiIdoszak);
|
|
});
|
|
}
|
|
|
|
public DataSet GetHelyettesitesDataById(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OrarendiOra();
|
|
return dal.GetTanarFromHelyettesites(id, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public DataSet GetHelyettesitettTanorak(TanarHelyettesitesekKereseseCO co)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IHelyettesitesDAL dal = h.HelyettesitesDAL(GridParameters);
|
|
return dal.GetHelyettesitettTanorak(ConvertTanarHelyettesitesekKereseseCoToPco(co));
|
|
});
|
|
}
|
|
|
|
public HelyettesitesCO GetHelyettesitesEmailDataById(int id)
|
|
{
|
|
DataSet ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IHelyettesitesDAL dal = h.HelyettesitesDAL(GridParameters);
|
|
return dal.GetHelyettesitesEmailDataById(id);
|
|
});
|
|
|
|
DataRow dr = ds.Tables[0].Rows[0];
|
|
|
|
var co = new HelyettesitesCO()
|
|
{
|
|
HelyettesitoNev = dr.Field<string>("HelyettesitoNev"),
|
|
HelyettesitoEmail = dr.Field<string>("HelyettesitoEmail"),
|
|
OsztalyCsoportNev = dr.Field<string>("OsztalyCsoportNev"),
|
|
TantargyNev = dr.Field<string>("TantargyNev"),
|
|
OraDatuma = dr.Field<DateTime>("OraDatuma").ToString("yyyy.MM.dd."),
|
|
OraKezdete = dr.Field<DateTime>("OraKezdete").ToString("HH:mm"),
|
|
OraVege = dr.Field<DateTime>("OraVege").ToString("HH:mm"),
|
|
OraSzama = dr.Field<int?>("OraSzama").HasValue ? dr.Field<int>("OraSzama") : 0,
|
|
IsNapirend = dr.Field<bool>("IsNapirend_BOOL"),
|
|
TeremNev = dr.Field<string>("TeremNev"),
|
|
HelyettesitesTipusa = dr.Field<string>("HelyettesitesTipus"),
|
|
HelyettesitettNev = dr.Field<string>("HelyettesitettNev"),
|
|
HelyettesitoID = SDAConvert.ToInt32(dr["HelyettesitoID"]),
|
|
HelyettesitoEmailGuid = SDAConvert.ToNullableGuid(dr["HelyettesitoEmailGuid"])
|
|
};
|
|
|
|
return co;
|
|
}
|
|
|
|
public DataSet GetNemkotottMunkaidoByHelyettesites(int? id, int? groupId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IHelyettesitesDAL dal = h.HelyettesitesDAL();
|
|
return dal.GetNemkotottMunkaidoByHelyettesites(id, groupId, TanevId);
|
|
});
|
|
|
|
}
|
|
|
|
public Dictionary<int, int> GetNemkotottMunkaidoByHelyettesitesTorleshez(int? id, int? groupId, DateTime helyettesitesBevitelOraKezdeteDate)
|
|
{
|
|
Dictionary<int, int> nemKotottMunkaidoDictionary = new Dictionary<int, int>();
|
|
|
|
DataSet ds = GetNemkotottMunkaidoByHelyettesites(id, groupId);
|
|
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dataRow in ds.Tables[0].Rows)
|
|
{
|
|
var helyettesitesNapjaDate = SDAConvert.ToDateTime(dataRow["HelyettesitesNapjaDate"]);
|
|
if (helyettesitesBevitelOraKezdeteDate.Date <= helyettesitesNapjaDate)
|
|
{
|
|
|
|
int nemKotottMunkaidoId = SDAConvert.ToInt32(dataRow["NemKotottMunkaidoId"]);
|
|
int helyettesitesId = SDAConvert.ToInt32(dataRow["HelyettesitesId"]);
|
|
nemKotottMunkaidoDictionary.Add(helyettesitesId, nemKotottMunkaidoId);
|
|
}
|
|
}
|
|
}
|
|
return nemKotottMunkaidoDictionary;
|
|
}
|
|
|
|
public List<string> GetNemkotottMunkaidoByHelyettesitesHibakListaja(int? id, int? groupId, DateTime helyettesitesBevitelOraKezdeteDate)
|
|
{
|
|
List<string> textList = new List<string>();
|
|
DataSet ds = GetNemkotottMunkaidoByHelyettesites(id, groupId);
|
|
|
|
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dataRow in ds.Tables[0].Rows)
|
|
{
|
|
var helyettesitesNapjaDate = SDAConvert.ToDateTime(dataRow["HelyettesitesNapjaDate"]);
|
|
if (helyettesitesBevitelOraKezdeteDate.Date <= helyettesitesNapjaDate)
|
|
{
|
|
string kezdetiDatum = SDAConvert.ToDateTime(dataRow["NemKotottMunkaidoKezdete"]).Value.ToString(Kreta.Core.Constants.ToStringPattern.HungarianDateTime);
|
|
string vegDatum = SDAConvert.ToDateTime(dataRow["NemKotottMunkaidoVege"]).Value.ToString(Kreta.Core.Constants.ToStringPattern.HungarianDateTime);
|
|
textList.Add(string.Format(HelyettesitesResource.NemKotottMunkaidoTorlesreFogKerulni, kezdetiDatum, vegDatum));
|
|
}
|
|
}
|
|
}
|
|
return textList;
|
|
}
|
|
|
|
public TanoraCO GetHelyettesitesAdatok(int searchId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, dal =>
|
|
{
|
|
var helyettesitesDal = dal.HelyettesitesDAL();
|
|
var helyettesites = helyettesitesDal.Get(searchId);
|
|
var co = new TanoraCO
|
|
{
|
|
Datum = helyettesites.HelyettesitesNapja,
|
|
TeremNev = helyettesites.HelyettesitettOrarend.Terem.Nev,
|
|
HetNapjaNev = helyettesites.HelyettesitettOrarend.HetNapja.GetDisplayName<HetNapjaTipusEnum>(TanevId),
|
|
ID = helyettesites.HelyettesitettOrarend.ID,
|
|
Oraszam = helyettesites.HelyettesitettOrarend.Oraszam,
|
|
OsztalyCsoportNev = helyettesites.HelyettesitettOrarend.OsztalyCsoport.Nev,
|
|
TanarNev = helyettesites.HelyettesitettOrarend.Tanar.NyomtatasiNev,
|
|
HelyettesitoTanarNev = helyettesites.HelyettesTanarok.NyomtatasiNev,
|
|
TantargyNev = helyettesites.HelyettesitettOrarend.Tantargy.Nev,
|
|
Megtartott = false,
|
|
OraKezd = helyettesites.HelyettesitettOrarend.OraKezdete.Value,
|
|
OraVeg = helyettesites.HelyettesitettOrarend.OraVege.Value,
|
|
Terem = helyettesites.HelyettesitettOrarend.TeremId,
|
|
OsztCsop = helyettesites.HelyettesitettOrarend.OsztalyCsoportId,
|
|
Targy = helyettesites.HelyettesitettOrarend.TantargyId,
|
|
AdminAltalKiirt = true,
|
|
CsengetesiRendOraId = helyettesites.HelyettesitettOrarend.CsengetesirendOraId,
|
|
Sorszamozando = helyettesites.HelyettesitettOrarend.Sorszamozando,
|
|
Megjegyzes = helyettesites.HelyettesitesOka,
|
|
HetirendNev = helyettesites.HelyettesitettOrarend.Hetirend.GetDisplayName<HetiRendTipusEnum>(TanevId),
|
|
HelyettesitesTipus = helyettesites.HelyettesitesTipus
|
|
};
|
|
|
|
co.HelyettesitesElrendelesenekIdopontja = helyettesitesDal.GetHelyettesitesElrendelese(helyettesites.ID);
|
|
|
|
if (helyettesites.HelyettesitettOrarend.FoglalkozasId > 0)
|
|
{
|
|
co.FoglalkozasNev = helyettesites.HelyettesitettOrarend.Foglalkozas?.Nev;
|
|
}
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
private LehetsegesHelyettesitoTanarokPCO Convert_CO_to_PCO(LehetsegesHelyettesitoTanarokCO co)
|
|
{
|
|
return new LehetsegesHelyettesitoTanarokPCO()
|
|
{
|
|
orarendiOraId = co.orarendiOraId,
|
|
datum = co.datum,
|
|
};
|
|
}
|
|
|
|
private TanarHelyettesitesekKeresesePCO ConvertTanarHelyettesitesekKereseseCoToPco(TanarHelyettesitesekKereseseCO co)
|
|
{
|
|
TanarHelyettesitesekKeresesePCO pco = new TanarHelyettesitesekKeresesePCO()
|
|
{
|
|
HelyettesitesKezdete = co.HelyettesitesKezdete,
|
|
HelyettesitesVege = co.HelyettesitesVege,
|
|
HelyettesitettId = co.HelyettesitettId,
|
|
HelyettesitoId = co.HelyettesitoId
|
|
};
|
|
|
|
return pco;
|
|
}
|
|
|
|
private HelyettesitesekKeresesePCO Convert_CO_to_PCO(HelyettesitesekKereseseCo co)
|
|
{
|
|
HelyettesitesekKeresesePCO pco = new HelyettesitesekKeresesePCO()
|
|
{
|
|
HelyettesitesKezdete = co.HelyettesitesKezdete,
|
|
HelyettesitesVege = co.HelyettesitesVege,
|
|
HelyettesitettId = co.HelyettesitettId,
|
|
};
|
|
|
|
return pco;
|
|
}
|
|
|
|
public bool GetUserHelyettesitesProfilData(int userId)
|
|
{
|
|
string xmlResult = string.Empty;
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IFelhasznaloDal dal = h.Felhasznalo();
|
|
xmlResult = dal.GetUserProfile(userId);
|
|
});
|
|
if (!string.IsNullOrWhiteSpace(xmlResult))
|
|
{
|
|
var profilXml = new XmlDocument();
|
|
profilXml.LoadXml(xmlResult);
|
|
|
|
XmlNode node = profilXml.SelectSingleNode("UserProfile/EmailHelyettesites");
|
|
if (node == null)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return bool.TryParse(node.InnerText, out bool result) && result;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public string GetHelyettesitoTanarEmailCim(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var ds = dal.GetUserEmailCim(userId).Tables[0];
|
|
|
|
if (ds.Rows.Count > 0)
|
|
{ return ds.Rows[0].Field<string>("EmailCim"); }
|
|
return "";
|
|
});
|
|
}
|
|
|
|
public void DeleteHelyettesitesek(int orarendiOraId, DateTime start, DateTime end)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, dal =>
|
|
{
|
|
dal.HelyettesitesDAL().DeleteHelyettesitesek(orarendiOraId, start, end, TanevId);
|
|
});
|
|
}
|
|
|
|
public DataSet GetHelyettesitesDataSetByGroupId(int groupId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, dal =>
|
|
{
|
|
return dal.HelyettesitesDAL().GetHelyettesitesDataSetByGroupId(IntezmenyId, TanevId, groupId);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
public List<HelyettesitesItemCo> GetHelyettesitesekListajaCoList(HelyettesitesekListajaSearchCO co)
|
|
{
|
|
DataSet dataSet = GetHelyettesitesekListajaGrid(co);
|
|
|
|
var result = new List<HelyettesitesItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new HelyettesitesItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|