1076 lines
46 KiB
C#
1076 lines
46 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Validation.Exceptions;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.KretaServer.Exceptions;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class VegzettsegHelper : LogicBase
|
|
{
|
|
public VegzettsegHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public DataSet GetKKMainGridVegzettsegek(int tanarId)
|
|
{
|
|
var ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetKKMainGridVegzettseg(tanarId);
|
|
});
|
|
|
|
var resultDs = new DataSet();
|
|
var dt = resultDs.Tables.Add();
|
|
dt.Columns.Add("ID", typeof(string));
|
|
dt.Columns.Add("EntityID", typeof(string));
|
|
dt.Columns.Add("Kepesites", typeof(string));
|
|
dt.Columns.Add("KepesitesTipusId", typeof(string));
|
|
dt.Columns.Add("KepesitesTipus", typeof(string));
|
|
dt.Columns.Add("Vegzettseg", typeof(string));
|
|
dt.Columns.Add("MuveszetiAg", typeof(string));
|
|
dt.Columns.Add("Egyeb", typeof(string));
|
|
dt.Columns.Add("AlkalmazottId", typeof(string));
|
|
dt.Columns.Add("Terulet", typeof(string));
|
|
|
|
var kepesitesRow = ds.Tables[0].Select("KepesitesTipusId is not null");
|
|
var tanarRows = ds.Tables[0].Select("KepesitesJellegeTipus = " + (int)KKKepesitesJellTipusEnum.Tanar);
|
|
var tanarAmiRows = ds.Tables[0].Select("KepesitesJellegeTipus = " + (int)KKKepesitesJellTipusEnum.TanarAMI);
|
|
var tanitoRows = ds.Tables[0].Select("KepesitesJellegeTipus = " + (int)KKKepesitesJellTipusEnum.Tanito);
|
|
var gyogyPedRows = ds.Tables[0].Select("KepesitesJellegeTipus = " + (int)KKKepesitesJellTipusEnum.Gyogypedagogus);
|
|
|
|
var kepesitesText = string.Empty;
|
|
var kepesites = kepesitesRow.FirstOrDefault();
|
|
if (kepesites == null)
|
|
{
|
|
return resultDs;
|
|
}
|
|
|
|
kepesitesText = SDAConvert.ToString(kepesites["KepesitesTipusId_DNAME"]);
|
|
|
|
foreach (DataRow row in tanarRows.OrderBy(a => a["EntityID"]))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = row["ID"];
|
|
newRow["EntityID"] = row["EntityID"];
|
|
newRow["Kepesites"] = kepesitesText;
|
|
newRow["KepesitesTipusId"] = SDAConvert.ToString(row["KepesitesJellegeTipus"]);
|
|
newRow["KepesitesTipus"] = SDAConvert.ToString(row["KepesitesJellegeTipus_DNAME"]);
|
|
newRow["Vegzettseg"] = SDAConvert.ToString(row["VegzettsegTipusId_DNAME"]);
|
|
newRow["MuveszetiAg"] = null;
|
|
newRow["Egyeb"] = SDAConvert.ToString(row["Egyeb"]);
|
|
newRow["AlkalmazottId"] = tanarId;
|
|
newRow["Terulet"] = SDAConvert.ToString(row["TeruletId_DNAME"]);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
foreach (DataRow row in tanarAmiRows.OrderBy(a => a["EntityID"]))
|
|
{
|
|
var myArray = new string[] { SDAConvert.ToString(row["TancmuveszetiAg_DNAME"]), SDAConvert.ToString(row["ZenemuveszetiAg_DNAME"]),
|
|
SDAConvert.ToString(row["KepzomuveszetiAg_DNAME"]),SDAConvert.ToString(row["SzinmuveszetiAg_DNAME"])};
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = row["ID"];
|
|
newRow["EntityID"] = row["EntityID"];
|
|
newRow["Kepesites"] = kepesitesText;
|
|
newRow["KepesitesTipusId"] = SDAConvert.ToString(row["KepesitesJellegeTipus"]);
|
|
newRow["KepesitesTipus"] = SDAConvert.ToString(row["KepesitesJellegeTipus_DNAME"]);
|
|
newRow["Vegzettseg"] = SDAConvert.ToString(row["VegzettsegTipusId_DNAME"]);
|
|
newRow["MuveszetiAg"] = string.Join(", ", myArray.Where(s => !string.IsNullOrWhiteSpace(s)));
|
|
newRow["Egyeb"] = SDAConvert.ToString(row["Egyeb"]);
|
|
newRow["AlkalmazottId"] = tanarId;
|
|
newRow["Terulet"] = SDAConvert.ToString(row["TeruletId_DNAME"]);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
foreach (DataRow row in tanitoRows.OrderBy(a => a["EntityID"]))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = row["ID"];
|
|
newRow["EntityID"] = row["EntityID"];
|
|
newRow["Kepesites"] = kepesitesText;
|
|
newRow["KepesitesTipusId"] = SDAConvert.ToString(row["KepesitesJellegeTipus"]);
|
|
newRow["KepesitesTipus"] = SDAConvert.ToString(row["KepesitesJellegeTipus_DNAME"]);
|
|
newRow["Vegzettseg"] = SDAConvert.ToString(row["VegzettsegTipusId_DNAME"]);
|
|
newRow["MuveszetiAg"] = null;
|
|
newRow["Egyeb"] = SDAConvert.ToString(row["Egyeb"]);
|
|
newRow["AlkalmazottId"] = tanarId;
|
|
newRow["Terulet"] = SDAConvert.ToString(row["TeruletId_DNAME"]);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
foreach (DataRow row in gyogyPedRows.OrderBy(a => a["EntityID"]))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = row["ID"];
|
|
newRow["EntityID"] = row["EntityID"];
|
|
newRow["Kepesites"] = kepesitesText;
|
|
newRow["KepesitesTipusId"] = SDAConvert.ToString(row["KepesitesJellegeTipus"]);
|
|
newRow["KepesitesTipus"] = SDAConvert.ToString(row["KepesitesJellegeTipus_DNAME"]);
|
|
newRow["Vegzettseg"] = SDAConvert.ToString(row["VegzettsegTipusId_DNAME"]);
|
|
newRow["MuveszetiAg"] = null;
|
|
newRow["Egyeb"] = SDAConvert.ToString(row["Egyeb"]);
|
|
newRow["AlkalmazottId"] = tanarId;
|
|
newRow["Terulet"] = SDAConvert.ToString(row["TeruletId_DNAME"]);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
if (resultDs.Tables[0].Rows.Count < 1)
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = kepesites["ID"];
|
|
newRow["EntityID"] = kepesites["EntityID"];
|
|
newRow["Kepesites"] = kepesitesText;
|
|
newRow["KepesitesTipusId"] = null;
|
|
newRow["KepesitesTipus"] = null;
|
|
newRow["Vegzettseg"] = null;
|
|
newRow["MuveszetiAg"] = null;
|
|
newRow["Egyeb"] = null;
|
|
newRow["AlkalmazottId"] = tanarId;
|
|
newRow["Terulet"] = null;
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
resultDs.Tables[0].ExtendedProperties.Add("RowCount", resultDs.Tables[0].Rows.Count);
|
|
|
|
return resultDs;
|
|
}
|
|
|
|
public DataSet GetKKTanarTerulet(int entityId)
|
|
{
|
|
var resultDs = GetTeruletDataSetVaz();
|
|
var dt = resultDs.Tables[0];
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.KKVegzettsegDal();
|
|
var entity = dal.GetKKTanarVegzettseg(entityId);
|
|
|
|
foreach (var item in entity.KKTantargyKategoria.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = item.KKSzakTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
});
|
|
|
|
resultDs.Tables[0].ExtendedProperties.Add("RowCount", resultDs.Tables[0].Rows.Count);
|
|
return resultDs;
|
|
}
|
|
|
|
public DataSet GetKKAmiTanarTerulet(int entityId)
|
|
{
|
|
var resultDs = GetTeruletDataSetVaz();
|
|
var dt = resultDs.Tables[0];
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.KKVegzettsegDal();
|
|
var entity = dal.GetKKAMIVegzettseg(entityId);
|
|
|
|
var elektroakusztikusZene = ((int)KKAMIZenemuvKatTipusEnum.ElektroakusztikusZene).GetItemNameFromCache(TanevId);
|
|
|
|
foreach (var item in entity.KKElektroakuZene.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = elektroakusztikusZene + ": " + item.ElektrakuTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
var jazzZene = ((int)KKAMIZenemuvKatTipusEnum.JazzZene).GetItemNameFromCache(TanevId);
|
|
|
|
foreach (var item in entity.KKJazzZene.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = jazzZene + ": " + item.JazzZeneTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
var klasszikusZene = ((int)KKAMIZenemuvKatTipusEnum.KlasszikusZene).GetItemNameFromCache(TanevId);
|
|
|
|
foreach (var item in entity.KKKlasszikusZene.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = klasszikusZene + ": " + item.KlasszukusZeneTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
var nepzene = ((int)KKAMIZenemuvKatTipusEnum.Nepzene).GetItemNameFromCache(TanevId);
|
|
|
|
foreach (var item in entity.KKNepzene.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = nepzene + ": " + item.NepzeneTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
});
|
|
|
|
resultDs.Tables[0].ExtendedProperties.Add("RowCount", resultDs.Tables[0].Rows.Count);
|
|
return resultDs;
|
|
}
|
|
|
|
public DataSet GetKKKepesitesTerulet()
|
|
{
|
|
var resultDs = GetTeruletDataSetVaz();
|
|
resultDs.Tables[0].ExtendedProperties.Add("RowCount", resultDs.Tables[0].Rows.Count);
|
|
return resultDs;
|
|
}
|
|
|
|
public DataSet GetKKTanitoTerulet(int alkalmazottId)
|
|
{
|
|
var resultDs = GetTeruletDataSetVaz();
|
|
var dt = resultDs.Tables[0];
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott();
|
|
var entity = dal.Get(alkalmazottId);
|
|
|
|
foreach (var item in entity.KKTanitoVezgettseg.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = item.KKTaniotoMuvTerTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
});
|
|
|
|
resultDs.Tables[0].ExtendedProperties.Add("RowCount", resultDs.Tables[0].Rows.Count);
|
|
return resultDs;
|
|
}
|
|
|
|
public DataSet GetKKGyogypedTerulet(int alkalmazottId)
|
|
{
|
|
var resultDs = GetTeruletDataSetVaz();
|
|
var dt = resultDs.Tables[0];
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott();
|
|
var entity = dal.Get(alkalmazottId);
|
|
|
|
foreach (var item in entity.KKGyogypedVegzettseg.Where(a => !a.Torolt))
|
|
{
|
|
DataRow newRow = dt.NewRow();
|
|
newRow["ID"] = Guid.NewGuid();
|
|
newRow["EntityID"] = item.ID;
|
|
newRow["Terulet"] = item.KKGyogypedTerTipusId.Value.GetItemNameFromCache(TanevId);
|
|
|
|
dt.Rows.Add(newRow);
|
|
}
|
|
|
|
});
|
|
|
|
resultDs.Tables[0].ExtendedProperties.Add("RowCount", resultDs.Tables[0].Rows.Count);
|
|
return resultDs;
|
|
}
|
|
|
|
public KKTanarVegzettsegCO GetTanarVegzettseg(int entityId)
|
|
{
|
|
|
|
var co = new KKTanarVegzettsegCO();
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.KKVegzettsegDal();
|
|
var entity = dal.GetKKTanarVegzettseg(entityId);
|
|
|
|
co.EntityId = entity.ID;
|
|
co.AlkalmazottId = entity.AlkalmazottId;
|
|
co.Egyeb = entity.Egyeb;
|
|
co.TanariVegzettsegTipusId = entity.KKTanarVegzettsegId;
|
|
foreach (var item in entity.KKTantargyKategoria.Where(a => !a.Torolt))
|
|
{
|
|
co.TantargyKategoriaIds.Add(item.KKSzakTipusId.Value);
|
|
}
|
|
});
|
|
|
|
return co;
|
|
}
|
|
|
|
public KKAMITanarVegzettsegCo GetAmiTanarVegzettseg(int entityId)
|
|
{
|
|
var co = new KKAMITanarVegzettsegCo();
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.KKVegzettsegDal();
|
|
var entity = dal.GetKKAMIVegzettseg(entityId);
|
|
|
|
co.EntityId = entity.ID;
|
|
co.AlkalmazottId = entity.AlkalmazottId;
|
|
co.AMITanariVegzettsegTipusId = entity.KKAMIVegzettsegTipusId;
|
|
co.ZenemuveszetiTerulet = entity.KKTerulet.Any(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.ZenemuveszetiAg && !t.Torolt);
|
|
co.TancmuveszetiTerulet = entity.KKTerulet.Any(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.TancmuveszetiAg && !t.Torolt);
|
|
co.KepzoEsIparMuveszetiTerulet = entity.KKTerulet.Any(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.KepzoEsIparmuveszetiAg && !t.Torolt);
|
|
co.SzinEsBabMuveszetiTerulet = entity.KKTerulet.Any(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.SzinEsBabmuveszetiAg && !t.Torolt);
|
|
|
|
foreach (var item in entity.KKElektroakuZene.Where(a => !a.Torolt))
|
|
{
|
|
co.ElektroAkusztikusZeneIds.Add(item.ElektrakuTipusId.Value);
|
|
}
|
|
foreach (var item in entity.KKJazzZene.Where(a => !a.Torolt))
|
|
{
|
|
co.JazzZeneIds.Add(item.JazzZeneTipusId.Value);
|
|
}
|
|
foreach (var item in entity.KKNepzene.Where(a => !a.Torolt))
|
|
{
|
|
co.NepZeneIds.Add(item.NepzeneTipusId.Value);
|
|
}
|
|
foreach (var item in entity.KKKlasszikusZene.Where(a => !a.Torolt))
|
|
{
|
|
co.KlasszikusZeneIds.Add(item.KlasszukusZeneTipusId.Value);
|
|
}
|
|
});
|
|
|
|
return co;
|
|
}
|
|
|
|
public KKTanitoVegzettsegCo GetTanitoVegzettseg(int alkalmazottId)
|
|
{
|
|
var co = new KKTanitoVegzettsegCo();
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(alkalmazottId);
|
|
co.AlkalmazottId = alkalmazottId;
|
|
|
|
foreach (var item in alkalmazottEntity.KKTanitoVezgettseg.Where(a => !a.Torolt))
|
|
{
|
|
co.MuveltsegiTeruletIds.Add(item.KKTaniotoMuvTerTipusId.Value);
|
|
}
|
|
});
|
|
return co;
|
|
}
|
|
|
|
public KKGyogyPedagogusVegzettsegCo GetGyogypedagogusVegzettseg(int alkalmazottId)
|
|
{
|
|
var co = new KKGyogyPedagogusVegzettsegCo();
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(alkalmazottId);
|
|
co.AlkalmazottId = alkalmazottId;
|
|
|
|
foreach (var item in alkalmazottEntity.KKGyogypedVegzettseg.Where(a => !a.Torolt))
|
|
{
|
|
co.GyogypedagogusTeruletIds.Add(item.KKGyogypedTerTipusId.Value);
|
|
}
|
|
});
|
|
return co;
|
|
}
|
|
|
|
public void UpdateTanarVegzettseg(KKTanarVegzettsegCO co, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
var kkTanarVegzettsegEntity = kkVegzettsegDal.GetKKTanarVegzettseg(co.EntityId.Value);
|
|
|
|
kkTanarVegzettsegEntity.Egyeb = co.Egyeb;
|
|
kkTanarVegzettsegEntity.KKTanarVegzettsegId = co.TanariVegzettsegTipusId;
|
|
|
|
var tanarVegzettsegek = kkTanarVegzettsegEntity.KKTantargyKategoria.Where(a => !a.Torolt);
|
|
var torlendok = tanarVegzettsegek.Where(p => !co.TantargyKategoriaIds.Any(p2 => p2 == p.KKSzakTipusId));
|
|
var insertalandok = co.TantargyKategoriaIds.Where(p => !tanarVegzettsegek.Any(p2 => p2.KKSzakTipusId == p));
|
|
foreach (var item in torlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKTantargyKategoria(item.ID);
|
|
}
|
|
|
|
foreach (var item in insertalandok)
|
|
{
|
|
var kkTantargyKategoriaEntity = kkVegzettsegDal.GetKKTantargyKategoria();
|
|
kkTantargyKategoriaEntity.KKTanarVegzettsegId = kkTanarVegzettsegEntity.ID;
|
|
kkTantargyKategoriaEntity.KKSzakTipusId = item;
|
|
kkTantargyKategoriaEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkTantargyKategoriaEntity);
|
|
}
|
|
|
|
kkVegzettsegDal.FullUpdate(kkTanarVegzettsegEntity);
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
});
|
|
}
|
|
|
|
private bool HasKovTanevAndNotSelected(int? kovTanevId, int selectedTanevId)
|
|
{
|
|
return kovTanevId.HasValue && kovTanevId != selectedTanevId;
|
|
}
|
|
|
|
public void UpdateAMITanarVegzettseg(KKAMITanarVegzettsegCo co, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
var kkAMIVegzettsegEntity = kkVegzettsegDal.GetKKAMIVegzettseg(co.EntityId.Value);
|
|
|
|
kkAMIVegzettsegEntity.KKAMIVegzettsegTipusId = co.AMITanariVegzettsegTipusId;
|
|
kkVegzettsegDal.FullUpdate(kkAMIVegzettsegEntity);
|
|
|
|
if (co.ZenemuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.ZenemuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
|
|
var elektoZeneList = kkAMIVegzettsegEntity.KKElektroakuZene.Where(a => !a.Torolt);
|
|
var elektotorlendok = elektoZeneList.Where(p => !co.ElektroAkusztikusZeneIds.Any(p2 => p2 == p.ElektrakuTipusId));
|
|
var elektoinsertalandok = co.ElektroAkusztikusZeneIds.Where(p => !elektoZeneList.Any(p2 => p2.ElektrakuTipusId == p));
|
|
|
|
foreach (var item in elektotorlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKElektroakuZene(item.ID);
|
|
}
|
|
|
|
foreach (var item in elektoinsertalandok)
|
|
{
|
|
var kkElektroakuZeneEntity = kkVegzettsegDal.GetKKElektroakuZene();
|
|
kkElektroakuZeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
kkElektroakuZeneEntity.ElektrakuTipusId = item;
|
|
kkElektroakuZeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkElektroakuZeneEntity);
|
|
}
|
|
|
|
var jazzZeneList = kkAMIVegzettsegEntity.KKJazzZene.Where(a => !a.Torolt);
|
|
var jazzTorlendok = jazzZeneList.Where(p => !co.JazzZeneIds.Any(p2 => p2 == p.JazzZeneTipusId));
|
|
var jazzInsertalandok = co.JazzZeneIds.Where(p => !jazzZeneList.Any(p2 => p2.JazzZeneTipusId == p));
|
|
|
|
foreach (var item in jazzTorlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKJazzZene(item.ID);
|
|
}
|
|
|
|
foreach (var item in jazzInsertalandok)
|
|
{
|
|
var JazzZeneEntity = kkVegzettsegDal.GetKKJazzZene();
|
|
JazzZeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
JazzZeneEntity.JazzZeneTipusId = item;
|
|
JazzZeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(JazzZeneEntity);
|
|
}
|
|
|
|
var nepZeneList = kkAMIVegzettsegEntity.KKNepzene.Where(a => !a.Torolt);
|
|
var nepTorlendok = nepZeneList.Where(p => !co.NepZeneIds.Any(p2 => p2 == p.NepzeneTipusId));
|
|
var nepInsertalandok = co.NepZeneIds.Where(p => !nepZeneList.Any(p2 => p2.NepzeneTipusId == p));
|
|
|
|
foreach (var item in nepTorlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKNepzene(item.ID);
|
|
}
|
|
|
|
foreach (var item in nepInsertalandok)
|
|
{
|
|
var kkNepzeneEntity = kkVegzettsegDal.GetKKNepzene();
|
|
kkNepzeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
kkNepzeneEntity.NepzeneTipusId = item;
|
|
kkNepzeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkNepzeneEntity);
|
|
}
|
|
|
|
var kalsszikZeneList = kkAMIVegzettsegEntity.KKKlasszikusZene.Where(a => !a.Torolt);
|
|
var kalsszikTorlendok = kalsszikZeneList.Where(p => !co.KlasszikusZeneIds.Any(p2 => p2 == p.KlasszukusZeneTipusId));
|
|
var kalsszikInsertalandok = co.KlasszikusZeneIds.Where(p => !kalsszikZeneList.Any(p2 => p2.KlasszukusZeneTipusId == p));
|
|
|
|
foreach (var item in kalsszikTorlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKKlasszikusZene(item.ID);
|
|
}
|
|
|
|
foreach (var item in kalsszikInsertalandok)
|
|
{
|
|
var klasszikusZeneEntity = kkVegzettsegDal.GetKKKlasszikusZene();
|
|
klasszikusZeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
klasszikusZeneEntity.KlasszukusZeneTipusId = item;
|
|
klasszikusZeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(klasszikusZeneEntity);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var terulet = kkAMIVegzettsegEntity.KKTerulet.FirstOrDefault(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.ZenemuveszetiAg && !t.Torolt);
|
|
if (terulet != null)
|
|
{
|
|
foreach (var item in kkAMIVegzettsegEntity.KKElektroakuZene)
|
|
{
|
|
kkVegzettsegDal.DeleteKKElektroakuZene(item.ID);
|
|
}
|
|
foreach (var item in kkAMIVegzettsegEntity.KKKlasszikusZene)
|
|
{
|
|
kkVegzettsegDal.DeleteKKKlasszikusZene(item.ID);
|
|
}
|
|
foreach (var item in kkAMIVegzettsegEntity.KKNepzene)
|
|
{
|
|
kkVegzettsegDal.DeleteKKNepzene(item.ID);
|
|
}
|
|
foreach (var item in kkAMIVegzettsegEntity.KKJazzZene)
|
|
{
|
|
kkVegzettsegDal.DeleteKKJazzZene(item.ID);
|
|
}
|
|
kkVegzettsegDal.DeleteKKTerulet(terulet.ID);
|
|
}
|
|
}
|
|
|
|
if (co.TancmuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.TancmuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
}
|
|
else
|
|
{
|
|
var terulet = kkAMIVegzettsegEntity.KKTerulet.FirstOrDefault(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.TancmuveszetiAg && !t.Torolt);
|
|
if (terulet != null)
|
|
{
|
|
kkVegzettsegDal.DeleteKKTerulet(terulet.ID);
|
|
}
|
|
}
|
|
|
|
if (co.KepzoEsIparMuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.KepzoEsIparmuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
}
|
|
else
|
|
{
|
|
var terulet = kkAMIVegzettsegEntity.KKTerulet.FirstOrDefault(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.KepzoEsIparmuveszetiAg && !t.Torolt);
|
|
if (terulet != null)
|
|
{
|
|
kkVegzettsegDal.DeleteKKTerulet(terulet.ID);
|
|
}
|
|
}
|
|
|
|
if (co.SzinEsBabMuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.SzinEsBabmuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
}
|
|
else
|
|
{
|
|
var terulet = kkAMIVegzettsegEntity.KKTerulet.FirstOrDefault(t => t.AMITeruletTipusId == (int)KKAMITeruletTipusEnum.SzinEsBabmuveszetiAg && !t.Torolt);
|
|
if (terulet != null)
|
|
{
|
|
kkVegzettsegDal.DeleteKKTerulet(terulet.ID);
|
|
}
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void UpdateTanitoVegzettseg(KKTanitoVegzettsegCo co, int? kovTanevId)
|
|
{
|
|
if (co.MuveltsegiTeruletIds.Count < 1)
|
|
{
|
|
throw new ValidationException(AlkalmazottResource.TeruletMegadasaKotelezo);
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(co.AlkalmazottId);
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
|
|
var list = alkalmazottEntity.KKTanitoVezgettseg.Where(a => !a.Torolt);
|
|
var torlendok = list.Where(p => !co.MuveltsegiTeruletIds.Any(p2 => p2 == p.KKTaniotoMuvTerTipusId));
|
|
var insertalandok = co.MuveltsegiTeruletIds.Where(p => !list.Any(p2 => p2.KKTaniotoMuvTerTipusId == p));
|
|
|
|
foreach (var item in torlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKTanitoVezgettseg(item.ID);
|
|
}
|
|
|
|
foreach (var item in insertalandok)
|
|
{
|
|
var kkKTanitoVezgettsegEntity = kkVegzettsegDal.GetKKTanitoVezgettseg();
|
|
kkKTanitoVezgettsegEntity.AlkalmazottId = co.AlkalmazottId;
|
|
kkKTanitoVezgettsegEntity.KKTaniotoMuvTerTipusId = item;
|
|
kkKTanitoVezgettsegEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkKTanitoVezgettsegEntity);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void UpdateGyogypedagogusVegzettseg(KKGyogyPedagogusVegzettsegCo co, int? kovTanevId)
|
|
{
|
|
if (co.GyogypedagogusTeruletIds.Count < 1)
|
|
{
|
|
throw new ValidationException(AlkalmazottResource.TeruletMegadasaKotelezo);
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(co.AlkalmazottId);
|
|
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
|
|
var list = alkalmazottEntity.KKGyogypedVegzettseg.Where(a => !a.Torolt);
|
|
var torlendok = list.Where(p => !co.GyogypedagogusTeruletIds.Any(p2 => p2 == p.KKGyogypedTerTipusId));
|
|
var insertalandok = co.GyogypedagogusTeruletIds.Where(p => !list.Any(p2 => p2.KKGyogypedTerTipusId == p));
|
|
|
|
foreach (var item in torlendok)
|
|
{
|
|
kkVegzettsegDal.DeleteKKGyogypedVegzettseg(item.ID);
|
|
}
|
|
|
|
foreach (var item in insertalandok)
|
|
{
|
|
var kkGyogypedVegzettsegEntity = kkVegzettsegDal.GetKKGyogypedVegzettseg();
|
|
kkGyogypedVegzettsegEntity.AlkalmazottId = co.AlkalmazottId;
|
|
kkGyogypedVegzettsegEntity.KKGyogypedTerTipusId = item;
|
|
kkGyogypedVegzettsegEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkGyogypedVegzettsegEntity);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SaveKepesitesNelkuli(KKVegzettsegBaseCo co, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott();
|
|
var entity = dal.Get(co.AlkalmazottId);
|
|
|
|
entity.KKKepesitesId = (int)co.KepesitesTipusId;
|
|
try
|
|
{
|
|
dal.Update(entity);
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
}
|
|
catch (KretaException e)
|
|
{
|
|
throw new ValidationException(e.Message);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SaveTanarVegzettseg(KKTanarVegzettsegCO co, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(co.AlkalmazottId);
|
|
|
|
alkalmazottEntity.KKKepesitesId = (int)co.KepesitesTipusId;
|
|
|
|
try
|
|
{
|
|
alkalmazottDal.Update(alkalmazottEntity);
|
|
}
|
|
catch (KretaException e)
|
|
{
|
|
throw new ValidationException(e.Message);
|
|
}
|
|
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
var kkTanarVegzettsegEntity = kkVegzettsegDal.GetKKTanarVegzettseg();
|
|
|
|
kkTanarVegzettsegEntity.AlkalmazottId = co.AlkalmazottId;
|
|
kkTanarVegzettsegEntity.Egyeb = co.Egyeb;
|
|
kkTanarVegzettsegEntity.KKTanarVegzettsegId = co.TanariVegzettsegTipusId;
|
|
kkTanarVegzettsegEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkTanarVegzettsegEntity);
|
|
|
|
foreach (var item in co.TantargyKategoriaIds)
|
|
{
|
|
var kkTantargyKategoriaEntity = kkVegzettsegDal.GetKKTantargyKategoria();
|
|
kkTantargyKategoriaEntity.KKTanarVegzettsegId = kkTanarVegzettsegEntity.ID;
|
|
kkTantargyKategoriaEntity.KKSzakTipusId = item;
|
|
kkTantargyKategoriaEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkTantargyKategoriaEntity);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
alkalmazottDal.FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, alkalmazottEntity.ID);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SaveAMITanarVegzettseg(KKAMITanarVegzettsegCo co, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(co.AlkalmazottId);
|
|
|
|
alkalmazottEntity.KKKepesitesId = (int)co.KepesitesTipusId;
|
|
|
|
try
|
|
{
|
|
alkalmazottDal.Update(alkalmazottEntity);
|
|
}
|
|
catch (KretaException e)
|
|
{
|
|
throw new ValidationException(e.Message);
|
|
}
|
|
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
var kkAMIVegzettsegEntity = kkVegzettsegDal.GetKKAMIVegzettseg();
|
|
|
|
kkAMIVegzettsegEntity.KKAMIVegzettsegTipusId = co.AMITanariVegzettsegTipusId;
|
|
kkAMIVegzettsegEntity.AlkalmazottId = co.AlkalmazottId;
|
|
kkAMIVegzettsegEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkAMIVegzettsegEntity);
|
|
|
|
if (co.ZenemuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.ZenemuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
|
|
if (co.ElektroAkusztikusZeneIds.Count > 0)
|
|
{
|
|
foreach (var item in co.ElektroAkusztikusZeneIds)
|
|
{
|
|
var kkElektroakuZeneEntity = kkVegzettsegDal.GetKKElektroakuZene();
|
|
kkElektroakuZeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
kkElektroakuZeneEntity.ElektrakuTipusId = item;
|
|
kkElektroakuZeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkElektroakuZeneEntity);
|
|
}
|
|
}
|
|
|
|
if (co.JazzZeneIds.Count > 0)
|
|
{
|
|
foreach (var item in co.JazzZeneIds)
|
|
{
|
|
var JazzZeneEntity = kkVegzettsegDal.GetKKJazzZene();
|
|
JazzZeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
JazzZeneEntity.JazzZeneTipusId = item;
|
|
JazzZeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(JazzZeneEntity);
|
|
}
|
|
}
|
|
|
|
if (co.NepZeneIds.Count > 0)
|
|
{
|
|
foreach (var item in co.NepZeneIds)
|
|
{
|
|
var kkNepzeneEntity = kkVegzettsegDal.GetKKNepzene();
|
|
kkNepzeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
kkNepzeneEntity.NepzeneTipusId = item;
|
|
kkNepzeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkNepzeneEntity);
|
|
}
|
|
}
|
|
|
|
if (co.KlasszikusZeneIds.Count > 0)
|
|
{
|
|
foreach (var item in co.KlasszikusZeneIds)
|
|
{
|
|
var klasszikusZeneEntity = kkVegzettsegDal.GetKKKlasszikusZene();
|
|
klasszikusZeneEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntity.ID;
|
|
klasszikusZeneEntity.KlasszukusZeneTipusId = item;
|
|
klasszikusZeneEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(klasszikusZeneEntity);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (co.TancmuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.TancmuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
}
|
|
|
|
if (co.KepzoEsIparMuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.KepzoEsIparmuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
}
|
|
|
|
if (co.SzinEsBabMuveszetiTerulet)
|
|
{
|
|
InsertTerulet(kkVegzettsegDal, KKAMITeruletTipusEnum.SzinEsBabmuveszetiAg, kkAMIVegzettsegEntity.ID, h, kovTanevId);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
alkalmazottDal.FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, alkalmazottEntity.ID);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SaveTanitoVegzettseg(KKTanitoVegzettsegCo co, int? kovTanevId)
|
|
{
|
|
if (co.MuveltsegiTeruletIds.Count < 1)
|
|
{
|
|
throw new ValidationException(AlkalmazottResource.TeruletMegadasaKotelezo);
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(co.AlkalmazottId);
|
|
|
|
alkalmazottEntity.KKKepesitesId = (int)co.KepesitesTipusId;
|
|
|
|
try
|
|
{
|
|
alkalmazottDal.Update(alkalmazottEntity);
|
|
}
|
|
catch (KretaException e)
|
|
{
|
|
throw new ValidationException(e.Message);
|
|
}
|
|
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
|
|
var list = alkalmazottEntity.KKTanitoVezgettseg.Where(a => !a.Torolt);
|
|
var insertalandok = co.MuveltsegiTeruletIds.Where(p => !list.Any(p2 => p2.KKTaniotoMuvTerTipusId == p));
|
|
|
|
foreach (var item in insertalandok)
|
|
{
|
|
var kkKTanitoVezgettsegEntity = kkVegzettsegDal.GetKKTanitoVezgettseg();
|
|
kkKTanitoVezgettsegEntity.AlkalmazottId = co.AlkalmazottId;
|
|
kkKTanitoVezgettsegEntity.KKTaniotoMuvTerTipusId = item;
|
|
kkKTanitoVezgettsegEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkKTanitoVezgettsegEntity);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SaveGyogypedagogusVegzettseg(KKGyogyPedagogusVegzettsegCo co, int? kovTanevId)
|
|
{
|
|
if (co.GyogypedagogusTeruletIds.Count < 1)
|
|
{
|
|
throw new ValidationException(AlkalmazottResource.TeruletMegadasaKotelezo);
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(co.AlkalmazottId);
|
|
|
|
alkalmazottEntity.KKKepesitesId = (int)co.KepesitesTipusId;
|
|
|
|
try
|
|
{
|
|
alkalmazottDal.Update(alkalmazottEntity);
|
|
}
|
|
catch (KretaException e)
|
|
{
|
|
throw new ValidationException(e.Message);
|
|
}
|
|
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
var list = alkalmazottEntity.KKGyogypedVegzettseg.Where(a => !a.Torolt);
|
|
var insertalandok = co.GyogypedagogusTeruletIds.Where(p => !list.Any(p2 => p2.KKGyogypedTerTipusId == p));
|
|
|
|
foreach (var item in insertalandok)
|
|
{
|
|
var kkGyogypedVegzettsegEntity = kkVegzettsegDal.GetKKGyogypedVegzettseg();
|
|
kkGyogypedVegzettsegEntity.AlkalmazottId = co.AlkalmazottId;
|
|
kkGyogypedVegzettsegEntity.KKGyogypedTerTipusId = item;
|
|
kkGyogypedVegzettsegEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkGyogypedVegzettsegEntity);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, co.AlkalmazottId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void DeleteKepesites(int tanarId, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(tanarId);
|
|
|
|
alkalmazottEntity.KKKepesitesId = null;
|
|
|
|
try
|
|
{
|
|
alkalmazottDal.Update(alkalmazottEntity);
|
|
}
|
|
catch (KretaException e)
|
|
{
|
|
throw new ValidationException(e.Message);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, tanarId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void DeleteTanarVegzettseg(int kkTanarVegzettsegId, int alkalmazottId, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
h.KKVegzettsegDal().DeleteKKTanarVegzettseg(kkTanarVegzettsegId);
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, alkalmazottId);
|
|
}
|
|
|
|
DeleteKepesitesHaNincsMarVegzettseg(h, alkalmazottId);
|
|
});
|
|
}
|
|
|
|
public void DeleteAMITanarVegzettseg(int kkTanarVegzettsegId, int alkalmazottId, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
h.KKVegzettsegDal().DeleteKKAMIVegzettseg(kkTanarVegzettsegId);
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, alkalmazottId);
|
|
}
|
|
|
|
DeleteKepesitesHaNincsMarVegzettseg(h, alkalmazottId);
|
|
});
|
|
}
|
|
|
|
public void DeleteTanitoVegzettseg(int alkalmazottId, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(alkalmazottId);
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
|
|
foreach (var item in alkalmazottEntity.KKTanitoVezgettseg.Where(a => !a.Torolt))
|
|
{
|
|
kkVegzettsegDal.DeleteKKTanitoVezgettseg(item.ID);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, alkalmazottId);
|
|
}
|
|
|
|
DeleteKepesitesHaNincsMarVegzettseg(h, alkalmazottId);
|
|
});
|
|
}
|
|
|
|
public void DeleteGyogypedagogusVegzettseg(int alkalmazottId, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(alkalmazottId);
|
|
var kkVegzettsegDal = h.KKVegzettsegDal();
|
|
|
|
foreach (var item in alkalmazottEntity.KKGyogypedVegzettseg.Where(a => !a.Torolt))
|
|
{
|
|
kkVegzettsegDal.DeleteKKGyogypedVegzettseg(item.ID);
|
|
}
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, alkalmazottId);
|
|
}
|
|
|
|
DeleteKepesitesHaNincsMarVegzettseg(h, alkalmazottId);
|
|
});
|
|
}
|
|
|
|
private void DeleteKepesitesHaNincsMarVegzettseg(IDalHandler h, int alkalmazottId)
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var alkalmazottEntity = alkalmazottDal.Get(alkalmazottId);
|
|
var gyogypedVegzettseg = alkalmazottEntity.KKGyogypedVegzettseg.Any(a => !a.Torolt);
|
|
var tanitoVegzettseg = alkalmazottEntity.KKTanitoVezgettseg.Any(a => !a.Torolt);
|
|
var tanarVegzettseg = alkalmazottEntity.KKTanarVegzettseg.Any(a => !a.Torolt);
|
|
var tanarAmiVegzettseg = alkalmazottEntity.KKAMIVegzettseg.Any(a => !a.Torolt);
|
|
if (!(gyogypedVegzettseg || tanitoVegzettseg || tanarVegzettseg || tanarAmiVegzettseg))
|
|
{
|
|
alkalmazottEntity.KKKepesitesId = null;
|
|
alkalmazottDal.Update(alkalmazottEntity);
|
|
}
|
|
}
|
|
|
|
private void InsertTerulet(IKKVegzettsegDal kkVegzettsegDal, KKAMITeruletTipusEnum tipus, int kkAMIVegzettsegEntityId, IDalHandler h, int? kovTanevId)
|
|
{
|
|
var kkAMIVegzettsegEntity = kkVegzettsegDal.GetKKAMIVegzettseg(kkAMIVegzettsegEntityId);
|
|
if (kkAMIVegzettsegEntity.KKTerulet.Any(x => !x.Torolt && x.AMITeruletTipusId == (int)tipus))
|
|
{ return; }
|
|
|
|
var kkTeruletEntity = kkVegzettsegDal.GetKKTerulet();
|
|
kkTeruletEntity.KKAMIVegzettsegId = kkAMIVegzettsegEntityId;
|
|
kkTeruletEntity.AMITeruletTipusId = (int)tipus;
|
|
kkTeruletEntity.TanevId = TanevId;
|
|
|
|
kkVegzettsegDal.Insert(kkTeruletEntity);
|
|
|
|
if (HasKovTanevAndNotSelected(kovTanevId, TanevId))
|
|
{
|
|
h.Alkalmazott().FollowUpAlkalmazottVegzettsegKK(IntezmenyId, TanevId, kovTanevId.Value, kkAMIVegzettsegEntity.AlkalmazottId);
|
|
}
|
|
}
|
|
|
|
private DataSet GetTeruletDataSetVaz()
|
|
{
|
|
var resultDs = new DataSet();
|
|
var dt = resultDs.Tables.Add();
|
|
dt.Columns.Add("ID", typeof(string));
|
|
dt.Columns.Add("EntityID", typeof(string));
|
|
dt.Columns.Add("Terulet", typeof(string));
|
|
return resultDs;
|
|
}
|
|
}
|
|
}
|