init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
242
Kreta.BusinessLogic/Helpers/OralatogatasokHelper.cs
Normal file
242
Kreta.BusinessLogic/Helpers/OralatogatasokHelper.cs
Normal file
|
@ -0,0 +1,242 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccess.Interfaces;
|
||||
using Kreta.DataAccessManual;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Helpers
|
||||
{
|
||||
public class OralatogatasokHelper : LogicBase
|
||||
{
|
||||
public OralatogatasokHelper(IConnectionType connectionType) : base(connectionType) { }
|
||||
|
||||
public DataSet OralatogatasokKeresese(OralatogatasokKereseseCO co)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var ds = h.OralatogatasDal(GridParameters).GetOralatogatasok(TanevId, co.ConvertPCO(FelhasznaloId));
|
||||
return ds;
|
||||
});
|
||||
}
|
||||
|
||||
public OralatogatasokCO GetOralatogatas(int oralatogatasId)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var co = new OralatogatasokCO();
|
||||
|
||||
var ol = h.OralatogatasDal().Get(oralatogatasId);
|
||||
|
||||
co.Beosztas = ol.OralatogatoBeosztasa;
|
||||
co.Date = ol.Datum;
|
||||
co.Latogato = ol.Ertekelo.NyomtatasiNev;
|
||||
co.LatogatoID = ol.ErtekeloId;
|
||||
co.Megjegyzes = ol.Megjegyzes;
|
||||
co.Ora = ol.MegtartottOra.Oraszam ?? 0;
|
||||
co.OsztalyCsoport = ol.MegtartottOra.OsztalyCsoport.Nev;
|
||||
co.LatogatottPedagogus = ol.MegtartottOra.Tanar.NyomtatasiNev;
|
||||
co.Tantargy = ol.MegtartottOra.Tantargy.Nev;
|
||||
return co;
|
||||
});
|
||||
}
|
||||
|
||||
public void DeleteOralatogatas(int oraId, int tanarId)
|
||||
{
|
||||
Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var dal = h.OralatogatasDal();
|
||||
dal.Delete(oraId, tanarId);
|
||||
});
|
||||
}
|
||||
|
||||
public OralatogatasokCO GetOraOralatogatasa(int OraID)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var co = new OralatogatasokCO();
|
||||
var ora = h.TanitasiOra().Get(OraID);
|
||||
|
||||
if (ora.Oralatogatasok.Count > 0)
|
||||
{
|
||||
var oraLatogatas = ora.Oralatogatasok.FirstOrDefault(x => x.Torolt == false);
|
||||
if (oraLatogatas != null)
|
||||
{
|
||||
co.Date = oraLatogatas.Datum;
|
||||
co.Beosztas = oraLatogatas.OralatogatoBeosztasa;
|
||||
co.LatogatoID = oraLatogatas.ErtekeloId;
|
||||
co.Latogato = oraLatogatas.Ertekelo.NyomtatasiNev;
|
||||
co.Megjegyzes = oraLatogatas.Megjegyzes;
|
||||
return co;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
public OralatogatasokCO GetOraOralatogatasa(int OraID, int tanarID)
|
||||
{
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
var co = new OralatogatasokCO();
|
||||
var ora = h.TanitasiOra().Get(OraID);
|
||||
|
||||
if (ora.Oralatogatasok.Count > 0)
|
||||
{
|
||||
var oraLatogatas = ora.Oralatogatasok.Where(x => x.ErtekeloId == tanarID && x.Torolt == false).FirstOrDefault();
|
||||
if (oraLatogatas != null)
|
||||
{
|
||||
co.Id = oraLatogatas.ID;
|
||||
co.Date = oraLatogatas.Datum;
|
||||
co.Beosztas = oraLatogatas.OralatogatoBeosztasa;
|
||||
co.LatogatoID = oraLatogatas.ErtekeloId;
|
||||
co.Latogato = oraLatogatas.Ertekelo.NyomtatasiNev;
|
||||
co.Megjegyzes = oraLatogatas.Megjegyzes;
|
||||
return co;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
public void SaveOralatogatas(OralatogatasokCO CO)
|
||||
{
|
||||
Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(CO.Megjegyzes))
|
||||
throw new ArgumentNullException("Megjegyzes");
|
||||
|
||||
if (CO.LatogatoID == 0)
|
||||
throw new ArgumentNullException("LatogatoID");
|
||||
|
||||
if (CO.Date == DateTime.MinValue)
|
||||
throw new ArgumentNullException("Datum");
|
||||
|
||||
if (CO.Ora == 0)
|
||||
throw new ArgumentNullException("Ora");
|
||||
|
||||
var ora = h.TanitasiOra().Get(CO.Ora);
|
||||
IOralatogatas oralatogatas;
|
||||
|
||||
var isNew = false;
|
||||
|
||||
if (ora.Oralatogatasok.Count == 0)
|
||||
{
|
||||
oralatogatas = h.OralatogatasDal().Get();
|
||||
isNew = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
oralatogatas = ora.Oralatogatasok.Where(x => x.ErtekeloId == CO.LatogatoID && x.Torolt == false).FirstOrDefault();
|
||||
|
||||
if (oralatogatas == null)
|
||||
{
|
||||
oralatogatas = h.OralatogatasDal().Get();
|
||||
isNew = true;
|
||||
}
|
||||
}
|
||||
|
||||
oralatogatas.MegtartottOraId = CO.Ora;
|
||||
oralatogatas.Datum = CO.Date;
|
||||
oralatogatas.Megjegyzes = System.Web.HttpUtility.HtmlDecode(CO.Megjegyzes).ReplaceMultipleSpacesAndTrim();
|
||||
oralatogatas.ErtekeloId = CO.LatogatoID;
|
||||
|
||||
var munkakorTipusId = h.Alkalmazott().GetAlklamazottMunkakorTipusa(CO.LatogatoID);
|
||||
oralatogatas.OralatogatoBeosztasa = munkakorTipusId.GetDisplayName<MunkakorTipusEnum>(TanevId);
|
||||
|
||||
var dal = h.OralatogatasDal();
|
||||
var nemKotottMunkaidoDal = h.NemKotottMunkaido();
|
||||
|
||||
if (CO.NemKotottMunkaidos)
|
||||
{
|
||||
InsertNemKotottMunkaido(h, ora, CO);
|
||||
}
|
||||
if (isNew)
|
||||
{
|
||||
dal.Insert(oralatogatas);
|
||||
}
|
||||
else
|
||||
{
|
||||
dal.FullUpdate(oralatogatas);
|
||||
|
||||
var nkmId = nemKotottMunkaidoDal.GetNemKotottMunkaidoId(oralatogatas.ID, FelhasznaloId);
|
||||
if (nkmId != -1)
|
||||
{
|
||||
nemKotottMunkaidoDal.Update(nkmId, true, megjegyzes: RichTextLogic.CutHtmlTagsAndDecode(oralatogatas.Megjegyzes));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void InsertNemKotottMunkaido(IDalHandler h, ITanitasiOra ora, OralatogatasokCO co)
|
||||
{
|
||||
var helper = new NemKotottMunkaidoHelper(new DalHandlerConnectionType(ConnectionType, h));
|
||||
|
||||
var nemKotottCo = new NemKotottMunkaidoCO()
|
||||
{
|
||||
GroupId = Guid.NewGuid().ToString(),
|
||||
HetirendId = (int)HetiRendTipusEnum.MindegyikHet,
|
||||
TorvenyKategoriaId = (int)TevekenysegTipusEnum.egyeb,
|
||||
TanarId = FelhasznaloId,
|
||||
TulajId = FelhasznaloId,
|
||||
Megtartott = true,
|
||||
|
||||
Kezdete = ora.OraKezdete,
|
||||
Vege = ora.OraVege,
|
||||
NaplozottMegjegyzes = StripHTML(System.Web.HttpUtility.HtmlDecode(co.Megjegyzes)).ReplaceMultipleSpacesAndTrim()
|
||||
};
|
||||
|
||||
helper.Insert(nemKotottCo);
|
||||
}
|
||||
|
||||
public static string StripHTML(string input)
|
||||
{
|
||||
return Regex.Replace(input, "<.*?>", string.Empty);
|
||||
}
|
||||
|
||||
public bool OralatogatasUtkozes(int tanarId, int oraId, out string errorMessage)
|
||||
{
|
||||
errorMessage = null;
|
||||
|
||||
var ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
return h.OralatogatasDal().OralatogatasUtkozes(tanarId, oraId);
|
||||
});
|
||||
|
||||
var utkozesRow = ds.Tables[0].AsEnumerable().FirstOrDefault(r => r.Field<int>("Count") > 0);
|
||||
if (utkozesRow != null)
|
||||
{
|
||||
var oraTipus = utkozesRow.Field<bool>("IsTanitasiOra") ? OralatogatasokResource.TanitasiOraja : OralatogatasokResource.MunkaidosTevekenysege;
|
||||
errorMessage = string.Format(OralatogatasokResource.OralatogatasUtkozesHiba, oraTipus);
|
||||
}
|
||||
|
||||
return !string.IsNullOrWhiteSpace(errorMessage);
|
||||
}
|
||||
|
||||
public List<OralatogatasItemCo> GetOralatogatasCoList(OralatogatasokKereseseCO oralatogatasokKereseseCO)
|
||||
{
|
||||
var oralatogatasokCoList = new List<OralatogatasItemCo>();
|
||||
|
||||
var ds = OralatogatasokKeresese(oralatogatasokKereseseCO);
|
||||
|
||||
foreach (var row in ds.Tables[0].AsEnumerable())
|
||||
{
|
||||
oralatogatasokCoList.Add(new OralatogatasItemCo(row));
|
||||
}
|
||||
|
||||
return oralatogatasokCoList;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue