219 lines
7.9 KiB
C#
219 lines
7.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Exceptions;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Utils;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.Enums;
|
|
using Kreta.KretaServer.Exceptions;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class MukodesiHelyHelper : LogicBase
|
|
{
|
|
public MukodesiHelyHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public IDictionary<string, string> GetMukodesiHelyekDDL(string baseText)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return LogicUtil.CreateDropdownContent(h.MukodesiHelyDAL(GridParameters).GetMukodesiHelyekForDropDown(TanevId), "ID", "C_NEV", baseText);
|
|
});
|
|
}
|
|
|
|
public List<FelHelyValasztoItemCo> GetMukodesiHelyekForFelhelyValaszto()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL(GridParameters);
|
|
var ds = dal.GetMukodesiHelyekForFelhelyValaszto(TanevId, (int)OktatasiNevelesiFeladatEnum.PedagogiaiSzakszolgaltatas);
|
|
|
|
var result = new List<FelHelyValasztoItemCo>() {
|
|
new FelHelyValasztoItemCo {
|
|
MukodesiHelyID = 0,
|
|
FelhelyId = 0,
|
|
MukodesiHelyNev = CommonResource.Minden
|
|
}
|
|
};
|
|
|
|
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dataRow in ds.Tables[0].Rows)
|
|
{
|
|
var item = new FelHelyValasztoItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public DataSet GetMukodesiHelyek()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL(GridParameters);
|
|
var ds = dal.GetMukodesiHelyek(TanevId);
|
|
|
|
return ds;
|
|
});
|
|
}
|
|
|
|
public MukodesiHelyCO GetMukodesiHelyAdatok(int ID)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL();
|
|
var mukodesiHely = dal.Get(ID);
|
|
|
|
return new MukodesiHelyCO(mukodesiHely);
|
|
});
|
|
}
|
|
|
|
public void SaveMukodesiHely(MukodesiHelyCO model)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(model.Nev))
|
|
{
|
|
throw new ArgumentNullException("Nev");
|
|
}
|
|
|
|
if (model.Telefonszam != null && model.Telefonszam.Length > 50)
|
|
{
|
|
throw new FormatException("Telefonszam");
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL();
|
|
|
|
bool isModification = model.ID.HasValue;
|
|
|
|
var mukodesiHely = dal.Get();
|
|
|
|
if (isModification)
|
|
{
|
|
mukodesiHely = dal.Get(model.ID.Value);
|
|
}
|
|
else // Új felvétele (lehet hogy már volt ilyen nevű, ami ki lett törölve és ez esetben Update-eljük azt és legyen újra TOROLT = 'F')
|
|
{
|
|
var entity = dal.GetMukodesiHelyByNev(model.Nev, TanevId);
|
|
if (entity != null)
|
|
{
|
|
mukodesiHely = entity;
|
|
mukodesiHely.Torolt = false;
|
|
isModification = true;
|
|
}
|
|
}
|
|
|
|
var intezmeny = h.IntezmenyDal().Get(model.IntezmenyID);
|
|
|
|
var intAdatokId = intezmeny.IntezmenyAdatok.Where(x => x.Torolt == false && x.TanevId == TanevId).Select(y => y.ID).FirstOrDefault();
|
|
|
|
mukodesiHely.IntezmenyAdatokId = intAdatokId;
|
|
mukodesiHely.Nev = model.Nev;
|
|
mukodesiHely.MukodesiHelyAzonosito = model.MukodesiHelyAzonosito;
|
|
mukodesiHely.MukodesiHelyTipusa = model.MukodesiHelyTipusa;
|
|
mukodesiHely.Telefonszam = model.Telefonszam;
|
|
mukodesiHely.Varos = model.Varos;
|
|
mukodesiHely.VezetoNeve = model.VezetoNeve;
|
|
mukodesiHely.IntezmenyId = model.IntezmenyID;
|
|
mukodesiHely.IranyitoSzam = model.Iranyitoszam;
|
|
mukodesiHely.EmailCim = model.Email;
|
|
mukodesiHely.Fax = model.Fax;
|
|
mukodesiHely.Szekhely = model.MukodesiHelyTipusa == (int)MukodesiHelyTipusEnum.Szekhely;
|
|
mukodesiHely.Ajto = model.Ajto;
|
|
mukodesiHely.Emelet = model.Emelet;
|
|
mukodesiHely.KozteruletNev = model.Kozterulet;
|
|
mukodesiHely.KozteruletJellegeNev = model.KozteruletJellegeNev;
|
|
mukodesiHely.Hazszam = model.Szam;
|
|
mukodesiHely.TanevId = model.TanevId.Value;
|
|
|
|
if (model.TelephelyAnyaintezmeny.HasValue && model.MukodesiHelyTipusa == (int)MukodesiHelyTipusEnum.Telephely)
|
|
{
|
|
mukodesiHely.TelephelyAnyaintezmenyId = model.TelephelyAnyaintezmeny.Value;
|
|
}
|
|
else if (isModification)
|
|
{
|
|
mukodesiHely.TelephelyAnyaintezmeny = null;
|
|
}
|
|
|
|
if (dal.MukodesiHelyAzonositoExists(mukodesiHely))
|
|
{
|
|
throw new KretaException(ErrorResource.AMegadottMukodesiHelyAzonositoMarLetezik);
|
|
}
|
|
|
|
if (!isModification)
|
|
{
|
|
dal.Insert(mukodesiHely);
|
|
}
|
|
else
|
|
{
|
|
dal.FullUpdate(mukodesiHely);
|
|
}
|
|
});
|
|
}
|
|
|
|
public bool MukodesiHelyAzonositoExists(MukodesiHelyCO model)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL();
|
|
|
|
bool isModification = model.ID.HasValue;
|
|
|
|
var mukodesiHely = dal.Get();
|
|
|
|
if (isModification)
|
|
{
|
|
mukodesiHely = dal.Get(model.ID.Value);
|
|
}
|
|
else // Új felvétele (lehet hogy már volt ilyen nevű, ami ki lett törölve és ez esetben Update-eljük azt és legyen újra TOROLT = 'F')
|
|
{
|
|
var entity = dal.GetMukodesiHelyByNev(model.Nev, TanevId);
|
|
if (entity != null)
|
|
{
|
|
mukodesiHely = entity;
|
|
mukodesiHely.Torolt = false;
|
|
isModification = true;
|
|
}
|
|
}
|
|
|
|
mukodesiHely.MukodesiHelyAzonosito = model.MukodesiHelyAzonosito;
|
|
mukodesiHely.TanevId = model.TanevId.Value;
|
|
|
|
return dal.MukodesiHelyAzonositoExists(mukodesiHely);
|
|
|
|
});
|
|
}
|
|
|
|
public void DeleteMukodesiHely(int ID)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL();
|
|
var mukodesihely = dal.Get(ID);
|
|
|
|
if (mukodesihely.FeladatEllatasiHely.Count > 0 && mukodesihely.FeladatEllatasiHely.Any(x => x.Torolt == false))
|
|
{
|
|
throw new CannotBeDeletedException(message: IntezmenyResource.MukodesihelyNemTorolheto);
|
|
}
|
|
|
|
dal.Delete(mukodesihely);
|
|
});
|
|
}
|
|
|
|
public void SetSzekhely(int mukodesiHelyID)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.MukodesiHelyDAL();
|
|
dal.SetSzekhely(mukodesiHelyID);
|
|
});
|
|
}
|
|
}
|
|
}
|