174 lines
8.5 KiB
C#
174 lines
8.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class SzamonkeresElorejelzesHelper : LogicBase
|
|
{
|
|
public SzamonkeresElorejelzesHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public List<int> GetModListAndComboItemColorNapiLimithez(int? OraGroupId, DateTime? Datum, int? OsztalyCsoportId, out string pBackgroudColor)
|
|
{
|
|
var helper = new SystemSettingsHelper(ConnectionType);
|
|
var szamonkeresModIdList = helper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Ertekeles_Modok_Beallitasa_Napi_Limithez);
|
|
var napiSzamonkeresiLimit = helper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napi_Szamonkeresi_Limit);
|
|
var szamonkeresLimitFigyelmeztetes = helper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Limit_Figyelmeztetesi_Tiltasi_Beallitas);
|
|
|
|
DataSet ds = new DataSet();
|
|
if (szamonkeresLimitFigyelmeztetes < 3)
|
|
{
|
|
ds = GetTanulokSzamonkeresElorejelzesei(new SzamonkeresElorejelzesSearchCO
|
|
{
|
|
OraGroupId = OraGroupId,
|
|
Datum = Datum,
|
|
NapiSzamonkeresLimit = napiSzamonkeresiLimit,
|
|
OsztalyCsoportId = OsztalyCsoportId,
|
|
ErtekelesModokLimithez = szamonkeresModIdList
|
|
});
|
|
}
|
|
|
|
bool hasOverLimit = napiSzamonkeresiLimit > 0 && szamonkeresLimitFigyelmeztetes != 3 && ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0;
|
|
string backgroudColor = !hasOverLimit ? "green" : szamonkeresLimitFigyelmeztetes == 2 ? "orange" : "red";
|
|
pBackgroudColor = backgroudColor;
|
|
|
|
return szamonkeresModIdList;
|
|
}
|
|
|
|
public DataSet GetSzamonkeresElorejelzesDetailDataSet(SzamonkeresElorejelzesSearchCO co, bool isKellKapcsolodoOsztalyok)
|
|
{
|
|
DataSet ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
h.SzamonkeresElorejelzes(GridParameters).GetSzamonkeresElorejelzesDetailDataSet(IntezmenyId, TanevId, co.ConvertToPCo(), isKellKapcsolodoOsztalyok: isKellKapcsolodoOsztalyok));
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetTanulokSzamonkeresElorejelzesei(SzamonkeresElorejelzesSearchCO co)
|
|
{
|
|
DataSet ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
h.SzamonkeresElorejelzes(GridParameters).GetTanulokSzamonkeresElorejelzesei(IntezmenyId, TanevId, co.ConvertToPCo()));
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetBejelentettSzamonkeresekGrid(SzamonkeresElorejelzesSearchCO co)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
OktNevelesiKategoriaEnum? kategoria = null;
|
|
if (co.OsztalyCsoportId.HasValue)
|
|
{
|
|
Enum.TryParse(new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)).GetOsztalyCsoportFeladatKategoria(co.OsztalyCsoportId.Value).ToString(), out OktNevelesiKategoriaEnum osztalycsoportKategoria);
|
|
kategoria = osztalycsoportKategoria;
|
|
if (co.KapcsolodoCsoportok)
|
|
{
|
|
var osztalyCsoportHelper = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
co.OsztalyCsoportIdsKapcsolodoCsoportokkal = osztalyCsoportHelper.ListOsztalyCsoportokKapcsolodoOsztalyCsoportjai(new List<int> { co.OsztalyCsoportId.Value }).ToList();
|
|
}
|
|
}
|
|
|
|
return h.SzamonkeresElorejelzes(GridParameters).GetBejelentettSzamonkeresekGrid(IntezmenyId, TanevId, co.ConvertToPCo(), kategoria);
|
|
});
|
|
}
|
|
|
|
public List<BejelentettSzamonkeresekItemCo> GetBejelentettSzamonkeresekCoList(SzamonkeresElorejelzesSearchCO co)
|
|
{
|
|
DataSet dataSet = GetBejelentettSzamonkeresekGrid(co);
|
|
|
|
var result = new List<BejelentettSzamonkeresekItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new BejelentettSzamonkeresekItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public QuadrupleList<string, string, string, string> GetLegutobbiBejelentettSzamonkeresek(int? pTanuloId)
|
|
{
|
|
var LegutobbiBejelentettSzamonkeresek = new QuadrupleList<string, string, string, string>();
|
|
|
|
var co = new SzamonkeresElorejelzesSearchCO { TanuloId = pTanuloId, CsakLegutobbi6 = true };
|
|
|
|
DataSet ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
h.SzamonkeresElorejelzes(GridParameters).GetBejelentettSzamonkeresekGrid(IntezmenyId, TanevId, co.ConvertToPCo(), null));
|
|
|
|
foreach (var row in ds.Tables[0].AsEnumerable())
|
|
{
|
|
LegutobbiBejelentettSzamonkeresek.Add(SDAConvert.ToDateTime(row["SzamonkeresDatuma"])?.ToShortDateString(), SDAConvert.ToString(row["HetNapja_DNAME"]), SDAConvert.ToString(row["TargyNev"]), SDAConvert.ToString(row["ErtekelesModNev"]).ToString());
|
|
}
|
|
|
|
return LegutobbiBejelentettSzamonkeresek;
|
|
}
|
|
|
|
/// INFO: Mobil használja
|
|
public void SaveSzamonkeresElorejelzes(SzamonkeresElorejelzesCO co, int rogzitoId, int? intezmenyId = null)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.SzamonkeresElorejelzes();
|
|
var entity = dal.Get();
|
|
entity.SzamonkeresMegnevezes = co.Megnevezes?.Replace("'", "\"");
|
|
entity.OrarendiOraGroupId = co.OrarendiOraGroupId;
|
|
entity.SzamonkeresDatuma = co.Datum;
|
|
entity.SzamonkeresModId = co.SzamonkeresModId.Value;
|
|
entity.RogzitoId = rogzitoId;
|
|
entity.RogzitesDatuma = DateTime.Now.Date;
|
|
entity.IntezmenyId = intezmenyId ?? entity.IntezmenyId;
|
|
dal.Insert(entity);
|
|
});
|
|
}
|
|
|
|
public void DeleteSzamonkeresElorejelzes(int szamonkeresElorejelzesId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.SzamonkeresElorejelzes();
|
|
dal.Delete(szamonkeresElorejelzesId);
|
|
|
|
});
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public List<ISzamonkeresElorejelzes> GetBejelentettSzamonkeresekByDateRange(DateTime start, DateTime end)
|
|
{
|
|
List<ISzamonkeresElorejelzes> bejelentettSzamonkeresek = new List<ISzamonkeresElorejelzes>();
|
|
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.SzamonkeresElorejelzes(GridParameters);
|
|
|
|
var ds = dal.GetBejelentettSzamonkeresekByDateRange(IntezmenyId, TanevId, start, end);
|
|
|
|
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
var szamonkeresElorejelzes = dal.Get();
|
|
szamonkeresElorejelzes.ID = row["ID"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["ID"]);
|
|
szamonkeresElorejelzes.OrarendiOraGroupId = row["GroupId"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["GroupId"]);
|
|
szamonkeresElorejelzes.SzamonkeresDatuma = row["SzamonkeresDatum"] == DBNull.Value ? DateTime.MinValue : SDAConvert.ToDateTime(row["SzamonkeresDatum"]).Value;
|
|
szamonkeresElorejelzes.RogzitesDatuma = row["RogzitesDatum"] == DBNull.Value ? DateTime.MinValue : SDAConvert.ToDateTime(row["RogzitesDatum"]).Value;
|
|
szamonkeresElorejelzes.RogzitoId = row["RogzitoId"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["RogzitoId"]);
|
|
szamonkeresElorejelzes.SzamonkeresModId = row["SzamonkeresModId"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["SzamonkeresModId"]);
|
|
szamonkeresElorejelzes.SzamonkeresMegnevezes = row["SzamonkeresMegnevezes"].ToString();
|
|
bejelentettSzamonkeresek.Add(szamonkeresElorejelzes);
|
|
}
|
|
}
|
|
|
|
return bejelentettSzamonkeresek;
|
|
});
|
|
}
|
|
}
|
|
}
|