333 lines
12 KiB
C#
333 lines
12 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.Framework;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class OratervHelper : LogicBase
|
|
{
|
|
public OratervHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public DataSet GetOraTerv(OratervCO co)
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
OratervPCO pco = Convert_CO_to_PCO(co);
|
|
|
|
var dal = h.OratervDal(GridParameters);
|
|
return dal.GetOraterv(pco);
|
|
});
|
|
|
|
public DataSet GetOratervTantargy(OratervCO co)
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal(GridParameters);
|
|
return dal.GetOratervTantargy(co.OratervId.Value, TanevId);
|
|
});
|
|
|
|
private OratervPCO Convert_CO_to_PCO(OratervCO co)
|
|
{
|
|
OratervPCO pco = new OratervPCO()
|
|
{
|
|
TantervId = co.TantervId,
|
|
EvfolyamID = co.Evfolyam,
|
|
Nev = co.Nev,
|
|
TanevId = TanevId,
|
|
IsValidacio = co.IsValidacio
|
|
};
|
|
|
|
return pco;
|
|
}
|
|
|
|
public void InsertOratervTantargyCO(OratervTantargyCO oratervTargyCO, bool isActivTanev)
|
|
{
|
|
if (oratervTargyCO.EvesOraszam > Constants.MinMaxValues.OratervTantargyEvesOraszamMaxValue)
|
|
{
|
|
throw new BlException(string.Format(TantargyResource.AzEvesOraszamTulNagyErtek, Constants.MinMaxValues.OratervTantargyEvesOraszamMaxValue));
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
IOraTervTargy oOraTervTargy = Convert_OratervTargyCO_to_OratervTargy(h, oratervTargyCO, isUpdate: false);
|
|
dal.Insert(oOraTervTargy);
|
|
|
|
if (isActivTanev)
|
|
{
|
|
dal.FullUpdate(oOraTervTargy.OraTerv);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void UpdateOratervTantargyCO(OratervTantargyCO oratervTargyCO, bool isActivTanev)
|
|
{
|
|
if (oratervTargyCO.EvesOraszam > Constants.MinMaxValues.OratervTantargyEvesOraszamMaxValue)
|
|
{
|
|
throw new BlException(string.Format(TantargyResource.AzEvesOraszamTulNagyErtek, Constants.MinMaxValues.OratervTantargyEvesOraszamMaxValue));
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
IOraTervTargy oOraTervTargy = Convert_OratervTargyCO_to_OratervTargy(h, oratervTargyCO, isUpdate: true);
|
|
dal.FullUpdate(oOraTervTargy);
|
|
|
|
if (isActivTanev)
|
|
{
|
|
dal.FullUpdate(oOraTervTargy.OraTerv);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void DeleteOratervTantargy(int ID)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
var entity = dal.GetOraTervTargy();
|
|
entity = dal.GetOraTervTargy(ID);
|
|
dal.Delete(entity);
|
|
});
|
|
}
|
|
|
|
public Dictionary<string, string> GetTantargyak(int ID)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
Dictionary<string, string> result = new Dictionary<string, string>();
|
|
result.Add("", StringResourcesUtil.GetString(364));
|
|
|
|
var dal = h.OratervDal(GridParameters);
|
|
DataSet ds = dal.GetTantargyak(ID, TanevId);
|
|
|
|
foreach (DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
result.Add(dr["ID"].ToString(), dr["C_NEV"].ToString());
|
|
}
|
|
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public Dictionary<string, string> GetTantargyakModOraTervTantargy(int ID, int OraTervTantargyId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
Dictionary<string, string> result = new Dictionary<string, string>();
|
|
result.Add("", StringResourcesUtil.GetString(364));
|
|
|
|
var dal = h.OratervDal(GridParameters);
|
|
DataSet ds = dal.GetTantargyakModOraTervTantargy(ID, OraTervTantargyId, TanevId);
|
|
|
|
foreach (DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
result.Add(dr["ID"].ToString(), dr["C_NEV"].ToString());
|
|
}
|
|
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public OratervCO GetOratervCO(int ID)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var oOraTerv = h.OratervDal().Get(ID);
|
|
|
|
OratervCO co = new OratervCO()
|
|
{
|
|
Nev = oOraTerv.Nev,
|
|
Evfolyam = oOraTerv.Evfolyam,
|
|
TantervId = oOraTerv.TantervId,
|
|
OratervId = ID
|
|
};
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public OratervTantargyCO GetOratervTantargyCO(int ID)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
var oOraTervTargy = dal.GetOraTervTargy();
|
|
oOraTervTargy = dal.GetOraTervTargy(ID);
|
|
|
|
OratervTantargyCO co = new OratervTantargyCO()
|
|
{
|
|
EvesOraszam = oOraTervTargy.EvesOraszam,
|
|
Tantargy = oOraTervTargy.TantargyId,
|
|
OratervId = oOraTervTargy.OraTervId,
|
|
OratervTantargyId = ID
|
|
};
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public void InsertOratervCO(OratervCO oratervCO)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
var oOraTerv = Convert_OratervCO_to_Oraterv(h, oratervCO, isUpdate: false);
|
|
dal.Insert(oOraTerv);
|
|
});
|
|
}
|
|
|
|
public void UpdateOratervCO(OratervCO oratervCO)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
var oOraTerv = Convert_OratervCO_to_Oraterv(h, oratervCO, isUpdate: true);
|
|
dal.FullUpdate(oOraTerv);
|
|
});
|
|
}
|
|
|
|
public void DeleteOratervCO(int ID)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal();
|
|
var oOraTerv = dal.Get(ID);
|
|
dal.Delete(oOraTerv);
|
|
});
|
|
}
|
|
|
|
private IOraTerv Convert_OratervCO_to_Oraterv(IDalHandler h, OratervCO oratervCO, bool isUpdate = false)
|
|
{
|
|
var oOraterv = h.OratervDal().Get();
|
|
if (isUpdate)
|
|
{
|
|
oOraterv = h.OratervDal().Get(oratervCO.OratervId.Value);
|
|
}
|
|
|
|
oOraterv.Nev = oratervCO.Nev;
|
|
oOraterv.Evfolyam = oratervCO.Evfolyam;
|
|
oOraterv.TantervId = oratervCO.TantervId.Value;
|
|
oOraterv.TanevId = TanevId;
|
|
|
|
return oOraterv;
|
|
}
|
|
|
|
private IOraTervTargy Convert_OratervTargyCO_to_OratervTargy(IDalHandler h, OratervTantargyCO oratervTargyCO, bool isUpdate = false)
|
|
{
|
|
var dal = h.OratervDal();
|
|
var oOratervTargy = dal.GetOraTervTargy();
|
|
if (isUpdate)
|
|
{
|
|
oOratervTargy = dal.GetOraTervTargy(oratervTargyCO.OratervTantargyId.Value);
|
|
}
|
|
|
|
oOratervTargy.OraTervId = oratervTargyCO.OratervId;
|
|
oOratervTargy.EvesOraszam = oratervTargyCO.EvesOraszam;
|
|
oOratervTargy.TantargyId = oratervTargyCO.Tantargy;
|
|
oOratervTargy.TanevId = TanevId;
|
|
|
|
return oOratervTargy;
|
|
}
|
|
|
|
public bool IfModifyOrDeleteOraTerv(int ID)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal(GridParameters);
|
|
int result = dal.IfModifyOrDeleteOraTerv(ID);
|
|
|
|
return result <= 0;
|
|
});
|
|
}
|
|
|
|
public void DeleteAllOratervTantargy(int oratervID)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OratervDal(GridParameters);
|
|
DataSet ds = dal.GetOratervTantargyakById(oratervID, TanevId);
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
var oOraTervTargy = dal.GetOraTervTargy();
|
|
oOraTervTargy = dal.GetOraTervTargy(int.Parse(row["ID"].ToString()));
|
|
|
|
dal.Delete(oOraTervTargy);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public List<OratervCO> GetOratervCoList()
|
|
{
|
|
List<OratervCO> result = Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
|
{
|
|
DataSet dataSet = dalHandler.OratervDal().GetOratervDataSet(TanevId);
|
|
var oratervItemCoList = new List<OratervCO>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].AsEnumerable())
|
|
{
|
|
var oratervCo = new OratervCO
|
|
{
|
|
OratervId = SDAConvert.ToInt32(dataRow["Id"]),
|
|
Nev = SDAConvert.ToString(dataRow["OratervNev"]),
|
|
Evfolyam = SDAConvert.ToInt32(dataRow["EvfolyamId"]),
|
|
EvfolyamNev = SDAConvert.ToString(dataRow["EvfolyamId_DNAME"]),
|
|
TantervId = SDAConvert.ToInt32(dataRow["TantervId"]),
|
|
TantervNev = SDAConvert.ToString(dataRow["TantervNev"]),
|
|
};
|
|
oratervItemCoList.Add(oratervCo);
|
|
}
|
|
|
|
return oratervItemCoList;
|
|
});
|
|
|
|
return result;
|
|
}
|
|
|
|
public List<OratervTantargyCO> GetOratervTantargyCoList()
|
|
{
|
|
List<OratervTantargyCO> result = Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
|
{
|
|
DataSet dataSet = dalHandler.OratervDal().GetOratervTantargyDataSet(TanevId);
|
|
var oratervTantargyItemCoList = new List<OratervTantargyCO>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].AsEnumerable())
|
|
{
|
|
var oratervTantargyCo = new OratervTantargyCO
|
|
{
|
|
OratervTantargyId = SDAConvert.ToInt32(dataRow["Id"]),
|
|
OratervId = SDAConvert.ToInt32(dataRow["OratervId"]),
|
|
Tantargy = SDAConvert.ToInt32(dataRow["TantargyId"]),
|
|
EvesOraszam = SDAConvert.ToDouble(dataRow["EvesOraszam"]),
|
|
OratervNev = SDAConvert.ToString(dataRow["OratervNev"]),
|
|
TantargyNev = SDAConvert.ToString(dataRow["TantargyNev"]),
|
|
};
|
|
oratervTantargyItemCoList.Add(oratervTantargyCo);
|
|
}
|
|
|
|
return oratervTantargyItemCoList;
|
|
});
|
|
|
|
List<OratervCO> oratervCoList = GetOratervCoList();
|
|
foreach (OratervTantargyCO co in result)
|
|
{
|
|
OratervCO oratervCo = oratervCoList.Single(x => x.OratervId == co.OratervId);
|
|
co.TantervNev = oratervCo.TantervNev;
|
|
co.EvfolyamNev = oratervCo.EvfolyamNev;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|