146 lines
5.4 KiB
C#
146 lines
5.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class OraSorszamozasHalmazHelper : LogicBase
|
|
{
|
|
public OraSorszamozasHalmazHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public DataSet GetAllPaged(OraSorszamozasHalmazSearchCO co)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz(GridParameters);
|
|
return dal.GetAllPaged(TanevId, co.ConvertToPCO());
|
|
});
|
|
}
|
|
|
|
public DataSet GetOsszerendelesek(int halmazId, bool forDetail = false)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
return dal.GetOsszerendelesek(halmazId, forDetail);
|
|
});
|
|
}
|
|
|
|
public void Delete(int id)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
|
|
dal.Delete(id, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public void DeleteOsszerendeles(int osszerendelesId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
|
|
dal.DeleteOsszerendeles(osszerendelesId, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public OraSorszamozasHalmazCO Get(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
var entity = dal.Get(id);
|
|
var co = OraSorszamozasHalmazCO.ConvertEntityToCo(entity);
|
|
|
|
var ds = GetOsszerendelesek(id);
|
|
|
|
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var osszerendelesek = new List<OraSorszamozasHalmazOsszerendelesCO>();
|
|
|
|
foreach (DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
var osszerendeles = new OraSorszamozasHalmazOsszerendelesCO
|
|
{
|
|
ID = SDAConvert.ToInt32(dr["ID"]),
|
|
OsztalyCsoportId = SDAConvert.ToInt32(dr["OsztalyCsoportId"]),
|
|
OsztalyCsoport = SDAConvert.ToString(dr["OsztalyCsoport"]),
|
|
TantargyId = SDAConvert.ToInt32(dr["TantargyId"]),
|
|
Tantargy = SDAConvert.ToString(dr["Tantargy"])
|
|
};
|
|
|
|
osszerendelesek.Add(osszerendeles);
|
|
}
|
|
|
|
co.Osszerendelesek = osszerendelesek;
|
|
}
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public bool NevExists(string nev, int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
return dal.NevExists(TanevId, nev, id);
|
|
});
|
|
}
|
|
|
|
public bool OsszerendelesExists(int osztalyCsoportId, int tantargyId, int halmazId, List<int> deletedOsszerendeslIds)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
return dal.OsszerendelesExists(TanevId, osztalyCsoportId, tantargyId, halmazId, deletedOsszerendeslIds);
|
|
});
|
|
}
|
|
|
|
public void Save(OraSorszamozasHalmazCO co)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
var halmazId = dal.Save(TanevId, co.ID, co.Nev, co.KozosOraSorszamozasElteroTanarnal, co.Tipus, co.Kezdoertek);
|
|
|
|
var idsInGrid = co.Osszerendelesek.Select(x => x.ID).ToList();
|
|
|
|
dal.DeleteOsszerendelesek(halmazId, idsInGrid, IntezmenyId, TanevId);
|
|
|
|
foreach (var m in co.Osszerendelesek)
|
|
{
|
|
var osszerendelesId = dal.SaveOsszerendeles(TanevId, m.OsztalyCsoportId, m.TantargyId, halmazId);
|
|
|
|
if (m.Selected)
|
|
{
|
|
dal.SetHalmazOsszerendeles(halmazId, osszerendelesId);
|
|
}
|
|
}
|
|
|
|
var oraSorszamozasDal = dal.Get(halmazId);
|
|
|
|
var oraSorszamozasOsszerendelesList = oraSorszamozasDal.OraSorszamozasHalmazOsszerendelesList.Where(x => !x.Torolt).ToList();
|
|
|
|
new TanoraHelper(new DalHandlerConnectionType(ConnectionType, h)).UpdateTanitasiOraEvesSorszamTeljesTanev();
|
|
});
|
|
}
|
|
|
|
public List<int> GetEvesOraszamForTantargyAndOsztaly(int itezmenyId, int osztalyCsoportId, int tantargyId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IOraSorszamozasHalmazDAL dal = h.OraSorszamozasHalmaz();
|
|
return dal.GetEvesOraszamForTantargyAndOsztaly(TanevId, itezmenyId, osztalyCsoportId, tantargyId);
|
|
});
|
|
}
|
|
}
|
|
}
|