103 lines
5.5 KiB
C#
103 lines
5.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Web.Areas.Orarend.Logic;
|
|
using Kreta.Web.Areas.Orarend.Models;
|
|
using Kreta.Web.Helpers;
|
|
|
|
namespace Kreta.Web.Areas.Tanar.Logic
|
|
{
|
|
public static class FogadooraLogic
|
|
{
|
|
public static FogadooraModel SetFogadooraDate(FogadooraModel model)
|
|
{
|
|
var FogadoOraKezdete = new DateTime(model.FogadoOraDatuma.Year, model.FogadoOraDatuma.Month, model.FogadoOraDatuma.Day, model.FogadoOraKezdete.Hour, model.FogadoOraKezdete.Minute, 0, DateTimeKind.Utc);
|
|
var FogadoOraVege = new DateTime(model.FogadoOraDatuma.Year, model.FogadoOraDatuma.Month, model.FogadoOraDatuma.Day, model.FogadoOraVege.Hour, model.FogadoOraVege.Minute, 0, DateTimeKind.Utc);
|
|
model.FogadoOraKezdete = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(FogadoOraKezdete, FogadoOraKezdete);
|
|
model.FogadoOraVege = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(FogadoOraVege, FogadoOraVege);
|
|
|
|
return model;
|
|
}
|
|
|
|
public static FogadooraCo ConvertModelToCo(FogadooraModel model)
|
|
{
|
|
return new FogadooraCo()
|
|
{
|
|
Id = model.Id,
|
|
TeremId = model.TeremId.Value,
|
|
EgysegnyiIdopontok = model.EgysegnyiIdopontok,
|
|
FogadoOraDatuma = model.FogadoOraDatuma,
|
|
FogadoOraKezdete = model.FogadoOraKezdete,
|
|
FogadoOraVege = model.FogadoOraVege,
|
|
IsNemKotottMunkaido = model.IsNemKotottMunkaido,
|
|
IsIdosavraOsztas = model.IsIdosavraOsztas,
|
|
JelentkezesekKezelese = model.JelentkezesekKezelese,
|
|
ModifiedOsztalyCsoportList = model.ModifiedOsztalyCsoportList,
|
|
SelectedOsztalyCsoportIdList = model.SelectedOsztalyCsoportIdList,
|
|
Rendszeresseg = model.Rendszeresseg,
|
|
FogadooraTipusEnumId = model.JelentkezesekKezelese ? (model.IsIdosavraOsztas.HasValue && model.IsIdosavraOsztas.Value ? (int)FogadooraTipusEnum.JelentkezhetoDarabolt : (int)FogadooraTipusEnum.Jelentkezheto) : (int)FogadooraTipusEnum.NemJelentkezheto,
|
|
RendszeresFogadooraElsoDatuma = model.RendszeresFogadooraElsoDatuma,
|
|
RendszeresFogadooraUtolsoDatuma = model.RendszeresFogadooraUtolsoDatuma,
|
|
IsEgyalkalomModositasa = model.IsEgyAlkalomModosul,
|
|
IsFaliujsagonMegjelenjen = model.IsFaliujsagonMegjelenjen,
|
|
FaliujsagErvenyessegKezdete = model.FaliujsagErvenyessegKezdete,
|
|
FaliujsagErvenyessegVege = model.FaliujsagErvenyessegVege,
|
|
FogadooraDatumList = model.FogadooraDatumList,
|
|
ModositasiIdoszakTipus = model.ModositasiIdoszakTipus,
|
|
JelentkezesHatarideje = model.JelentkezesekKezelese ? model.JelentkezesHatarideje : null
|
|
};
|
|
}
|
|
|
|
public static List<DataRow> TeremUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok)
|
|
{
|
|
var result = new List<DataRow>();
|
|
foreach (var (kezdet, vege) in fogadooraIdopontok)
|
|
{
|
|
result.AddRange(ds.Tables[0].AsEnumerable()
|
|
.Where(x => (DateTime)x["OraVege"] > kezdet && (DateTime)x["OraKezdete"] < vege).ToList());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static List<DataRow> PedagogusUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok)
|
|
{
|
|
var result = new List<DataRow>();
|
|
foreach (var (kezdet, vege) in fogadooraIdopontok)
|
|
{
|
|
result.AddRange(ds.Tables[0].AsEnumerable()
|
|
.Where(x => (DateTime)x["OraVege"] > kezdet && (DateTime)x["OraKezdete"] < vege).ToList());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static List<DataRow> FogadooraUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok, int? fogadooraId)
|
|
{
|
|
var result = new List<DataRow>();
|
|
foreach (var (kezdet, vege) in fogadooraIdopontok)
|
|
{
|
|
result.AddRange(ds.Tables[0].AsEnumerable()
|
|
.Where(x => x.Field<DateTime>("FogadooraVege") > kezdet && x.Field<DateTime>("FogadooraKezdete") < vege && (!fogadooraId.HasValue || x.Field<int>("ID") != fogadooraId.Value)).ToList());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static List<DataRow> FogadooraTeremUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok, int? fogadooraId)
|
|
{
|
|
var result = new List<DataRow>();
|
|
foreach (var (kezdet, vege) in fogadooraIdopontok)
|
|
{
|
|
result.AddRange(ds.Tables[0].AsEnumerable()
|
|
.Where(x => x.Field<DateTime>("FogadooraVege") > kezdet && x.Field<DateTime>("FogadooraKezdete") < vege && (!fogadooraId.HasValue || x.Field<int>("ID") != fogadooraId.Value)).ToList());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static int NapirendUtkozes => new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles);
|
|
public static int TeremUtkozesSystemSetting => new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Teremutkozes_figyeles);
|
|
}
|
|
}
|