init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
199
Kreta.BusinessLogic/Helpers/HetesekHelper.cs
Normal file
199
Kreta.BusinessLogic/Helpers/HetesekHelper.cs
Normal file
|
@ -0,0 +1,199 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Helpers
|
||||
{
|
||||
public class HetesekHelper : LogicBase
|
||||
{
|
||||
public HetesekHelper(IConnectionType connectionType) : base(connectionType) { }
|
||||
|
||||
public DataSet GetHetSorszamokTanulokkal(int osztalyCsoportId, int? hetSorszam = null)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
IHetesDal dal = h.HetesDal();
|
||||
return dal.GetHetSorszamokTanulokkal(TanevId, osztalyCsoportId, hetSorszam);
|
||||
});
|
||||
}
|
||||
|
||||
public DataSet GetHetesek(int osztalyCsoportId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
IHetesDal dal = h.HetesDal();
|
||||
return dal.GetHetesek(TanevId, osztalyCsoportId);
|
||||
});
|
||||
}
|
||||
|
||||
public void DeleteFutureHetesInOsztalyCsoport(int osztalyCsoportId)
|
||||
{
|
||||
Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
IHetesDal dal = h.HetesDal();
|
||||
dal.DeleteFutureHetesInOsztalyCsoport(TanevId, osztalyCsoportId);
|
||||
});
|
||||
}
|
||||
|
||||
public void SaveOrDeleteHetesekFeljegyzessel(List<HetesekCO> hetesekCoList, int osztalyCsoportId, int felhasznaloId)
|
||||
{
|
||||
|
||||
Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
IHetesDal hetesDal = h.HetesDal();
|
||||
IFeljegyzesDal feljegyzesDal = h.Feljegyzes();
|
||||
|
||||
List<int> beallitottHetesTanuloIdList = new List<int>();
|
||||
List<int> toroltHetesTanuloIdList = new List<int>();
|
||||
|
||||
foreach (var hetesekCO in hetesekCoList)
|
||||
{
|
||||
var (toroltHetesek, beallitottHetesek) = SaveOrDeleteHetesek(osztalyCsoportId, hetesekCO.HetSorszam, hetesekCO.TanuloIdList, hetesDal);
|
||||
beallitottHetesTanuloIdList.AddRange(beallitottHetesek);
|
||||
toroltHetesTanuloIdList.AddRange(toroltHetesek);
|
||||
}
|
||||
|
||||
if (toroltHetesTanuloIdList.Any())
|
||||
{
|
||||
DataSet toroltHetesekIdoszakbanDataSet = hetesDal.GetHetesAdatokFeljegyzeshez(TanevId, osztalyCsoportId, toroltHetesTanuloIdList.Distinct().ToList(), true);
|
||||
|
||||
foreach (var hetesId in toroltHetesTanuloIdList.Distinct().ToList())
|
||||
{
|
||||
var hetesData = toroltHetesekIdoszakbanDataSet.Tables[0].AsEnumerable().Where(x => x.Field<int>("ID") == hetesId).ToList();
|
||||
SaveHetesFeljegyzes(true, feljegyzesDal, felhasznaloId, hetesId, hetesData);
|
||||
}
|
||||
}
|
||||
|
||||
if (beallitottHetesTanuloIdList.Any())
|
||||
{
|
||||
DataSet beallitottHetesekIdoszakbanDataSet = hetesDal.GetHetesAdatokFeljegyzeshez(TanevId, osztalyCsoportId, beallitottHetesTanuloIdList.Distinct().ToList(), false);
|
||||
foreach (var hetesId in beallitottHetesTanuloIdList.Distinct().ToList())
|
||||
{
|
||||
var hetesData = beallitottHetesekIdoszakbanDataSet.Tables[0].AsEnumerable().Where(x => x.Field<int>("ID") == hetesId).ToList();
|
||||
SaveHetesFeljegyzes(false, feljegyzesDal, felhasznaloId, hetesId, hetesData);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void SaveHetesFeljegyzes(bool isTorles, IFeljegyzesDal dal, int felhasznaloId, int hetesId, List<DataRow> hetesData)
|
||||
{
|
||||
var entity = dal.Get();
|
||||
//entity.Kezdete =
|
||||
entity.FaliujsagMegjelenes = true;
|
||||
entity.EsemenyDatuma = hetesData[0].Field<DateTime>("KezdoNap");
|
||||
entity.Tipus = (int)EsemenyTipusEnum.ElektronikusUzenet;
|
||||
//entity.Vege =;
|
||||
entity.FeljegyzoId = felhasznaloId;
|
||||
entity.Mindenkinek = false;
|
||||
entity.Targy = HetesResource.HetesnekTortenoBeallitas;
|
||||
entity.Tartalom = CreateHetesFeljegyzesSzoveg(isTorles, hetesData);
|
||||
entity.BeirasTanuloId = hetesId;
|
||||
dal.Insert(entity);
|
||||
|
||||
dal.AddTanulo(entity, hetesId);
|
||||
}
|
||||
|
||||
private string CreateHetesFeljegyzesSzoveg(bool isTorles, List<DataRow> hetesData)
|
||||
{
|
||||
var hetesFirst = hetesData[0];
|
||||
var hetesNev = hetesFirst.Field<string>("Nev");
|
||||
var hetesOsztalyNev = hetesFirst.Field<string>("OsztalyCsoportNev");
|
||||
|
||||
var hetesIdoszakokString = new StringBuilder();
|
||||
foreach (var hetes in hetesData)
|
||||
{
|
||||
hetesIdoszakokString.Append($"{ hetes.Field<DateTime>("KezdoNap").ToString(Constants.ToStringPattern.HungarianDate)} - {hetes.Field<DateTime>("UtolsoNap").ToString(Constants.ToStringPattern.HungarianDateWithSuffix)}, ");
|
||||
}
|
||||
|
||||
return string.Format(HetesResource.HetesekFaliujsag, Environment.NewLine, hetesNev, hetesIdoszakokString.ToString().TrimEnd(','), isTorles ? HetesResource.hetesBeallitasaTorlesreKerult : HetesResource.hetesnekLettBeallitva, hetesOsztalyNev);
|
||||
}
|
||||
|
||||
public (List<int> toroltHetesek, List<int> beallitottHetesek) SaveOrDeleteHetesek(int osztalyCsoportId, int hetSorszam, List<int> selectedTanuloIds, IHetesDal hetesDal)
|
||||
{
|
||||
return hetesDal.SaveOrDeleteHetesek(TanevId, osztalyCsoportId, hetSorszam, selectedTanuloIds);
|
||||
}
|
||||
|
||||
public string GetHetesekForDatum(int osztalyCsoportId, DateTime datum)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
IHetesDal dal = h.HetesDal();
|
||||
return dal.GetHetesekForDatum(TanevId, osztalyCsoportId, datum);
|
||||
});
|
||||
}
|
||||
public Dictionary<int, string> GetHetesSzovegHetsorszammal(List<int> osztalyCsoportIdList)
|
||||
{
|
||||
var hetesString = new StringBuilder();
|
||||
var hetesDataRowList = Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
IHetesDal dal = h.HetesDal();
|
||||
return dal.GetHetesNevekHetsorszammal(TanevId, osztalyCsoportIdList).Tables[0].AsEnumerable().ToList();
|
||||
});
|
||||
|
||||
var hetesDictionary = new Dictionary<int, string>();
|
||||
|
||||
var hetsorszamList = hetesDataRowList.Select(x => x.Field<int>("Hetsorszama")).Distinct().OrderBy(x => x).ToList();
|
||||
foreach (var hetSorszam in hetsorszamList)
|
||||
{
|
||||
hetesDictionary.Add(hetSorszam, CreateHetesSzovegFromDataRowList(hetesString, hetesDataRowList.Where(x => x.Field<int>("Hetsorszama") == hetSorszam)));
|
||||
hetesString.Clear();
|
||||
}
|
||||
|
||||
return hetesDictionary;
|
||||
}
|
||||
|
||||
private string CreateHetesSzovegFromDataRowList(StringBuilder hetesString, IEnumerable<DataRow> hetesDataRowList)
|
||||
{
|
||||
var nevelesOktatasosHetesek = hetesDataRowList.Where(x => x.Field<int>("FeladatKategoriaId") == (int)OktNevelesiKategoriaEnum.NevelesOktatas);
|
||||
var amiHetesek = hetesDataRowList.Where(x => x.Field<int>("FeladatKategoriaId") == (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
|
||||
var amiHetesekMuveszetiSzakkgimnazium = amiHetesek.Where(x => x.Field<int>("OktNevFeladatId") == (int)OktatasiNevelesiFeladatEnum.MuveszetiSzakgimnazium);
|
||||
var amiHetesekAmi = amiHetesek.Where(x => x.Field<int>("OktNevFeladatId") == (int)OktatasiNevelesiFeladatEnum.AlapfokuMuveszetoktatas);
|
||||
|
||||
var kolisHetesek = hetesDataRowList.Where(x => x.Field<int>("FeladatKategoriaId") == (int)OktNevelesiKategoriaEnum.Kollegium);
|
||||
var egymisHetesek = hetesDataRowList.Where(x => x.Field<int>("FeladatKategoriaId") == (int)OktNevelesiKategoriaEnum.EGYMI);
|
||||
|
||||
hetesString.Append(HetesResource.AHetenHetesnekLettBeallitva);
|
||||
hetesString.Append(" ");
|
||||
|
||||
AddHetesStringToStringBuilder(hetesString, nevelesOktatasosHetesek);
|
||||
AddHetesStringToStringBuilder(hetesString, amiHetesekMuveszetiSzakkgimnazium);
|
||||
AddHetesStringToStringBuilder(hetesString, amiHetesekAmi);
|
||||
AddHetesStringToStringBuilder(hetesString, kolisHetesek);
|
||||
AddHetesStringToStringBuilder(hetesString, egymisHetesek);
|
||||
|
||||
hetesString.Remove(hetesString.Length - 2, 2);
|
||||
hetesString.Append(".");
|
||||
|
||||
return hetesString.ToString();
|
||||
}
|
||||
|
||||
private void AddHetesStringToStringBuilder(StringBuilder hetesString, IEnumerable<DataRow> hetesDataRowList)
|
||||
{
|
||||
var osztalyCsoportIdList = hetesDataRowList.Select(x => x.Field<int>("osztalyCsoportId")).Distinct();
|
||||
foreach (var osztalyId in osztalyCsoportIdList)
|
||||
{
|
||||
var osztalyraszurtDataRowList = hetesDataRowList.Where(x => x.Field<int>("osztalyCsoportId") == osztalyId);
|
||||
if (osztalyraszurtDataRowList.Any())
|
||||
{
|
||||
hetesString.Append(string.Join(", ", osztalyraszurtDataRowList.Select(x => x.Field<string>("TanuloNev"))));
|
||||
hetesString.Append(" ");
|
||||
hetesString.Append(osztalyraszurtDataRowList.First().Field<string>("OsztalyNev"));
|
||||
hetesString.Append(" ");
|
||||
hetesString.Append(HetesResource.Osztalyban);
|
||||
hetesString.Append(", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue