init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
395
Kreta.BusinessLogic/Helpers/FoglalkozasHelper.cs
Normal file
395
Kreta.BusinessLogic/Helpers/FoglalkozasHelper.cs
Normal file
|
@ -0,0 +1,395 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccess.Interfaces;
|
||||
using Kreta.DataAccessManual;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
|
||||
namespace Kreta.BusinessLogic.Helpers
|
||||
{
|
||||
public class FoglalkozasHelper : LogicBase
|
||||
{
|
||||
public FoglalkozasHelper(IConnectionType connectionType) : base(connectionType) { }
|
||||
|
||||
public IDictionary<string, string> GetSablonok(int osztalyId)
|
||||
{
|
||||
var result = Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
if (GridParameters == null)
|
||||
{
|
||||
GridParameters = new GridParameters();
|
||||
}
|
||||
|
||||
GridParameters.OrderBy = "Evfolyam ASC, Tantargy ASC, Tagozat ASC";
|
||||
var dal = h.Foglalkozas(GridParameters);
|
||||
return dal.GetSablonok(TanevId, osztalyId);
|
||||
});
|
||||
|
||||
return LogicUtil.CreateDropdownContent(result, "ID", "SablonNev", sort: false);
|
||||
}
|
||||
|
||||
public DataSet GetSablon(int sablonId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
return dal.GetSablon(sablonId);
|
||||
});
|
||||
}
|
||||
|
||||
public DataSet GetOsztalyCsoportFoglalkozasai(int id, OktNevelesiKategoriaEnum? kategoria)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas(GridParameters);
|
||||
return dal.GetOsztalyCsoportFoglalkozasai(id, TanevId, kategoria);
|
||||
});
|
||||
}
|
||||
|
||||
public DataSet GetTanuloCsoportosFoglalkozasai(int tanuloId, int osztalyId, OktNevelesiKategoriaEnum? kategoria)
|
||||
{
|
||||
var amiEgyeniCsoportok = Constants.AMIEgyeniCsoportok;
|
||||
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
if (GridParameters == null)
|
||||
{
|
||||
GridParameters = new GridParameters();
|
||||
}
|
||||
|
||||
GridParameters.OrderBy = "Osztaly ASC, Tantargy ASC, Tanar ASC";
|
||||
|
||||
var tanevElsoNapja = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevKezdete();
|
||||
|
||||
var dal = h.Foglalkozas(GridParameters);
|
||||
return dal.GetTanuloFoglalkozasai(tanuloId, osztalyId, TanevId, egyeni: false, amiEgyeniCsoportok, kategoria, tanevElsoNapja);
|
||||
});
|
||||
}
|
||||
|
||||
public DataSet GetTanuloEgyeniFoglalkozasai(int tanuloId, int osztalyId, OktNevelesiKategoriaEnum? kategoria)
|
||||
{
|
||||
var amiEgyeniCsoportok = Constants.AMIEgyeniCsoportok;
|
||||
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
if (GridParameters == null)
|
||||
{
|
||||
GridParameters = new GridParameters();
|
||||
}
|
||||
|
||||
GridParameters.OrderBy = "Osztaly ASC, Tantargy ASC, Tanar ASC";
|
||||
|
||||
var tanevElsoNapja = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevKezdete();
|
||||
|
||||
var dal = h.Foglalkozas(GridParameters);
|
||||
return dal.GetTanuloFoglalkozasai(tanuloId, osztalyId, TanevId, egyeni: true, amiEgyeniCsoportok, kategoria, tanevElsoNapja);
|
||||
});
|
||||
}
|
||||
|
||||
public TantargyFoglalkozasCO GetFoglalkozas(int foglalkozasId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas(GridParameters);
|
||||
var entity = dal.Get(foglalkozasId);
|
||||
|
||||
var result = new TantargyFoglalkozasCO
|
||||
{
|
||||
ID = foglalkozasId,
|
||||
OsztalyCsoportId = entity.OsztalyCsoportId,
|
||||
OsztalyCsoportNev = entity.OsztalyCsoport.Nev,
|
||||
TantargyNev = entity.Tantargy.Nev,
|
||||
TantargyId = entity.Tantargy.ID,
|
||||
IsOsztalyfonoki = entity.Tantargy.TargyKategoria == (int)TargyKategoriaTipusEnum.osztalyfonoki_elet_es_palyatervezes,
|
||||
Oraszam = entity.Oraszam
|
||||
};
|
||||
return result;
|
||||
});
|
||||
}
|
||||
|
||||
public string GetTanarokTanoranKivuliFoglalkozashoz(int tanoranKivuliFoglalkozasId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas(GridParameters);
|
||||
var ret = "";
|
||||
var ds = dal.GetTanarokTanoranKivuliFoglalkozashoz(tanoranKivuliFoglalkozasId, TanevId);
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
ret += row["TanarNev"] + Environment.NewLine;
|
||||
}
|
||||
|
||||
return ret;
|
||||
});
|
||||
}
|
||||
|
||||
public void SaveTanoranKivuliFoglalkozas(FoglalkozasCO co)
|
||||
{
|
||||
ValidateFoglalkozasCO(co);
|
||||
|
||||
Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var orarendiOraDal = h.OrarendiOra(GridParameters);
|
||||
IOrarendiOra ora = co.ID.HasValue ? orarendiOraDal.Get(co.ID.Value) : orarendiOraDal.Get();
|
||||
|
||||
switch (co.Kezdete.Value.DayOfWeek)
|
||||
{
|
||||
case DayOfWeek.Monday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Hetfo;
|
||||
break;
|
||||
|
||||
case DayOfWeek.Tuesday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Kedd;
|
||||
break;
|
||||
|
||||
case DayOfWeek.Wednesday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Szerda;
|
||||
break;
|
||||
|
||||
case DayOfWeek.Thursday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Csutortok;
|
||||
break;
|
||||
|
||||
case DayOfWeek.Friday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Pentek;
|
||||
break;
|
||||
|
||||
case DayOfWeek.Saturday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Szombat;
|
||||
break;
|
||||
|
||||
case DayOfWeek.Sunday:
|
||||
ora.HetNapja = (int)HetNapjaTipusEnum.Vasarnap;
|
||||
break;
|
||||
}
|
||||
|
||||
ora.Bontott = co.Bontott;
|
||||
ora.Hetirend = co.Hetirend;
|
||||
ora.IKTTanora = co.IKTTanora;
|
||||
ora.IPRTanora = co.IPRTanora;
|
||||
ora.Kooperativ = co.Kooperativ;
|
||||
ora.Meres = co.Meres;
|
||||
ora.MindennaposTestneveles = co.MindennaposTestneveles;
|
||||
ora.NemSzakrendszeruOra = co.NemSzakrendszeruOra;
|
||||
ora.NemzetisegiOra = co.NemzetisegiOra;
|
||||
ora.IsFelnottoktatasiSzerzodes = co.IsFelnottoktatasiSzerzodes;
|
||||
|
||||
if (co.ErvenyessegKezdete.HasValue)
|
||||
ora.OraErvenyessegKezdete = co.ErvenyessegKezdete.Value;
|
||||
if (co.ErvenyessegVege.HasValue)
|
||||
ora.OraErvenyessegVege = co.ErvenyessegVege.Value;
|
||||
|
||||
ora.OraKezdete = co.Kezdete.Value;
|
||||
ora.OraVege = co.Vege.Value;
|
||||
|
||||
ora.Differencialt = co.Differencialt;
|
||||
ora.Drama = co.Drama;
|
||||
|
||||
ora.ParhuzamosOra = co.ParhuzamosOra;
|
||||
ora.Sorszamozando = co.Sorszamozando;
|
||||
ora.TAMOPOra = co.TAMOPOra;
|
||||
ora.KIPOra = co.KIPOra;
|
||||
ora.VEKOP73317 = co.VEKOP73317;
|
||||
ora.KAPOra = co.KAPOra;
|
||||
|
||||
ora.TanarId = co.TanarID;
|
||||
ora.OraTulajdonosId = co.TanarID;
|
||||
|
||||
//Tanórán kivüli foglalkozás esetében nincs óraszám, mert nem csengetési rendhez kötött!
|
||||
ora.Oraszam = 0;
|
||||
if (co.TanoranKivuliFoglalkozas.HasValue)
|
||||
{
|
||||
ora.FoglalkozasId = co.TanoranKivuliFoglalkozas.Value;
|
||||
var foglalkozasDal = h.Foglalkozas();
|
||||
var f = foglalkozasDal.Get(co.TanoranKivuliFoglalkozas.Value);
|
||||
ora.TantargyId = f.TantargyId;
|
||||
ora.OsztalyCsoportId = f.OsztalyCsoportId;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (co.OsztalyCsoportId.HasValue)
|
||||
{
|
||||
ora.OsztalyCsoportId = co.OsztalyCsoportId.Value;
|
||||
}
|
||||
|
||||
if (co.TantargyId.HasValue)
|
||||
{
|
||||
ora.TantargyId = co.TantargyId.Value;
|
||||
}
|
||||
}
|
||||
|
||||
ora.TeremId = co.TeremID.Value;
|
||||
ora.TIOP12 = co.Tiop;
|
||||
ora.Tulora = co.Tulora;
|
||||
|
||||
if (co.ID.HasValue)
|
||||
{
|
||||
orarendiOraDal.FullUpdate(ora);
|
||||
}
|
||||
else
|
||||
{
|
||||
orarendiOraDal.Insert(ora);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public int SaveFoglalkozas(int tantargyId, int osztalyCsoportId, int tanarId, double oraszam = 1D, bool isOsszevontOra = false, bool isNemzetisegiOra = false)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var entity = dal.Get();
|
||||
|
||||
entity.TanevId = TanevId;
|
||||
entity.FoglalkozasTipusa = (int)FoglalkozasTipusEnum.tanora;
|
||||
entity.Oraszam = oraszam;
|
||||
entity.Nev = null;
|
||||
entity.ErtekelesKell = false;
|
||||
entity.MulasztasKell = false;
|
||||
entity.TanarFelveheti = false;
|
||||
entity.TantargyId = tantargyId;
|
||||
entity.OsztalyCsoportId = osztalyCsoportId;
|
||||
entity.TanarId = tanarId;
|
||||
entity.IsOsszevontOra = isOsszevontOra;
|
||||
entity.IsNemzetisegi = isNemzetisegiOra;
|
||||
dal.Insert(entity);
|
||||
return entity.ID;
|
||||
});
|
||||
}
|
||||
|
||||
public string GetFoglalkozasNeve(int foglalkozasId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var f = dal.Get(foglalkozasId);
|
||||
return f.Tantargy.Nev + "_" + f.OsztalyCsoport.Nev;
|
||||
});
|
||||
}
|
||||
|
||||
public IDictionary<string, string> GetTanarFoglalkozasok(int tanarId, string typeId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var ds = dal.GetTanarFoglalkozasok(tanarId, TanevId, typeId);
|
||||
return LogicUtil.CreateDropdownContent(ds, "ID", "Nev", null, false);
|
||||
});
|
||||
}
|
||||
|
||||
public IDictionary<string, string> GetTanarNemTanitottFoglalkozasok(int tanarId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var ds = dal.GetTanarNemTanitottFoglalkozasok(tanarId, TanevId);
|
||||
return LogicUtil.CreateDropdownContent(ds, "OCSID", "Nev", null, false);
|
||||
});
|
||||
}
|
||||
|
||||
public IDictionary<string, string> GetOsszesFoglalkozas()
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var ds = dal.GetOsszesFoglalkozas(TanevId, null);
|
||||
return LogicUtil.CreateDropdownContent(ds, "ID", "Nev");
|
||||
});
|
||||
}
|
||||
|
||||
public IDictionary<string, string> GetTanarFoglalkozasTipusok(int felhasznaloId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var ds = dal.GetTanarFoglalkozasTipusok(felhasznaloId, TanevId);
|
||||
return LogicUtil.CreateDropdownContent(ds, "Tipus", "Tipus_DNAME", StringResourcesUtils.GetString(2672));
|
||||
});
|
||||
}
|
||||
|
||||
public IDictionary<string, string> GetTanoranKivuliFoglalkozasok(int? tanarId, int? stringResourceId = null)
|
||||
{
|
||||
IDictionary<string, string> result = new Dictionary<string, string>();
|
||||
|
||||
var ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
return dal.GetTanoranKivuliFoglalkozasok(tanarId, TanevId);
|
||||
});
|
||||
|
||||
if (stringResourceId.HasValue)
|
||||
{
|
||||
result.Add("", StringResourcesUtils.GetString(stringResourceId.Value));
|
||||
}
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
var id = row["ID"].ToString();
|
||||
var value = $"{row["FoglalkozasNev"]} ({row["FoglalkozasTipusa_DNAME"]}) - {row["TantargyNev"]} - {row["OsztalyCsoportNev"]}";
|
||||
result.Add(id, value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public FoglalkozasTipusEnum GetFoglalkozasTipusByOsztalyCsoportTipus(CsoportTipusEnum osztalyCsoportTipus, bool? isBontott)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.Foglalkozas();
|
||||
var result = dal.GetFoglalkozasTipusByOsztalyCsoportTipus((int)osztalyCsoportTipus, isBontott);
|
||||
|
||||
return result.HasValue ? (FoglalkozasTipusEnum)result : FoglalkozasTipusEnum.na;
|
||||
});
|
||||
}
|
||||
|
||||
private void ValidateFoglalkozasCO(FoglalkozasCO co)
|
||||
{
|
||||
if (co.UseFoglalkozas && co.TanoranKivuliFoglalkozas.HasValue == false)
|
||||
{
|
||||
throw new ArgumentNullException("TanoranKivuliFoglalkozas");
|
||||
}
|
||||
if (!co.UseFoglalkozas)
|
||||
{
|
||||
if (co.OsztalyCsoportId.HasValue == false)
|
||||
{
|
||||
throw new ArgumentNullException("OsztalyCsoportId");
|
||||
}
|
||||
if (co.TantargyId.HasValue == false)
|
||||
{
|
||||
throw new ArgumentNullException("TantargyId");
|
||||
}
|
||||
}
|
||||
if (co.Kezdete.HasValue == false)
|
||||
{
|
||||
throw new ArgumentNullException("Kezdete");
|
||||
}
|
||||
if (co.Vege.HasValue == false)
|
||||
{
|
||||
throw new ArgumentNullException("Vege");
|
||||
}
|
||||
if (co.TeremID.HasValue == false)
|
||||
{
|
||||
throw new ArgumentNullException("TeremID");
|
||||
}
|
||||
}
|
||||
|
||||
public (double oraszam, double ttfKorrekcioOraszam) GetFoglalkozasOsszOraszamok(bool IsFromSzervezet = false)
|
||||
{
|
||||
var ds = Dal.CustomConnection.Run(ConnectionType, h => h.Foglalkozas().GetFoglalkozasOsszOraszamok(TanevId, IsFromSzervezet));
|
||||
|
||||
var oraszam = SDAConvert.ToDouble(ds.Tables[0].Rows[0]["Oraszam"]);
|
||||
var ttfKorrekcioOraszam = SDAConvert.ToDouble(ds.Tables[0].Rows[0]["TtfKorrekcioOraszam"]);
|
||||
|
||||
return (oraszam, ttfKorrekcioOraszam);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue