init
This commit is contained in:
		@@ -0,0 +1,19 @@
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class DigitalisOktatasAdatok
 | 
			
		||||
    {
 | 
			
		||||
        public int? DigEszkozTipusId { get; set; }
 | 
			
		||||
        public int? DigPlatformTipusId { get; set; }
 | 
			
		||||
        public List<int> DigTamEszkozTipusList { get; set; }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(TanoraCO co)
 | 
			
		||||
        {
 | 
			
		||||
            DigEszkozTipusId = co.DigEszkozTipusId;
 | 
			
		||||
            DigPlatformTipusId = co.DigPlatformTipusId;
 | 
			
		||||
            DigTamEszkozTipusList = co.DigTamEszkozTipusIdList;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class EgyediNaplozasElokeszitesCo : NaplozasElokeszitesCo
 | 
			
		||||
    {
 | 
			
		||||
        public int TanarId { get; set; }
 | 
			
		||||
        public int? TeremId { get; set; }
 | 
			
		||||
        public int? FoglakozasId { get; set; }
 | 
			
		||||
        public int? OsztalyCsoportId { get; set; }
 | 
			
		||||
        public int? TantargyId { get; set; }
 | 
			
		||||
        public int? CsengetesirendOraId { get; set; }
 | 
			
		||||
        public int? CsengetesirendId { get; set; }
 | 
			
		||||
        public int? HelyettesitesId { get; set; }
 | 
			
		||||
        public int? HelyettesitesTanarId { get; set; }
 | 
			
		||||
        public string HelyettesitesOka { get; set; }
 | 
			
		||||
        public int? HelyettesitesTipus { get; set; }
 | 
			
		||||
        public bool IsOraOsszevonas { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,37 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class HazifeladatModel
 | 
			
		||||
    {
 | 
			
		||||
        public int? Id { get; set; }
 | 
			
		||||
        public string Szoveg { get; set; }
 | 
			
		||||
        public DateTime? Hatarido { get; set; }
 | 
			
		||||
        public int? CsatolmanyId { get; set; }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(TanoraCO co)
 | 
			
		||||
        {
 | 
			
		||||
            Id = co.HaziFeladatId;
 | 
			
		||||
            Szoveg = co.HaziFeladat;
 | 
			
		||||
            Hatarido = co.HaziHatarideje;
 | 
			
		||||
            CsatolmanyId = co.HaziFeladatCsatolmanyId;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasCo co)
 | 
			
		||||
        {
 | 
			
		||||
            Id = co.Hazifeladat.Id;
 | 
			
		||||
            Szoveg = co.Hazifeladat.Szoveg;
 | 
			
		||||
            Hatarido = co.Hazifeladat.Hatarido;
 | 
			
		||||
            CsatolmanyId = co.Hazifeladat.CsatolmanyId;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasMobilCo co)
 | 
			
		||||
        {
 | 
			
		||||
            Id = co.Hazifeladat.Id;
 | 
			
		||||
            Szoveg = co.Hazifeladat.Szoveg;
 | 
			
		||||
            Hatarido = co.Hazifeladat.Hatarido;
 | 
			
		||||
            CsatolmanyId = co.Hazifeladat.CsatolmanyId;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,55 @@
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class HelyettesitesModel
 | 
			
		||||
    {
 | 
			
		||||
        public int? Id { get; set; }
 | 
			
		||||
        public int? TanarId { get; set; }
 | 
			
		||||
        public string Oka { get; set; }
 | 
			
		||||
        public int? Tipus { get; set; }
 | 
			
		||||
        public bool IsKeresoAltalTalaltOra { get; set; }
 | 
			
		||||
        public bool IsTulora { get; set; }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(EgyediNaplozasElokeszitesCo input, int userId)
 | 
			
		||||
        {
 | 
			
		||||
            Id = input.HelyettesitesId;
 | 
			
		||||
            TanarId = input.HelyettesitesTipus.HasValue ? userId : (int?)null;
 | 
			
		||||
            Oka = input.HelyettesitesOka;
 | 
			
		||||
            Tipus = input.HelyettesitesTipus;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(TanoraCO co)
 | 
			
		||||
        {
 | 
			
		||||
            Id = co.HelyettesitesId;
 | 
			
		||||
            TanarId = co.Helyettesito;
 | 
			
		||||
            Oka = co.HelyettesitesOka;
 | 
			
		||||
            Tipus = co.HelyettesitesTipus;
 | 
			
		||||
            IsTulora = co.HelyettesIsTulora;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasCo co, bool isEgyediNaplozas)
 | 
			
		||||
        {
 | 
			
		||||
            if (co.Helyettesites.Oka != null)
 | 
			
		||||
            {
 | 
			
		||||
                Oka = co.Helyettesites.Oka;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var helyettesitettOrarendiOra = Id.HasValue && Id > 0; /*csak akkor van értéke ha az orarendi ora már feltöltötte és volt rajta beállított helyetesites*/
 | 
			
		||||
            if (helyettesitettOrarendiOra)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (!co.Helyettesites.TanarId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            IsKeresoAltalTalaltOra = !isEgyediNaplozas;
 | 
			
		||||
            Id = co.Helyettesites.Id;
 | 
			
		||||
            TanarId = co.Helyettesites.TanarId;
 | 
			
		||||
            Tipus = co.Helyettesites.Tipus;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,10 @@
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class HelyettesitesNaplozasElokeszitesCo : NaplozasElokeszitesCo
 | 
			
		||||
    {
 | 
			
		||||
        public int? HelyettesitesId { get; set; }
 | 
			
		||||
        public int? HelyettesitesTanarId { get; set; }
 | 
			
		||||
        public string HelyettesitesOka { get; set; }
 | 
			
		||||
        public int? HelyettesitesTipus { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class MulasztasItem
 | 
			
		||||
    {
 | 
			
		||||
        public int? MulasztasId { get; set; }
 | 
			
		||||
        public int TanuloId { get; set; }
 | 
			
		||||
        public int? MulasztasTipus { get; set; }
 | 
			
		||||
        public int? Keses { get; set; }
 | 
			
		||||
 | 
			
		||||
        public bool HazifeladatHiany { get; set; }
 | 
			
		||||
        public bool FelszerelesHiany { get; set; }
 | 
			
		||||
        public bool Felmentes { get; set; }
 | 
			
		||||
        public bool TanoraiDicseret { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? HazifeladatHianyId { get; set; }
 | 
			
		||||
        public int? FelszerelesHianyId { get; set; }
 | 
			
		||||
        public int? FelmentesId { get; set; }
 | 
			
		||||
        public int? TanoraiDicseretId { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,83 @@
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers;
 | 
			
		||||
using Kreta.Core.ConnectionType;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class MulasztasModel
 | 
			
		||||
    {
 | 
			
		||||
        public MulasztasModel()
 | 
			
		||||
        {
 | 
			
		||||
            MulasztasList = new List<MulasztasItem>();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public int? JogviszonySzunetletetokDb { get; set; }
 | 
			
		||||
        public string JogviszonySzunetletetok { get; set; }
 | 
			
		||||
        public int? SzakmaiGyakorlatonLevokDb { get; set; }
 | 
			
		||||
        public string SzakmaiGyakorlatonLevok { get; set; }
 | 
			
		||||
        public List<MulasztasItem> MulasztasList { get; set; }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasCo co, int maxKeses)
 | 
			
		||||
        {
 | 
			
		||||
            foreach (var item in co.MulasztasList)
 | 
			
		||||
            {
 | 
			
		||||
                MulasztasList.Add(new MulasztasItem()
 | 
			
		||||
                {
 | 
			
		||||
                    MulasztasId = item.MulasztasId,
 | 
			
		||||
 | 
			
		||||
                    TanuloId = item.TanuloId,
 | 
			
		||||
                    MulasztasTipus = item.MulasztasTipus,
 | 
			
		||||
                    Keses = item.Keses >= maxKeses ? maxKeses : item.Keses,
 | 
			
		||||
                    HazifeladatHiany = item.HazifeladatHiany,
 | 
			
		||||
                    FelszerelesHiany = item.FelszerelesHiany,
 | 
			
		||||
                    Felmentes = item.Felmentes,
 | 
			
		||||
                    TanoraiDicseret = item.TanoraiDicseret,
 | 
			
		||||
 | 
			
		||||
                    HazifeladatHianyId = item.HazifeladatHianyId,
 | 
			
		||||
                    FelszerelesHianyId = item.FelszerelesHianyId,
 | 
			
		||||
                    FelmentesId = item.FelmentesId,
 | 
			
		||||
                    TanoraiDicseretId = item.TanoraiDicseretId
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(IConnectionType connectionType, NaplozasMobilCo co, int maxKeses, int? tanitasiOraId)
 | 
			
		||||
        {
 | 
			
		||||
            var oraMulasztasai = new MulasztasHelper(connectionType).GetTanoraMulasztasai(tanitasiOraId);
 | 
			
		||||
            var oraFeljegyzesei = new FeljegyzesekHelper(connectionType).GetTanoraFeljegyzesei(tanitasiOraId);
 | 
			
		||||
 | 
			
		||||
            foreach (var item in co.MulasztasList)
 | 
			
		||||
            {
 | 
			
		||||
                var mulasztasItem = new MulasztasItem()
 | 
			
		||||
                {
 | 
			
		||||
                    TanuloId = item.TanuloId,
 | 
			
		||||
                    MulasztasTipus = item.MulasztasTipus,
 | 
			
		||||
                    Keses = item.Keses >= maxKeses ? maxKeses : item.Keses,
 | 
			
		||||
                    HazifeladatHiany = item.HazifeladatHiany,
 | 
			
		||||
                    FelszerelesHiany = item.FelszerelesHiany,
 | 
			
		||||
                    Felmentes = item.Felmentes,
 | 
			
		||||
                    TanoraiDicseret = item.TanoraiDicseret,
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                var oldMulasztasId = oraMulasztasai.FirstOrDefault(a => a.TanuloId == item.TanuloId);
 | 
			
		||||
                mulasztasItem.MulasztasId = oldMulasztasId?.MulasztasId;
 | 
			
		||||
 | 
			
		||||
                var oldHazifeladatHiany = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.HaziFeladatHiany);
 | 
			
		||||
                mulasztasItem.HazifeladatHianyId = oldHazifeladatHiany?.FeljegyzesId;
 | 
			
		||||
 | 
			
		||||
                var oldFelszereleshiany = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.Felszereleshiany);
 | 
			
		||||
                mulasztasItem.FelszerelesHianyId = oldFelszereleshiany?.FeljegyzesId;
 | 
			
		||||
 | 
			
		||||
                var oldFelmentes = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.SzakmaiMentessegNemHivatalos);
 | 
			
		||||
                mulasztasItem.FelmentesId = oldFelmentes?.FeljegyzesId;
 | 
			
		||||
 | 
			
		||||
                var oldDicseret = oraFeljegyzesei.FirstOrDefault(a => a.TanuloId == item.TanuloId && a.FeljegyzesTipus == (int)EsemenyTipusEnum.Dicseret);
 | 
			
		||||
                mulasztasItem.TanoraiDicseretId = oldDicseret?.FeljegyzesId;
 | 
			
		||||
 | 
			
		||||
                MulasztasList.Add(mulasztasItem);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,14 @@
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas
 | 
			
		||||
{
 | 
			
		||||
    public class NaplozasElokeszitesCo
 | 
			
		||||
    {
 | 
			
		||||
        public DateTime Start { get; set; }
 | 
			
		||||
        public DateTime End { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? OrarendiOraId { get; set; }
 | 
			
		||||
        public int? TanitasiOraId { get; set; }
 | 
			
		||||
        public int? SzervezetTipusId { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,320 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Data;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using Kreta.BusinessLogic.Classes;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
 | 
			
		||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
 | 
			
		||||
using Kreta.Core;
 | 
			
		||||
using Kreta.Core.ConnectionType;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
using Kreta.Resources;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class NaplozasElokeszitesLogic
 | 
			
		||||
    {
 | 
			
		||||
        protected NaplozasElokeszitesModel Model;
 | 
			
		||||
 | 
			
		||||
        protected IConnectionType ConnectionType;
 | 
			
		||||
 | 
			
		||||
        protected NaploValidacio Validator;
 | 
			
		||||
 | 
			
		||||
        public NaplozasElokeszitesModel GetModel
 | 
			
		||||
        {
 | 
			
		||||
            get { return Model; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected NaplozasElokeszitesLogic(NaploValidacio validator)
 | 
			
		||||
        {
 | 
			
		||||
            Validator = validator;
 | 
			
		||||
            ConnectionType = validator.ConnectionType;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public NaplozasElokeszitesLogic(NaploValidacio validator, NaplozasElokeszitesCo input) : this(validator)
 | 
			
		||||
        {
 | 
			
		||||
            FillInnerModel(input);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public NaplozasElokeszitesLogic(NaploValidacio validator, EgyediNaplozasElokeszitesCo input) : this(validator)
 | 
			
		||||
        {
 | 
			
		||||
            FillInnerModel(input);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public NaplozasElokeszitesLogic(NaploValidacio validator, HelyettesitesNaplozasElokeszitesCo input) : this(validator)
 | 
			
		||||
        {
 | 
			
		||||
            FillInnerModel(input);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void FillInnerModel(NaplozasElokeszitesCo input)
 | 
			
		||||
        {
 | 
			
		||||
            var thelper = new TanoraHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            var oraCo = thelper.GetTanoraByOrarendiId(input.TanitasiOraId ?? input.OrarendiOraId.Value, input.Start, input.TanitasiOraId.HasValue, isTanuloOrGondviselo: false);
 | 
			
		||||
 | 
			
		||||
            if (input is HelyettesitesNaplozasElokeszitesCo helyettesitesNaplozasElokeszitesInput)
 | 
			
		||||
            {
 | 
			
		||||
                oraCo.HelyettesitesTipus = helyettesitesNaplozasElokeszitesInput.HelyettesitesTipus ?? oraCo.HelyettesitesTipus;
 | 
			
		||||
                oraCo.HelyettesitesId = helyettesitesNaplozasElokeszitesInput.HelyettesitesId ?? oraCo.HelyettesitesId;
 | 
			
		||||
                oraCo.HelyettesitesOka = !string.IsNullOrWhiteSpace(helyettesitesNaplozasElokeszitesInput.HelyettesitesOka) ? helyettesitesNaplozasElokeszitesInput.HelyettesitesOka : oraCo.HelyettesitesOka;
 | 
			
		||||
                oraCo.Helyettesito = ConnectionType.FelhasznaloId;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Model = new NaplozasElokeszitesModel(ConnectionType.FelhasznaloId, input.SzervezetTipusId);
 | 
			
		||||
 | 
			
		||||
            var systemSettingsHelper = new SystemSettingsHelper(ConnectionType);
 | 
			
		||||
            var helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando);
 | 
			
		||||
 | 
			
		||||
            Model.OraAdat.Fill(oraCo, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
 | 
			
		||||
 | 
			
		||||
            if (input.TanitasiOraId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                SetEgyediOraEvesOraszam(thelper, sorszamozando: false);
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                SetEgyediOraEvesOraszam(thelper, Model.OraAdat.IsSorszamozando);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            SetOsztalyfonok(new OsztalyHelper(ConnectionType));
 | 
			
		||||
            SetElozoOraAdatai(new OrarendiOraHelper(ConnectionType));
 | 
			
		||||
            SetSzamonkeresElorejelzesAdatai(new SzamonkeresElorejelzesHelper(ConnectionType));
 | 
			
		||||
            SetHetesekAdatai(new HetesekHelper(ConnectionType));
 | 
			
		||||
            SetTemaLista(thelper);
 | 
			
		||||
            SetMentessegList(new OrarendHelper(ConnectionType));
 | 
			
		||||
 | 
			
		||||
            Model.OraTulajdonsag.Fill(oraCo);
 | 
			
		||||
            Model.Helyettesites.Fill(oraCo);
 | 
			
		||||
            if (!Model.SzervezetTipusId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                Model.Hazifeladat.Fill(oraCo);
 | 
			
		||||
                Model.DigitalisOktatas.Fill(oraCo);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void FillInnerModel(EgyediNaplozasElokeszitesCo input)
 | 
			
		||||
        {
 | 
			
		||||
            Model = new NaplozasElokeszitesModel(ConnectionType.FelhasznaloId);
 | 
			
		||||
 | 
			
		||||
            if (input.FoglakozasId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                var helper = new TantargyFelosztasHelper(ConnectionType);
 | 
			
		||||
                var ttf = helper.GetFoglalkozasDataById(input.FoglakozasId.Value);
 | 
			
		||||
                var nemzetisegiOra = SDAConvert.ToBooleanFromTF(ttf.Tables[0].Rows[0]["NemzetisegiOra"]);
 | 
			
		||||
                var naplozasCo = new NaplozasCo
 | 
			
		||||
                {
 | 
			
		||||
                    OraTulajdosag = new NaplozasCo.OraTulajdonsagModel
 | 
			
		||||
                    {
 | 
			
		||||
                        NemzetisegiOra = nemzetisegiOra
 | 
			
		||||
                    }
 | 
			
		||||
                };
 | 
			
		||||
                Model.OraTulajdonsag.Fill(naplozasCo);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Model.IsEgyediNaplozas = true;
 | 
			
		||||
 | 
			
		||||
            var systemSettingsHelper = new SystemSettingsHelper(ConnectionType);
 | 
			
		||||
            var helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando);
 | 
			
		||||
 | 
			
		||||
            Model.OraAdat.Fill(ConnectionType, input, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
 | 
			
		||||
 | 
			
		||||
            Model.Helyettesites.Fill(input, ConnectionType.FelhasznaloId);
 | 
			
		||||
 | 
			
		||||
            var tanarHelper = new TanarHelper(ConnectionType);
 | 
			
		||||
            var tanoraHelper = new TanoraHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            SetTanar(tanarHelper, input.HelyettesitesTanarId);
 | 
			
		||||
            SetOraszam(new CsengetesiRendOrakHelper(ConnectionType));
 | 
			
		||||
            SetTantargyOsztalycsoport();
 | 
			
		||||
 | 
			
		||||
            SetEgyediOraEvesOraszam(tanoraHelper, Model.OraAdat.IsSorszamozando);
 | 
			
		||||
            SetElozoOraAdatai(new OrarendiOraHelper(ConnectionType));
 | 
			
		||||
            SetEgyediOraTema(tanoraHelper);
 | 
			
		||||
            SetTemaLista(tanoraHelper);
 | 
			
		||||
            SetHazifeladat();
 | 
			
		||||
            SetHetesekAdatai(new HetesekHelper(ConnectionType));
 | 
			
		||||
            SetOraVegeByOrahossz();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void SetOraVegeByOrahossz()
 | 
			
		||||
        {
 | 
			
		||||
            var isOravegeBeallitasOrahosszAlapjan = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
 | 
			
		||||
            if (isOravegeBeallitasOrahosszAlapjan)
 | 
			
		||||
            {
 | 
			
		||||
                var csoport = new CsoportHelper(ConnectionType).GetCsoportCoList().SingleOrDefault(cs => cs.Id == Model.OraAdat.OsztalyCsoportId.Value);
 | 
			
		||||
                if (csoport != null)
 | 
			
		||||
                {
 | 
			
		||||
                    var csoportTipusList = new AdatszotarHelper(ConnectionType).GetCsoportTipusList();
 | 
			
		||||
                    var csoportTipusId = csoport.TipusId ?? (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_;
 | 
			
		||||
                    var csoportTipus = csoportTipusList.Single(cs => cs.Id == csoportTipusId);
 | 
			
		||||
 | 
			
		||||
                    if (csoportTipus.OraPerc.HasValue)
 | 
			
		||||
                    {
 | 
			
		||||
                        Model.OraAdat.OraVege = Model.OraAdat.OraKezdete.AddMinutes(csoportTipus.OraPerc.Value);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetMentessegList(OrarendHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            var ds = helper.GetOraMentessegList(Model.OraAdat.OraKezdete, Model.OraAdat.OraVege, Model.OraAdat.OsztalyCsoportId.Value);
 | 
			
		||||
            if (ds.Tables[0].Rows.Count == 1)
 | 
			
		||||
            {
 | 
			
		||||
                var row = ds.Tables[0].Rows[0];
 | 
			
		||||
                Model.Mulasztas.JogviszonySzunetletetokDb = row.Field<int>("JogviszonyDb");
 | 
			
		||||
                Model.Mulasztas.JogviszonySzunetletetok = row.Field<string>("JogviszonyNevSor");
 | 
			
		||||
                Model.Mulasztas.SzakmaiGyakorlatonLevokDb = row.Field<int>("SzakmaiGyakDb");
 | 
			
		||||
                Model.Mulasztas.SzakmaiGyakorlatonLevok = row.Field<string>("SzakmaiGyakNevSor");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetTemaLista(TanoraHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            Model.OraAdat.TemaLista = helper.GetTemaIdAndNameForNaplozasDDL(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.TanarId.Value, Model.SzervezetTipusId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetElozoOraAdatai(OrarendiOraHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            var elozoOraAdatai = helper.GetElozoOraAdatai(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.TanarId.Value, Model.OraAdat.OraKezdete);
 | 
			
		||||
            Model.OraAdat.ElozoOraAdat = elozoOraAdatai?.ElozoOraAdatai ?? string.Empty;
 | 
			
		||||
            Model.OraAdat.ElozoOraTema = elozoOraAdatai?.ElozoOraTemaja ?? string.Empty;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetSzamonkeresElorejelzesAdatai(SzamonkeresElorejelzesHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            var ds = helper.GetSzamonkeresElorejelzesDetailDataSet(new SzamonkeresElorejelzesSearchCO
 | 
			
		||||
            {
 | 
			
		||||
                OraGroupId = Model.OraAdat.GroupId,
 | 
			
		||||
                Datum = Model.OraAdat.OraKezdete.Date,
 | 
			
		||||
                OraszamSrc = Model.OraAdat.Oraszam,
 | 
			
		||||
                OsztalyCsoportId = Model.OraAdat.OsztalyCsoportId
 | 
			
		||||
            }, isKellKapcsolodoOsztalyok: false);
 | 
			
		||||
 | 
			
		||||
            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 && !string.IsNullOrWhiteSpace(SDAConvert.ToString(ds.Tables[0].Rows[0]["SzamonkeresMod"])))
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.SzamonkeresModId = SDAConvert.ToInt32(ds.Tables[0].Rows[0]["SzamonkeresModId"]);
 | 
			
		||||
                Model.OraAdat.SzamonkeresModja = SDAConvert.ToString(ds.Tables[0].Rows[0]["SzamonkeresMod"]);
 | 
			
		||||
                Model.OraAdat.SzamonkeresMegnevezes = SDAConvert.ToString(ds.Tables[0].Rows[0]["SzamonkeresMegnevezes"]);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetHetesekAdatai(HetesekHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            Model.OraAdat.Hetesek = helper.GetHetesekForDatum(Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.OraKezdete.Date);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetOsztalyfonok(OsztalyHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            Model.OraAdat.OsztalyfonokId = helper.GetOsztalyfonokByOsztalyId(Model.OraAdat.OsztalyCsoportId.Value);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetTanar(TanarHelper helper, int? helyettesTanarId)
 | 
			
		||||
        {
 | 
			
		||||
            if (helyettesTanarId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.TanarNev = helper.GetTanarNev(helyettesTanarId.Value);
 | 
			
		||||
                Model.OraAdat.TanarId = helyettesTanarId;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.TanarNev = helper.GetTanarNev(ConnectionType.FelhasznaloId);
 | 
			
		||||
                Model.OraAdat.TanarId = ConnectionType.FelhasznaloId;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetOraszam(CsengetesiRendOrakHelper helper)
 | 
			
		||||
        {
 | 
			
		||||
            if (!Model.OraAdat.IsTanorankivuli)
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.Oraszam = helper.GetCsengetesiRendOraSzam(Model.OraAdat.CsengetesirendOraId.Value);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetTantargyOsztalycsoport()
 | 
			
		||||
        {
 | 
			
		||||
            TantargyFoglalkozasCO foglalkozas = null;
 | 
			
		||||
 | 
			
		||||
            if (Model.OraAdat.FoglakozasId.IsEntityId() && (!Model.OraAdat.OsztalyCsoportId.IsEntityId() || !Model.OraAdat.TantargyId.IsEntityId()))
 | 
			
		||||
            {
 | 
			
		||||
                foglalkozas = new FoglalkozasHelper(ConnectionType).GetFoglalkozas(Model.OraAdat.FoglakozasId.Value);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (Model.OraAdat.OsztalyCsoportId.IsEntityId())
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.OsztalyCsoportNev = new OsztalyCsoportHelper(ConnectionType).GetOsztalyCsoportNevById(Model.OraAdat.OsztalyCsoportId.Value);
 | 
			
		||||
            }
 | 
			
		||||
            else if (foglalkozas != null)
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.OsztalyCsoportNev = foglalkozas.OsztalyCsoportNev;
 | 
			
		||||
                Model.OraAdat.OsztalyCsoportId = foglalkozas.OsztalyCsoportId;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                throw new Exception(ErrorResource.NincsSemOsztalycsoportSemFoglalkozas);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (Model.OraAdat.TantargyId.IsEntityId())
 | 
			
		||||
            {
 | 
			
		||||
                var tantargy = new TantargyHelper(ConnectionType).GetTantargyById(Model.OraAdat.TantargyId.Value);
 | 
			
		||||
                Model.OraAdat.TantargyNev = tantargy.TantargyNev;
 | 
			
		||||
            }
 | 
			
		||||
            else if (foglalkozas != null)
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.TantargyId = foglalkozas.TantargyId;
 | 
			
		||||
                Model.OraAdat.TantargyNev = foglalkozas.TantargyNev;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                throw new Exception(ErrorResource.NincsSemTantargySemFoglalkozas);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetEgyediOraTema(TanoraHelper tanoraHelper)
 | 
			
		||||
        {
 | 
			
		||||
            Model.OraAdat.Tema = tanoraHelper.GetTemaEvesOraSorszamhoz(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, ConnectionType.FelhasznaloId, Model.OraAdat.EvesOraSorszam.Value);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetEgyediOraEvesOraszam(TanoraHelper tanoraHelper, bool sorszamozando)
 | 
			
		||||
        {
 | 
			
		||||
            var evesOraszam = tanoraHelper.GetOraEvesSorszamaSP(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.OraKezdete, Model.OraAdat.TanarId.Value);
 | 
			
		||||
            if (Model.OraAdat.IsElmaradt)
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.EvesOraSorszam = null;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.EvesOraSorszam = sorszamozando ? evesOraszam + 1 : evesOraszam;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected void SetHazifeladat()
 | 
			
		||||
        {
 | 
			
		||||
            Enum.TryParse(new OsztalyCsoportHelper(ConnectionType).GetOsztalyCsoportFeladatKategoria(Model.OraAdat.OsztalyCsoportId.Value).ToString(), out OktNevelesiKategoriaEnum kategoria);
 | 
			
		||||
 | 
			
		||||
            var helper = new DktFeladatHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            var hazi = Model.IsTanora ?
 | 
			
		||||
                helper.GetTanitasiOraHaziFeladatDetail(Model.OraAdat.TanitasiOraId, kategoria, isTanuloOrGondviselo: false) :
 | 
			
		||||
                helper.GetOrarendiOraHaziFeladatDetail(Model.OraAdat.OrarendiOraId, Model.OraAdat.OraKezdete, isTanuloOrGondviselo: false, oraszam: null, kategoria);
 | 
			
		||||
 | 
			
		||||
            if (hazi.Id.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                Model.Hazifeladat.Id = hazi.Id;
 | 
			
		||||
                Model.Hazifeladat.Szoveg = hazi.Szoveg;
 | 
			
		||||
                Model.Hazifeladat.Hatarido = hazi.Hatarido;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool TeremUtkozesEllenorzes()
 | 
			
		||||
        {
 | 
			
		||||
            return Validator.TeremUtkozesEllenorzes(Model);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string GetOsztalyEsTanarOraiUtkozes()
 | 
			
		||||
        {
 | 
			
		||||
            return Validator.GetOsztalyEsTanarOraiUtkozes(Model);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,294 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class NaplozasElokeszitesModel
 | 
			
		||||
    {
 | 
			
		||||
        public bool IsEgyediNaplozas { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int UserId { get; set; }
 | 
			
		||||
 | 
			
		||||
        public bool IsHelyettesites
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return Helyettesites.TanarId.HasValue;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool HasOrarendiOra
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return OraAdat.OrarendiOraId.HasValue;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool IsTanora
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return OraAdat.TanitasiOraId.HasValue;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool IsElmaradtOra
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return OraAdat.IsElmaradt;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private bool IsOraTulajdonosa
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                if (IsEgyediNaplozas)
 | 
			
		||||
                {
 | 
			
		||||
                    return true;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (IsHelyettesites)
 | 
			
		||||
                {
 | 
			
		||||
                    return Helyettesites.TanarId == UserId;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return OraAdat.TanarId == UserId;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool NaplozhatoDatum
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return OraAdat.OraKezdete < DateTime.Now.Date.AddDays(1);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool Ertekelhet
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                if (!NaplozhatoDatum)
 | 
			
		||||
                {
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (IsHelyettesites && (Helyettesites.Tipus == (int)HelyettesitesTipusEnum.oraosszevonas || Helyettesites.Tipus == (int)HelyettesitesTipusEnum.szakszeru_helyettesites))
 | 
			
		||||
                {
 | 
			
		||||
                    return Helyettesites.TanarId == UserId;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return OraAdat.TanarId == UserId;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public bool Naplozhat
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return IsTanora ? IsOraTulajdonosa : (OraAdat.IsOraOsszevonas || IsOraTulajdonosa) && NaplozhatoDatum;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string OraTartamText
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return $"{OraAdat.OraKezdete.ToShortDateString()} {OraAdat.OraKezdete.ToShortTimeString()}-{OraAdat.OraVege.ToShortTimeString()}";
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool KellElozoOraTema
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return !IsTanora || IsEgyediNaplozas;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public int MaxKeses
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                var span = OraAdat.OraVege.Subtract(OraAdat.OraKezdete);
 | 
			
		||||
                return (span.Hours * 60) + span.Minutes - 1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal NaplozasElokeszitesModel(int userId, int? szervezetTipusId = null)
 | 
			
		||||
        {
 | 
			
		||||
            UserId = userId;
 | 
			
		||||
            OraAdat = new OraAdatModel();
 | 
			
		||||
            Helyettesites = new HelyettesitesModel();
 | 
			
		||||
            OraTulajdonsag = new OraTulajdonsagModel();
 | 
			
		||||
            Hazifeladat = new HazifeladatModel();
 | 
			
		||||
            Mulasztas = new MulasztasModel();
 | 
			
		||||
            DigitalisOktatas = new DigitalisOktatasAdatok();
 | 
			
		||||
            SzervezetTipusId = szervezetTipusId;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public OraAdatModel OraAdat { get; set; }
 | 
			
		||||
 | 
			
		||||
        public HelyettesitesModel Helyettesites { get; set; }
 | 
			
		||||
 | 
			
		||||
        public OraTulajdonsagModel OraTulajdonsag { get; set; }
 | 
			
		||||
 | 
			
		||||
        public HazifeladatModel Hazifeladat { get; set; }
 | 
			
		||||
 | 
			
		||||
        public MulasztasModel Mulasztas { get; set; }
 | 
			
		||||
 | 
			
		||||
        public DigitalisOktatasAdatok DigitalisOktatas { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? SzervezetTipusId { get; set; }
 | 
			
		||||
 | 
			
		||||
        public bool IsMentorOra { get; set; }
 | 
			
		||||
 | 
			
		||||
        public void ConvertTo(TanoraCO co)
 | 
			
		||||
        {
 | 
			
		||||
            co.IsTanoranKivuli = OraAdat.IsTanorankivuli;
 | 
			
		||||
            co.ID = OraAdat.TanitasiOraId;
 | 
			
		||||
            co.Datum = OraAdat.OraKezdete.Date;
 | 
			
		||||
            co.BejegyIdo = OraAdat.RogzitesDatuma;
 | 
			
		||||
            co.HetNapja = OraAdat.HetNapja;
 | 
			
		||||
            co.Hetirend = OraAdat.Hetirend;
 | 
			
		||||
            co.Megjegyzes = OraAdat.Megjegyzes;
 | 
			
		||||
            co.Megtartott = !IsElmaradtOra;
 | 
			
		||||
            co.MobilNaplozott = OraAdat.IsMobilNaplozott;
 | 
			
		||||
            co.AdminAltalKiirt = OraAdat.IsAdminAltalKiirt;
 | 
			
		||||
            co.OraKezd = OraAdat.OraKezdete;
 | 
			
		||||
            co.OraVeg = OraAdat.OraVege;
 | 
			
		||||
            co.EvesOraSorszam = OraAdat.EvesOraSorszam;
 | 
			
		||||
            co.Oraszam = OraAdat.Oraszam ?? -1;
 | 
			
		||||
            co.Sorszamozando = OraAdat.IsSorszamozando;
 | 
			
		||||
            co.TemaTanmenetId = OraAdat.TemaTanmenetId;
 | 
			
		||||
            co.TanulasiEgysegId = OraAdat.TanulasiEgysegId;
 | 
			
		||||
            co.Tema = OraAdat.Tema;
 | 
			
		||||
            co.Targy = OraAdat.TantargyId;
 | 
			
		||||
            co.OrarendiOra = OraAdat.OrarendiOraId;
 | 
			
		||||
            co.Fogl = OraAdat.FoglakozasId;
 | 
			
		||||
            co.Tulaj = UserId;
 | 
			
		||||
            co.OrarendiOraGroupId = OraAdat.GroupId;
 | 
			
		||||
            co.Tanar = OraAdat.TanarId;
 | 
			
		||||
            co.Terem = OraAdat.TeremId;
 | 
			
		||||
            co.OsztCsop = OraAdat.OsztalyCsoportId;
 | 
			
		||||
            co.CsengetesiRendOraId = OraAdat.CsengetesirendOraId;
 | 
			
		||||
            co.CsengetesiRendID = OraAdat.CsengetesirendId;
 | 
			
		||||
 | 
			
		||||
            co.IktTanora = OraTulajdonsag.IktTanora;
 | 
			
		||||
            co.Bontott = OraTulajdonsag.Bontott;
 | 
			
		||||
            co.IsFelnottoktatasiSzerzodes = OraTulajdonsag.IsFelnottoktatasiSzerzodes;
 | 
			
		||||
            co.OnlineOra = OraTulajdonsag.OnlineOra;
 | 
			
		||||
            co.NemzetisegiOra = OraTulajdonsag.NemzetisegiOra;
 | 
			
		||||
            co.MindennaposTestneveles = OraTulajdonsag.MindennaposTestneveles;
 | 
			
		||||
            co.IPRTanora = OraTulajdonsag.IPRTanora;
 | 
			
		||||
            co.Differencialt = OraTulajdonsag.Differencialt;
 | 
			
		||||
            co.Kooperativ = OraTulajdonsag.Kooperativ;
 | 
			
		||||
            co.Meres = OraTulajdonsag.Meres;
 | 
			
		||||
            co.Drama = OraTulajdonsag.Drama;
 | 
			
		||||
            co.Tiop = OraTulajdonsag.Tiop;
 | 
			
		||||
            co.ParhuzamosOra = OraTulajdonsag.ParhuzamosOra;
 | 
			
		||||
            co.NemSzakrendszeru = OraTulajdonsag.NemSzakrendszeru;
 | 
			
		||||
            co.TAMOP = OraTulajdonsag.TAMOP;
 | 
			
		||||
            co.KIPOra = OraTulajdonsag.KIPOra;
 | 
			
		||||
            co.VEKOP73317 = OraTulajdonsag.VEKOP73317;
 | 
			
		||||
            co.KAPOra = OraTulajdonsag.KAPOra;
 | 
			
		||||
            co.Tulora = OraTulajdonsag.Tulora;
 | 
			
		||||
            co.Multikulturalis = OraTulajdonsag.Multikulturalis;
 | 
			
		||||
            co.EFOP32317 = OraTulajdonsag.EFOP32317;
 | 
			
		||||
            co.KomplexOra = OraTulajdonsag.KomplexOra;
 | 
			
		||||
            co.GINOP623 = OraTulajdonsag.GINOP623;
 | 
			
		||||
            co.EFOP31716EselyteremtesAKoznevelesben = OraTulajdonsag.EFOP31716EselyteremtesAKoznevelesben;
 | 
			
		||||
            co.EFOP33717 = OraTulajdonsag.EFOP33717;
 | 
			
		||||
            co.TIOP11112120120001 = OraTulajdonsag.TIOP11112120120001;
 | 
			
		||||
            co.DFHT = OraTulajdonsag.DFHT;
 | 
			
		||||
            co.Rahangolodas = OraTulajdonsag.Rahangolodas;
 | 
			
		||||
            co.Testmozgas = OraTulajdonsag.Testmozgas;
 | 
			
		||||
            co.Muveszet = OraTulajdonsag.Muveszet;
 | 
			
		||||
            co.Eletgyakorlat = OraTulajdonsag.Eletgyakorlat;
 | 
			
		||||
            co.Logika = OraTulajdonsag.Logika;
 | 
			
		||||
            co.TeOrad = OraTulajdonsag.TeOrad;
 | 
			
		||||
            co.DigitalisAlapProgram = OraTulajdonsag.DigitalisAlapProgram;
 | 
			
		||||
            co.EFOP23517201700038Miapalya = OraTulajdonsag.EFOP23517201700038Miapalya;
 | 
			
		||||
            co.TanevTananyaganakIsmetlese = OraTulajdonsag.TanevTananyaganakIsmetlese;
 | 
			
		||||
            co.TanevTananyaganakKiegeszitese = OraTulajdonsag.TanevTananyaganakKiegeszitese;
 | 
			
		||||
            co.TanulokDigitalisKeszsegfejlesztese = OraTulajdonsag.TanulokDigitalisKeszsegfejlesztese;
 | 
			
		||||
            co.Projektmunka = OraTulajdonsag.Projektmunka;
 | 
			
		||||
            co.TanulokKompenzaciosIraskeszsegFejlesztese = OraTulajdonsag.TanulokKompenzaciosIraskeszsegFejlesztese;
 | 
			
		||||
            co.TanulokKompenzaciosOlvasasiKepessegFejlesztese = OraTulajdonsag.TanulokKompenzaciosOlvasasiKepessegFejlesztese;
 | 
			
		||||
            co.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = OraTulajdonsag.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese;
 | 
			
		||||
            co.TanulokNyelviKepessegenekKompenzaciosFejlesztese = OraTulajdonsag.TanulokNyelviKepessegenekKompenzaciosFejlesztese;
 | 
			
		||||
            co.TanulokOnmegismeresenekSegitese = OraTulajdonsag.TanulokOnmegismeresenekSegitese;
 | 
			
		||||
            co.TanulokOnallosagraNevelese = OraTulajdonsag.TanulokOnallosagraNevelese;
 | 
			
		||||
            co.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = OraTulajdonsag.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese;
 | 
			
		||||
            co.TanulokOrientaciosTamogatasa = OraTulajdonsag.TanulokOrientaciosTamogatasa;
 | 
			
		||||
            co.TanulokSzocialitasanakFejlesztese = OraTulajdonsag.TanulokSzocialitasanakFejlesztese;
 | 
			
		||||
            co.TanulokTovabbhaladasatElokeszitoTevekenysegek = OraTulajdonsag.TanulokTovabbhaladasatElokeszitoTevekenysegek;
 | 
			
		||||
            co.PedagogusAltalJelzettEgyeniEsetkezeles = OraTulajdonsag.PedagogusAltalJelzettEgyeniEsetkezeles;
 | 
			
		||||
            co.ProjektmunkaTamogatasa = OraTulajdonsag.ProjektmunkaTamogatasa;
 | 
			
		||||
            co.DigitalisKeszsegfejlesztes = OraTulajdonsag.DigitalisKeszsegfejlesztes;
 | 
			
		||||
            co.KozossegiMunkaTamogatasa = OraTulajdonsag.KozossegiMunkaTamogatasa;
 | 
			
		||||
            co.TanoraElokeszitesenekTamogatasa = OraTulajdonsag.TanoraElokeszitesenekTamogatasa;
 | 
			
		||||
            co.TanoraLebonyolitasanakTamogatasa = OraTulajdonsag.TanoraLebonyolitasanakTamogatasa;
 | 
			
		||||
            co.NapkozisTevekenysegKeretebenEgyeniFejlesztes = OraTulajdonsag.NapkozisTevekenysegKeretebenEgyeniFejlesztes;
 | 
			
		||||
 | 
			
		||||
            co.HaziFeladat = Hazifeladat.Szoveg;
 | 
			
		||||
            co.HaziHatarideje = Hazifeladat.Hatarido;
 | 
			
		||||
            co.HaziFeladatId = Hazifeladat.Id;
 | 
			
		||||
            co.CheckedOpenBoardFileIdList = OraAdat.CheckedOpenBoardFileIdList;
 | 
			
		||||
            co.HaziFeladatCsatolmanyId = Hazifeladat.CsatolmanyId;
 | 
			
		||||
 | 
			
		||||
            co.HelyettesitesId = Helyettesites.Id ?? 0;
 | 
			
		||||
            co.Helyettesito = Helyettesites.TanarId;
 | 
			
		||||
            co.HelyettesitesOka = Helyettesites.Oka;
 | 
			
		||||
            co.HelyettesitesTipus = Helyettesites.Tipus;
 | 
			
		||||
            co.DigEszkozTipusId = OraAdat.DigEszkozTipusId ?? (int)DigEszkozTipusEnum.na;
 | 
			
		||||
            co.DigPlatformTipusId = OraAdat.DigPlatformTipusId ?? (int)DigPlatformTipusEnum.na;
 | 
			
		||||
            co.DigTamEszkozTipusIdList = OraAdat.DigTamEszkozTipusIdList != null && OraAdat.DigTamEszkozTipusIdList.Count > 0 ? OraAdat.DigTamEszkozTipusIdList : new List<int>() { (int)DigTamEszkozTipusEnum.na };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void ConvertTo(List<MulasztasokCo> coList)
 | 
			
		||||
        {
 | 
			
		||||
            foreach (var row in Mulasztas.MulasztasList)
 | 
			
		||||
            {
 | 
			
		||||
                var co = new MulasztasokCo();
 | 
			
		||||
 | 
			
		||||
                if (row.Keses.HasValue && row.Keses.Value > 0 && row.MulasztasTipus != (int)MulasztasTipusEnum.potlas)
 | 
			
		||||
                {
 | 
			
		||||
                    row.MulasztasTipus = (int)MulasztasTipusEnum.keses;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (!row.MulasztasTipus.HasValue)
 | 
			
		||||
                {
 | 
			
		||||
                    row.MulasztasTipus = (int)MulasztasTipusEnum.ures;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                co.ID = row.MulasztasId;
 | 
			
		||||
                co.TanuloId = row.TanuloId;
 | 
			
		||||
                co.MulTip = row.MulasztasTipus;
 | 
			
		||||
 | 
			
		||||
                if (row.MulasztasTipus == (int)MulasztasTipusEnum.keses || row.MulasztasTipus == (int)MulasztasTipusEnum.potlas)
 | 
			
		||||
                {
 | 
			
		||||
                    co.KesIdo = row.Keses ?? 0;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                co.HazifeladatHiany = row.HazifeladatHiany;
 | 
			
		||||
                co.FelszerelesHiany = row.FelszerelesHiany;
 | 
			
		||||
                co.Felmentes = row.Felmentes;
 | 
			
		||||
                co.TanoraiDicseret = row.TanoraiDicseret;
 | 
			
		||||
 | 
			
		||||
                co.HazifeladatHianyId = row.HazifeladatHianyId;
 | 
			
		||||
                co.FelszerelesHianyId = row.FelszerelesHianyId;
 | 
			
		||||
                co.FelmentesId = row.FelmentesId;
 | 
			
		||||
                co.TanoraiDicseretId = row.TanoraiDicseretId;
 | 
			
		||||
 | 
			
		||||
                coList.Add(co);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										243
									
								
								Kreta.BusinessLogic/Logic/Naplozas/Elokeszites/OraAdatModel.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										243
									
								
								Kreta.BusinessLogic/Logic/Naplozas/Elokeszites/OraAdatModel.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,243 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers;
 | 
			
		||||
using Kreta.BusinessLogic.Utils;
 | 
			
		||||
using Kreta.Core.ConnectionType;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
using Kreta.Resources;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class OraAdatModel
 | 
			
		||||
    {
 | 
			
		||||
        internal OraAdatModel()
 | 
			
		||||
        {
 | 
			
		||||
            Hetirend = (int)HetiRendTipusEnum.MindegyikHet;
 | 
			
		||||
            TemaLista = new Dictionary<string, string>();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public DateTime OraKezdete { get; set; }
 | 
			
		||||
        public DateTime OraVege { get; set; }
 | 
			
		||||
        public DateTime RogzitesDatuma { get; set; }
 | 
			
		||||
 | 
			
		||||
        public int? OrarendiOraId { get; set; }
 | 
			
		||||
        public int? TanitasiOraId { get; set; }
 | 
			
		||||
        public int? CsengetesirendOraId { get; set; }
 | 
			
		||||
        public int? CsengetesirendId { get; set; }
 | 
			
		||||
        public int? Hanyadikora { get; set; }
 | 
			
		||||
        public int? TanarId { get; set; }
 | 
			
		||||
        public string TanarNev { get; set; }
 | 
			
		||||
        public int? OsztalyfonokId { get; set; }
 | 
			
		||||
        public string Tema { get; set; }
 | 
			
		||||
        public int? TemaTanmenetId { get; set; }
 | 
			
		||||
        public int? TanulasiEgysegId { get; set; }
 | 
			
		||||
        public int? FoglakozasId { get; set; }
 | 
			
		||||
        public int? OsztalyCsoportId { get; set; }
 | 
			
		||||
        public string OsztalyCsoportNev { get; set; }
 | 
			
		||||
        public int? TantargyId { get; set; }
 | 
			
		||||
        public string TantargyNev { get; set; }
 | 
			
		||||
        public int? TeremId { get; set; }
 | 
			
		||||
        public bool IsOraOsszevonas { get; set; }
 | 
			
		||||
        public bool IsElmaradt { get; set; }
 | 
			
		||||
        public bool IsSorszamozando { get; set; }
 | 
			
		||||
        public bool IsTanorankivuli { get; set; }
 | 
			
		||||
        public int? EvesOraSorszam { get; set; }
 | 
			
		||||
        public string Megjegyzes { get; set; }
 | 
			
		||||
        public int? Oraszam { get; set; }
 | 
			
		||||
        public string ElozoOraAdat { get; set; }
 | 
			
		||||
        public string ElozoOraTema { get; set; }
 | 
			
		||||
        public int? SzamonkeresModId { get; set; }
 | 
			
		||||
        public string SzamonkeresModja { get; set; }
 | 
			
		||||
        public string SzamonkeresMegnevezes { get; set; }
 | 
			
		||||
 | 
			
		||||
        public string SzamonkeresAdatai
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                if (string.IsNullOrWhiteSpace(SzamonkeresModja))
 | 
			
		||||
                {
 | 
			
		||||
                    return string.Empty;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return string.Format(OrarendResource.SzamonkeresElorejelzesModjaTemajaStr, SzamonkeresModja, string.IsNullOrWhiteSpace(SzamonkeresMegnevezes) ? "-" : SzamonkeresMegnevezes);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string Hetesek { get; set; }
 | 
			
		||||
        public int Hetirend { get; set; }
 | 
			
		||||
        public IDictionary<string, string> TemaLista { get; internal set; }
 | 
			
		||||
        public bool IsMobilNaplozott { get; set; }
 | 
			
		||||
        public bool IsAdminAltalKiirt { get; set; }
 | 
			
		||||
        public int GroupId { get; set; }
 | 
			
		||||
        public int? HetNapja { get; set; }
 | 
			
		||||
        public bool VanOralatogatasa { get; set; }
 | 
			
		||||
        public List<int> CheckedOpenBoardFileIdList { get; internal set; }
 | 
			
		||||
 | 
			
		||||
        public int? DigEszkozTipusId { get; set; }
 | 
			
		||||
        public int? DigPlatformTipusId { get; set; }
 | 
			
		||||
        public List<int> DigTamEszkozTipusIdList { get; set; }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(TanoraCO co, bool helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando)
 | 
			
		||||
        {
 | 
			
		||||
            OrarendiOraId = co.OrarendiOra;
 | 
			
		||||
            TanitasiOraId = co.ID;
 | 
			
		||||
            OraKezdete = co.OraKezd;
 | 
			
		||||
            OraVege = co.OraVeg;
 | 
			
		||||
            CsengetesirendOraId = co.CsengetesiRendOraId;
 | 
			
		||||
            CsengetesirendId = co.CsengetesiRendID;
 | 
			
		||||
            TanarId = co.Tanar;
 | 
			
		||||
            FoglakozasId = co.Fogl;
 | 
			
		||||
            OsztalyCsoportId = co.OsztCsop;
 | 
			
		||||
            TantargyId = co.Targy;
 | 
			
		||||
            TeremId = co.Terem;
 | 
			
		||||
            TanarNev = co.TanarNev;
 | 
			
		||||
            OsztalyCsoportNev = co.OsztalyCsoportNev;
 | 
			
		||||
            TantargyNev = co.TantargyNev;
 | 
			
		||||
            EvesOraSorszam = co.EvesOraSorszam;
 | 
			
		||||
            TemaTanmenetId = co.TemaTanmenetId;
 | 
			
		||||
            Tema = co.Tema;
 | 
			
		||||
            TanulasiEgysegId = co.TanulasiEgysegId;
 | 
			
		||||
            IsSorszamozando = GetSorszamozandoBaseValue(co.Sorszamozando, co.HelyettesitesTipus, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
 | 
			
		||||
            Megjegyzes = co.Megjegyzes;
 | 
			
		||||
            Oraszam = co.Oraszam;
 | 
			
		||||
            IsTanorankivuli = co.IsTanoranKivuli;
 | 
			
		||||
            Hetirend = co.Hetirend ?? (int)HetiRendTipusEnum.MindegyikHet;
 | 
			
		||||
            IsMobilNaplozott = co.MobilNaplozott ?? false;
 | 
			
		||||
            IsAdminAltalKiirt = co.AdminAltalKiirt;
 | 
			
		||||
            GroupId = co.OrarendiOraGroupId;
 | 
			
		||||
            HetNapja = co.HetNapja;
 | 
			
		||||
            RogzitesDatuma = co.BejegyIdo;
 | 
			
		||||
            IsElmaradt = !co.Megtartott ?? false;
 | 
			
		||||
            VanOralatogatasa = co.OraLatogatok != null && co.OraLatogatok.Count > 0;
 | 
			
		||||
            CheckedOpenBoardFileIdList = co.CheckedOpenBoardFileIdList;
 | 
			
		||||
            DigEszkozTipusId = co.DigEszkozTipusId;
 | 
			
		||||
            DigPlatformTipusId = co.DigPlatformTipusId;
 | 
			
		||||
            DigTamEszkozTipusIdList = co.DigTamEszkozTipusIdList;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(IConnectionType connectionType, EgyediNaplozasElokeszitesCo input, bool helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando)
 | 
			
		||||
        {
 | 
			
		||||
            OraKezdete = input.Start;
 | 
			
		||||
            OraVege = input.End;
 | 
			
		||||
            OrarendiOraId = input.OrarendiOraId;
 | 
			
		||||
            TanitasiOraId = input.TanitasiOraId;
 | 
			
		||||
            CsengetesirendOraId = input.CsengetesirendOraId;
 | 
			
		||||
            CsengetesirendId = input.CsengetesirendId;
 | 
			
		||||
            IsTanorankivuli = !(input.CsengetesirendOraId.HasValue && input.CsengetesirendOraId > 0);
 | 
			
		||||
 | 
			
		||||
            if (!IsTanorankivuli && !CsengetesirendId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                var cshelper = new CsengetesiRendHelper(connectionType);
 | 
			
		||||
                CsengetesirendId = cshelper.GetCsengetesiRendId(CsengetesirendOraId.Value);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            TanarId = input.TanarId;
 | 
			
		||||
            FoglakozasId = input.FoglakozasId;
 | 
			
		||||
            OsztalyCsoportId = input.OsztalyCsoportId;
 | 
			
		||||
            TantargyId = input.TantargyId;
 | 
			
		||||
            TeremId = input.TeremId;
 | 
			
		||||
            IsOraOsszevonas = input.IsOraOsszevonas;
 | 
			
		||||
            IsSorszamozando = GetSorszamozandoBaseValue(baseValue: true, input.HelyettesitesTipus, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
 | 
			
		||||
            HetNapja = CommonUtils.GetHetNapja(OraKezdete);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasCo input)
 | 
			
		||||
        {
 | 
			
		||||
            OraKezdete = input.OraAdat.OraKezdete;
 | 
			
		||||
            OraVege = input.OraAdat.OraVege;
 | 
			
		||||
 | 
			
		||||
            if (input.OraAdat.OrarendiOraId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                OrarendiOraId = input.OraAdat.OrarendiOraId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.TanitasiOraId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                TanitasiOraId = input.OraAdat.TanitasiOraId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.CsengetesirendOraId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                CsengetesirendOraId = input.OraAdat.CsengetesirendOraId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.CsengetesirendId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                CsengetesirendId = input.OraAdat.CsengetesirendId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.TanarId.HasValue && !TanarId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                TanarId = input.OraAdat.TanarId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.TemaTanmenetId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                TemaTanmenetId = input.OraAdat.TemaTanmenetId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.TanulasiEgysegId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                TanulasiEgysegId = input.OraAdat.TanulasiEgysegId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.FoglakozasId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                FoglakozasId = input.OraAdat.FoglakozasId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.OsztalyCsoportId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                OsztalyCsoportId = input.OraAdat.OsztalyCsoportId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.TantargyId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                TantargyId = input.OraAdat.TantargyId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.TeremId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                TeremId = input.OraAdat.TeremId;
 | 
			
		||||
            }
 | 
			
		||||
            if (input.OraAdat.Oraszam.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                Oraszam = input.OraAdat.Oraszam;
 | 
			
		||||
            }
 | 
			
		||||
            if (!input.IsEgyediNaplozas)
 | 
			
		||||
            {
 | 
			
		||||
                CheckedOpenBoardFileIdList = input.OraAdat.CheckedOpenBoardFileIdList;
 | 
			
		||||
            }
 | 
			
		||||
            Tema = input.OraAdat.Tema;
 | 
			
		||||
            IsSorszamozando = input.OraAdat.IsSorszamozando;
 | 
			
		||||
            IsTanorankivuli = input.OraAdat.IsTanorankivuli;
 | 
			
		||||
            Megjegyzes = input.OraAdat.Megjegyzes;
 | 
			
		||||
 | 
			
		||||
            if (RogzitesDatuma == default)
 | 
			
		||||
            {
 | 
			
		||||
                RogzitesDatuma = DateTime.Now;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (!HetNapja.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                HetNapja = CommonUtils.GetHetNapja(OraKezdete);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            IsMobilNaplozott = false;
 | 
			
		||||
            DigPlatformTipusId = input.OraAdat.DigPlatformTipusId;
 | 
			
		||||
            DigEszkozTipusId = input.OraAdat.DigEszkozTipusId;
 | 
			
		||||
            DigTamEszkozTipusIdList = input.OraAdat.DigTamEszkozTipusIdList;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasMobilCo input)
 | 
			
		||||
        {
 | 
			
		||||
            OrarendiOraId = input.OraAdat.OrarendiOraId;
 | 
			
		||||
            TanitasiOraId = input.OraAdat.TanitasiOraId;
 | 
			
		||||
            Tema = input.OraAdat.Tema;
 | 
			
		||||
            IsElmaradt = input.OraAdat.IsElmaradt;
 | 
			
		||||
            RogzitesDatuma = input.OraAdat.RogzitesDatuma == default ? DateTime.Now : input.OraAdat.RogzitesDatuma;
 | 
			
		||||
            IsMobilNaplozott = true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private bool GetSorszamozandoBaseValue(bool baseValue, int? helyettesitesTipus, bool helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando)
 | 
			
		||||
        {
 | 
			
		||||
            if (!TanitasiOraId.HasValue && (helyettesitesTipus == (int)HelyettesitesTipusEnum.nem_szakszeru_helyettesites_felugyelet_ || helyettesitesTipus == (int)HelyettesitesTipusEnum.osszevont_felugyelet))
 | 
			
		||||
            {
 | 
			
		||||
                return helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return baseValue;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,187 @@
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
 | 
			
		||||
{
 | 
			
		||||
    public class OraTulajdonsagModel
 | 
			
		||||
    {
 | 
			
		||||
        public bool Bontott { get; set; }
 | 
			
		||||
        public bool NemzetisegiOra { get; set; }
 | 
			
		||||
        public bool IsFelnottoktatasiSzerzodes { get; set; }
 | 
			
		||||
        public bool OnlineOra { get; set; }
 | 
			
		||||
        public bool MindennaposTestneveles { get; set; }
 | 
			
		||||
        public bool IPRTanora { get; set; }
 | 
			
		||||
        public bool Differencialt { get; set; }
 | 
			
		||||
        public bool Kooperativ { get; set; }
 | 
			
		||||
        public bool Meres { get; set; }
 | 
			
		||||
        public bool Drama { get; set; }
 | 
			
		||||
        public bool Tiop { get; set; }
 | 
			
		||||
        public bool ParhuzamosOra { get; set; }
 | 
			
		||||
        public bool IktTanora { get; set; }
 | 
			
		||||
        public bool TAMOP { get; set; }
 | 
			
		||||
        public bool NemSzakrendszeru { get; set; }
 | 
			
		||||
        public bool Tulora { get; set; }
 | 
			
		||||
        public bool Multikulturalis { get; set; }
 | 
			
		||||
        public bool EFOP32317 { get; set; }
 | 
			
		||||
        public bool KomplexOra { get; set; }
 | 
			
		||||
        public bool KIPOra { get; set; }
 | 
			
		||||
        public bool VEKOP73317 { get; set; }
 | 
			
		||||
        public bool KAPOra { get; set; }
 | 
			
		||||
        public bool GINOP623 { get; set; }
 | 
			
		||||
        public bool EFOP31716EselyteremtesAKoznevelesben { get; set; }
 | 
			
		||||
        public bool EFOP33717 { get; set; }
 | 
			
		||||
        public bool TIOP11112120120001 { get; set; }
 | 
			
		||||
        public bool DFHT { get; set; }
 | 
			
		||||
        public bool Rahangolodas { get; set; }
 | 
			
		||||
        public bool Testmozgas { get; set; }
 | 
			
		||||
        public bool Muveszet { get; set; }
 | 
			
		||||
        public bool Eletgyakorlat { get; set; }
 | 
			
		||||
        public bool Logika { get; set; }
 | 
			
		||||
        public bool TeOrad { get; set; }
 | 
			
		||||
        public bool DigitalisAlapProgram { get; set; }
 | 
			
		||||
 | 
			
		||||
        public bool EFOP23517201700038Miapalya { get; set; }
 | 
			
		||||
        public bool TanevTananyaganakIsmetlese { get; set; }
 | 
			
		||||
        public bool TanevTananyaganakKiegeszitese { get; set; }
 | 
			
		||||
        public bool TanulokDigitalisKeszsegfejlesztese { get; set; }
 | 
			
		||||
        public bool Projektmunka { get; set; }
 | 
			
		||||
        public bool TanulokKompenzaciosIraskeszsegFejlesztese { get; set; }
 | 
			
		||||
        public bool TanulokKompenzaciosOlvasasiKepessegFejlesztese { get; set; }
 | 
			
		||||
        public bool TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese { get; set; }
 | 
			
		||||
        public bool TanulokNyelviKepessegenekKompenzaciosFejlesztese { get; set; }
 | 
			
		||||
        public bool TanulokOnmegismeresenekSegitese { get; set; }
 | 
			
		||||
        public bool TanulokOnallosagraNevelese { get; set; }
 | 
			
		||||
        public bool TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese { get; set; }
 | 
			
		||||
        public bool TanulokOrientaciosTamogatasa { get; set; }
 | 
			
		||||
        public bool TanulokSzocialitasanakFejlesztese { get; set; }
 | 
			
		||||
        public bool TanulokTovabbhaladasatElokeszitoTevekenysegek { get; set; }
 | 
			
		||||
        public bool PedagogusAltalJelzettEgyeniEsetkezeles { get; set; }
 | 
			
		||||
        public bool ProjektmunkaTamogatasa { get; set; }
 | 
			
		||||
        public bool DigitalisKeszsegfejlesztes { get; set; }
 | 
			
		||||
        public bool KozossegiMunkaTamogatasa { get; set; }
 | 
			
		||||
        public bool TanoraElokeszitesenekTamogatasa { get; set; }
 | 
			
		||||
        public bool TanoraLebonyolitasanakTamogatasa { get; set; }
 | 
			
		||||
        public bool NapkozisTevekenysegKeretebenEgyeniFejlesztes { get; set; }
 | 
			
		||||
        public bool IsEgybefuggoGyakorlat { get; set; }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(TanoraCO co)
 | 
			
		||||
        {
 | 
			
		||||
            Bontott = co.Bontott;
 | 
			
		||||
            NemzetisegiOra = co.NemzetisegiOra;
 | 
			
		||||
            IsFelnottoktatasiSzerzodes = co.IsFelnottoktatasiSzerzodes;
 | 
			
		||||
            OnlineOra = co.OnlineOra;
 | 
			
		||||
            MindennaposTestneveles = co.MindennaposTestneveles;
 | 
			
		||||
            IPRTanora = co.IPRTanora;
 | 
			
		||||
            Differencialt = co.Differencialt;
 | 
			
		||||
            Kooperativ = co.Kooperativ;
 | 
			
		||||
            Meres = co.Meres;
 | 
			
		||||
            Drama = co.Drama;
 | 
			
		||||
            Tiop = co.Tiop;
 | 
			
		||||
            ParhuzamosOra = co.ParhuzamosOra;
 | 
			
		||||
            IktTanora = co.IktTanora;
 | 
			
		||||
            TAMOP = co.TAMOP;
 | 
			
		||||
            KIPOra = co.KIPOra;
 | 
			
		||||
            VEKOP73317 = co.VEKOP73317;
 | 
			
		||||
            KAPOra = co.KAPOra;
 | 
			
		||||
            NemSzakrendszeru = co.NemSzakrendszeru;
 | 
			
		||||
            Tulora = co.Tulora;
 | 
			
		||||
            Multikulturalis = co.Multikulturalis;
 | 
			
		||||
            EFOP32317 = co.EFOP32317;
 | 
			
		||||
            KomplexOra = co.KomplexOra;
 | 
			
		||||
            GINOP623 = co.GINOP623;
 | 
			
		||||
            EFOP31716EselyteremtesAKoznevelesben = co.EFOP31716EselyteremtesAKoznevelesben;
 | 
			
		||||
            EFOP33717 = co.EFOP33717;
 | 
			
		||||
            TIOP11112120120001 = co.TIOP11112120120001;
 | 
			
		||||
            DFHT = co.DFHT;
 | 
			
		||||
            Rahangolodas = co.Rahangolodas;
 | 
			
		||||
            Testmozgas = co.Testmozgas;
 | 
			
		||||
            Muveszet = co.Muveszet;
 | 
			
		||||
            Eletgyakorlat = co.Eletgyakorlat;
 | 
			
		||||
            Logika = co.Logika;
 | 
			
		||||
            TeOrad = co.TeOrad;
 | 
			
		||||
            DigitalisAlapProgram = co.DigitalisAlapProgram;
 | 
			
		||||
            EFOP23517201700038Miapalya = co.EFOP23517201700038Miapalya;
 | 
			
		||||
            TanevTananyaganakIsmetlese = co.TanevTananyaganakIsmetlese;
 | 
			
		||||
            TanevTananyaganakKiegeszitese = co.TanevTananyaganakKiegeszitese;
 | 
			
		||||
            TanulokDigitalisKeszsegfejlesztese = co.TanulokDigitalisKeszsegfejlesztese;
 | 
			
		||||
            Projektmunka = co.Projektmunka;
 | 
			
		||||
            TanulokKompenzaciosIraskeszsegFejlesztese = co.TanulokKompenzaciosIraskeszsegFejlesztese;
 | 
			
		||||
            TanulokKompenzaciosOlvasasiKepessegFejlesztese = co.TanulokKompenzaciosOlvasasiKepessegFejlesztese;
 | 
			
		||||
            TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = co.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese;
 | 
			
		||||
            TanulokNyelviKepessegenekKompenzaciosFejlesztese = co.TanulokNyelviKepessegenekKompenzaciosFejlesztese;
 | 
			
		||||
            TanulokOnmegismeresenekSegitese = co.TanulokOnmegismeresenekSegitese;
 | 
			
		||||
            TanulokOnallosagraNevelese = co.TanulokOnallosagraNevelese;
 | 
			
		||||
            TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = co.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese;
 | 
			
		||||
            TanulokOrientaciosTamogatasa = co.TanulokOrientaciosTamogatasa;
 | 
			
		||||
            TanulokSzocialitasanakFejlesztese = co.TanulokSzocialitasanakFejlesztese;
 | 
			
		||||
            TanulokTovabbhaladasatElokeszitoTevekenysegek = co.TanulokTovabbhaladasatElokeszitoTevekenysegek;
 | 
			
		||||
            PedagogusAltalJelzettEgyeniEsetkezeles = co.PedagogusAltalJelzettEgyeniEsetkezeles;
 | 
			
		||||
            ProjektmunkaTamogatasa = co.ProjektmunkaTamogatasa;
 | 
			
		||||
            DigitalisKeszsegfejlesztes = co.DigitalisKeszsegfejlesztes;
 | 
			
		||||
            KozossegiMunkaTamogatasa = co.KozossegiMunkaTamogatasa;
 | 
			
		||||
            TanoraElokeszitesenekTamogatasa = co.TanoraElokeszitesenekTamogatasa;
 | 
			
		||||
            TanoraLebonyolitasanakTamogatasa = co.TanoraLebonyolitasanakTamogatasa;
 | 
			
		||||
            NapkozisTevekenysegKeretebenEgyeniFejlesztes = co.NapkozisTevekenysegKeretebenEgyeniFejlesztes;
 | 
			
		||||
            IsEgybefuggoGyakorlat = co.IsEgybefuggoGyakorlat;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal void Fill(NaplozasCo co)
 | 
			
		||||
        {
 | 
			
		||||
            Bontott = co.OraTulajdosag.Bontott;
 | 
			
		||||
            NemzetisegiOra = co.OraTulajdosag.NemzetisegiOra;
 | 
			
		||||
            IsFelnottoktatasiSzerzodes = co.OraTulajdosag.IsFelnottoktatasiSzerzodes;
 | 
			
		||||
            OnlineOra = co.OraTulajdosag.OnlineOra;
 | 
			
		||||
            MindennaposTestneveles = co.OraTulajdosag.MindennaposTestneveles;
 | 
			
		||||
            IPRTanora = co.OraTulajdosag.IPRTanora;
 | 
			
		||||
            Differencialt = co.OraTulajdosag.Differencialt;
 | 
			
		||||
            Kooperativ = co.OraTulajdosag.Kooperativ;
 | 
			
		||||
            Meres = co.OraTulajdosag.Meres;
 | 
			
		||||
            Drama = co.OraTulajdosag.Drama;
 | 
			
		||||
            Tiop = co.OraTulajdosag.Tiop;
 | 
			
		||||
            ParhuzamosOra = co.OraTulajdosag.ParhuzamosOra;
 | 
			
		||||
            IktTanora = co.OraTulajdosag.IktTanora;
 | 
			
		||||
            TAMOP = co.OraTulajdosag.TAMOP;
 | 
			
		||||
            KIPOra = co.OraTulajdosag.KIPOra;
 | 
			
		||||
            VEKOP73317 = co.OraTulajdosag.VEKOP73317;
 | 
			
		||||
            KAPOra = co.OraTulajdosag.KAPOra;
 | 
			
		||||
            NemSzakrendszeru = co.OraTulajdosag.NemSzakrendszeru;
 | 
			
		||||
            Tulora = co.OraTulajdosag.Tulora;
 | 
			
		||||
            Multikulturalis = co.OraTulajdosag.Multikulturalis;
 | 
			
		||||
            EFOP32317 = co.OraTulajdosag.EFOP32317;
 | 
			
		||||
            KomplexOra = co.OraTulajdosag.KomplexOra;
 | 
			
		||||
            GINOP623 = co.OraTulajdosag.GINOP623;
 | 
			
		||||
            EFOP31716EselyteremtesAKoznevelesben = co.OraTulajdosag.EFOP31716EselyteremtesAKoznevelesben;
 | 
			
		||||
            EFOP33717 = co.OraTulajdosag.EFOP33717;
 | 
			
		||||
            TIOP11112120120001 = co.OraTulajdosag.TIOP11112120120001;
 | 
			
		||||
            DFHT = co.OraTulajdosag.DFHT;
 | 
			
		||||
            Rahangolodas = co.OraTulajdosag.Rahangolodas;
 | 
			
		||||
            Testmozgas = co.OraTulajdosag.Testmozgas;
 | 
			
		||||
            Muveszet = co.OraTulajdosag.Muveszet;
 | 
			
		||||
            Eletgyakorlat = co.OraTulajdosag.Eletgyakorlat;
 | 
			
		||||
            Logika = co.OraTulajdosag.Logika;
 | 
			
		||||
            TeOrad = co.OraTulajdosag.TeOrad;
 | 
			
		||||
            DigitalisAlapProgram = co.OraTulajdosag.DigitalisAlapProgram;
 | 
			
		||||
            EFOP23517201700038Miapalya = co.OraTulajdosag.EFOP23517201700038Miapalya;
 | 
			
		||||
            TanevTananyaganakIsmetlese = co.OraTulajdosag.TanevTananyaganakIsmetlese;
 | 
			
		||||
            TanevTananyaganakKiegeszitese = co.OraTulajdosag.TanevTananyaganakKiegeszitese;
 | 
			
		||||
            TanulokDigitalisKeszsegfejlesztese = co.OraTulajdosag.TanulokDigitalisKeszsegfejlesztese;
 | 
			
		||||
            Projektmunka = co.OraTulajdosag.Projektmunka;
 | 
			
		||||
            TanulokKompenzaciosIraskeszsegFejlesztese = co.OraTulajdosag.TanulokKompenzaciosIraskeszsegFejlesztese;
 | 
			
		||||
            TanulokKompenzaciosOlvasasiKepessegFejlesztese = co.OraTulajdosag.TanulokKompenzaciosOlvasasiKepessegFejlesztese;
 | 
			
		||||
            TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = co.OraTulajdosag.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese;
 | 
			
		||||
            TanulokNyelviKepessegenekKompenzaciosFejlesztese = co.OraTulajdosag.TanulokNyelviKepessegenekKompenzaciosFejlesztese;
 | 
			
		||||
            TanulokOnmegismeresenekSegitese = co.OraTulajdosag.TanulokOnmegismeresenekSegitese;
 | 
			
		||||
            TanulokOnallosagraNevelese = co.OraTulajdosag.TanulokOnallosagraNevelese;
 | 
			
		||||
            TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = co.OraTulajdosag.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese;
 | 
			
		||||
            TanulokOrientaciosTamogatasa = co.OraTulajdosag.TanulokOrientaciosTamogatasa;
 | 
			
		||||
            TanulokSzocialitasanakFejlesztese = co.OraTulajdosag.TanulokSzocialitasanakFejlesztese;
 | 
			
		||||
            TanulokTovabbhaladasatElokeszitoTevekenysegek = co.OraTulajdosag.TanulokTovabbhaladasatElokeszitoTevekenysegek;
 | 
			
		||||
            PedagogusAltalJelzettEgyeniEsetkezeles = co.OraTulajdosag.PedagogusAltalJelzettEgyeniEsetkezeles;
 | 
			
		||||
            ProjektmunkaTamogatasa = co.OraTulajdosag.ProjektmunkaTamogatasa;
 | 
			
		||||
            DigitalisKeszsegfejlesztes = co.OraTulajdosag.DigitalisKeszsegfejlesztes;
 | 
			
		||||
            KozossegiMunkaTamogatasa = co.OraTulajdosag.KozossegiMunkaTamogatasa;
 | 
			
		||||
            TanoraElokeszitesenekTamogatasa = co.OraTulajdosag.TanoraElokeszitesenekTamogatasa;
 | 
			
		||||
            TanoraLebonyolitasanakTamogatasa = co.OraTulajdosag.TanoraLebonyolitasanakTamogatasa;
 | 
			
		||||
            NapkozisTevekenysegKeretebenEgyeniFejlesztes = co.OraTulajdosag.NapkozisTevekenysegKeretebenEgyeniFejlesztes;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,47 @@
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas
 | 
			
		||||
{
 | 
			
		||||
    internal class MulasztasBulkUpdateModel
 | 
			
		||||
    {
 | 
			
		||||
        public MulasztasBulkUpdateModel(MulasztasokCo co)
 | 
			
		||||
        {
 | 
			
		||||
            ID = co.ID;
 | 
			
		||||
            Igazolt = co.Igazolt.HasValue ? co.Igazolt.Value ? "T" : "F" : null;
 | 
			
		||||
            Megjegyzes = co.Megjegyzes;
 | 
			
		||||
            Tipus = co.MulTip;
 | 
			
		||||
            IgazolasTipusa = co.IgazolasTipus;
 | 
			
		||||
            OraTanuloId = co.TanuloId;
 | 
			
		||||
            TanitasiOrakId = co.OraId;
 | 
			
		||||
 | 
			
		||||
            if (co.KesIdo.HasValue && co.KesIdo > 0)
 | 
			
		||||
            {
 | 
			
		||||
                KesesPercben = co.KesIdo.Value;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                KesesPercben = null;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public DbMuvelet Op { get; set; }
 | 
			
		||||
        public int? ID { get; set; }
 | 
			
		||||
        public string Igazolt { get; set; }
 | 
			
		||||
        public int? KesesPercben { get; set; }
 | 
			
		||||
        public string Megjegyzes { get; set; }
 | 
			
		||||
        public int? Tipus { get; set; }
 | 
			
		||||
        public int? IgazolasTipusa { get; set; }
 | 
			
		||||
        public int? OraTanuloId { get; set; }
 | 
			
		||||
        public int? TanitasiOrakId { get; set; }
 | 
			
		||||
 | 
			
		||||
        public enum DbMuvelet
 | 
			
		||||
        {
 | 
			
		||||
            Insert = 0,
 | 
			
		||||
 | 
			
		||||
            Update = 1,
 | 
			
		||||
 | 
			
		||||
            Delete = 2,
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										158
									
								
								Kreta.BusinessLogic/Logic/Naplozas/NaplozasCo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								Kreta.BusinessLogic/Logic/Naplozas/NaplozasCo.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,158 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas
 | 
			
		||||
{
 | 
			
		||||
    public class NaplozasCo
 | 
			
		||||
    {
 | 
			
		||||
        public NaplozasCo(int? szervezetTipusId = null)
 | 
			
		||||
        {
 | 
			
		||||
            OraAdat = new OraAdatModel();
 | 
			
		||||
            Helyettesites = new HelyettesitesModel();
 | 
			
		||||
            OraTulajdosag = new OraTulajdonsagModel();
 | 
			
		||||
            Hazifeladat = new HazifeladatModel();
 | 
			
		||||
            SzamonkeresElorejelzes = new SzamonkeresElorejelzesModel();
 | 
			
		||||
            MulasztasList = new List<MulasztasModel>();
 | 
			
		||||
            SzervezetTipusId = szervezetTipusId;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool IsEgyediNaplozas { get { return !OraAdat.OrarendiOraId.HasValue && !OraAdat.TanitasiOraId.HasValue; } }
 | 
			
		||||
        public OraAdatModel OraAdat { get; set; }
 | 
			
		||||
        public HelyettesitesModel Helyettesites { get; set; }
 | 
			
		||||
        public OraTulajdonsagModel OraTulajdosag { get; set; }
 | 
			
		||||
        public HazifeladatModel Hazifeladat { get; set; }
 | 
			
		||||
        public SzamonkeresElorejelzesModel SzamonkeresElorejelzes { get; set; }
 | 
			
		||||
        public List<MulasztasModel> MulasztasList { get; set; }
 | 
			
		||||
        public int? SzervezetTipusId { get; set; }
 | 
			
		||||
 | 
			
		||||
        public class OraAdatModel
 | 
			
		||||
        {
 | 
			
		||||
            public DateTime OraKezdete { get; set; }
 | 
			
		||||
            public DateTime OraVege { get; set; }
 | 
			
		||||
 | 
			
		||||
            public int? OrarendiOraId { get; set; }
 | 
			
		||||
            public int? TanitasiOraId { get; set; }
 | 
			
		||||
            public int? CsengetesirendOraId { get; set; }
 | 
			
		||||
            public int? CsengetesirendId { get; set; }
 | 
			
		||||
            public int? TanarId { get; set; }
 | 
			
		||||
 | 
			
		||||
            public string Tema { get; set; }
 | 
			
		||||
            public int? TemaTanmenetId { get; set; }
 | 
			
		||||
            public int? TanulasiEgysegId { get; set; }
 | 
			
		||||
            public int? FoglakozasId { get; set; }
 | 
			
		||||
            public int? OsztalyCsoportId { get; set; }
 | 
			
		||||
            public int? TantargyId { get; set; }
 | 
			
		||||
            public int? TeremId { get; set; }
 | 
			
		||||
            public bool IsSorszamozando { get; set; }
 | 
			
		||||
            public bool IsTanorankivuli { get; set; }
 | 
			
		||||
            public string Megjegyzes { get; set; }
 | 
			
		||||
            public int? Oraszam { get; set; }
 | 
			
		||||
            public List<int> CheckedOpenBoardFileIdList { get; set; }
 | 
			
		||||
 | 
			
		||||
            public int? DigEszkozTipusId { get; set; }
 | 
			
		||||
            public int? DigPlatformTipusId { get; set; }
 | 
			
		||||
            public List<int> DigTamEszkozTipusIdList { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class HelyettesitesModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? Id { get; set; }
 | 
			
		||||
            public int? TanarId { get; set; }
 | 
			
		||||
            public string Oka { get; set; }
 | 
			
		||||
            public int? Tipus { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class MulasztasModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? MulasztasId { get; set; }
 | 
			
		||||
            public int TanuloId { get; set; }
 | 
			
		||||
            public int? MulasztasTipus { get; set; }
 | 
			
		||||
            public int? Keses { get; set; }
 | 
			
		||||
 | 
			
		||||
            public bool HazifeladatHiany { get; set; }
 | 
			
		||||
            public bool FelszerelesHiany { get; set; }
 | 
			
		||||
            public bool Felmentes { get; set; }
 | 
			
		||||
            public bool TanoraiDicseret { get; set; }
 | 
			
		||||
 | 
			
		||||
            public int? HazifeladatHianyId { get; set; }
 | 
			
		||||
            public int? FelszerelesHianyId { get; set; }
 | 
			
		||||
            public int? FelmentesId { get; set; }
 | 
			
		||||
            public int? TanoraiDicseretId { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class HazifeladatModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? Id { get; set; }
 | 
			
		||||
            public string Szoveg { get; set; }
 | 
			
		||||
            public DateTime? Hatarido { get; set; }
 | 
			
		||||
            public int? CsatolmanyId { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class SzamonkeresElorejelzesModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? Id { get; set; }
 | 
			
		||||
            public string Megnevezes { get; set; }
 | 
			
		||||
            public int? ErtekelesModId { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class OraTulajdonsagModel
 | 
			
		||||
        {
 | 
			
		||||
            public bool Bontott { get; set; }
 | 
			
		||||
            public bool NemzetisegiOra { get; set; }
 | 
			
		||||
            public bool IsFelnottoktatasiSzerzodes { get; set; }
 | 
			
		||||
            public bool OnlineOra { get; set; }
 | 
			
		||||
            public bool MindennaposTestneveles { get; set; }
 | 
			
		||||
            public bool IPRTanora { get; set; }
 | 
			
		||||
            public bool Differencialt { get; set; }
 | 
			
		||||
            public bool Kooperativ { get; set; }
 | 
			
		||||
            public bool Meres { get; set; }
 | 
			
		||||
            public bool Drama { get; set; }
 | 
			
		||||
            public bool Tiop { get; set; }
 | 
			
		||||
            public bool ParhuzamosOra { get; set; }
 | 
			
		||||
            public bool IktTanora { get; set; }
 | 
			
		||||
            public bool TAMOP { get; set; }
 | 
			
		||||
            public bool NemSzakrendszeru { get; set; }
 | 
			
		||||
            public bool Tulora { get; set; }
 | 
			
		||||
            public bool Multikulturalis { get; set; }
 | 
			
		||||
            public bool EFOP32317 { get; set; }
 | 
			
		||||
            public bool KomplexOra { get; set; }
 | 
			
		||||
            public bool KIPOra { get; set; }
 | 
			
		||||
            public bool VEKOP73317 { get; set; }
 | 
			
		||||
            public bool KAPOra { get; set; }
 | 
			
		||||
            public bool GINOP623 { get; set; }
 | 
			
		||||
            public bool EFOP31716EselyteremtesAKoznevelesben { get; set; }
 | 
			
		||||
            public bool EFOP33717 { get; set; }
 | 
			
		||||
            public bool TIOP11112120120001 { get; set; }
 | 
			
		||||
            public bool DFHT { get; set; }
 | 
			
		||||
            public bool Rahangolodas { get; set; }
 | 
			
		||||
            public bool Testmozgas { get; set; }
 | 
			
		||||
            public bool Muveszet { get; set; }
 | 
			
		||||
            public bool Eletgyakorlat { get; set; }
 | 
			
		||||
            public bool Logika { get; set; }
 | 
			
		||||
            public bool TeOrad { get; set; }
 | 
			
		||||
            public bool DigitalisAlapProgram { get; set; }
 | 
			
		||||
            public bool EFOP23517201700038Miapalya { get; set; }
 | 
			
		||||
            public bool TanevTananyaganakIsmetlese { get; set; }
 | 
			
		||||
            public bool TanevTananyaganakKiegeszitese { get; set; }
 | 
			
		||||
            public bool TanulokDigitalisKeszsegfejlesztese { get; set; }
 | 
			
		||||
            public bool Projektmunka { get; set; }
 | 
			
		||||
            public bool TanulokKompenzaciosIraskeszsegFejlesztese { get; set; }
 | 
			
		||||
            public bool TanulokKompenzaciosOlvasasiKepessegFejlesztese { get; set; }
 | 
			
		||||
            public bool TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese { get; set; }
 | 
			
		||||
            public bool TanulokNyelviKepessegenekKompenzaciosFejlesztese { get; set; }
 | 
			
		||||
            public bool TanulokOnmegismeresenekSegitese { get; set; }
 | 
			
		||||
            public bool TanulokOnallosagraNevelese { get; set; }
 | 
			
		||||
            public bool TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese { get; set; }
 | 
			
		||||
            public bool TanulokOrientaciosTamogatasa { get; set; }
 | 
			
		||||
            public bool TanulokSzocialitasanakFejlesztese { get; set; }
 | 
			
		||||
            public bool TanulokTovabbhaladasatElokeszitoTevekenysegek { get; set; }
 | 
			
		||||
            public bool PedagogusAltalJelzettEgyeniEsetkezeles { get; set; }
 | 
			
		||||
            public bool ProjektmunkaTamogatasa { get; set; }
 | 
			
		||||
            public bool DigitalisKeszsegfejlesztes { get; set; }
 | 
			
		||||
            public bool KozossegiMunkaTamogatasa { get; set; }
 | 
			
		||||
            public bool TanoraElokeszitesenekTamogatasa { get; set; }
 | 
			
		||||
            public bool TanoraLebonyolitasanakTamogatasa { get; set; }
 | 
			
		||||
            public bool NapkozisTevekenysegKeretebenEgyeniFejlesztes { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										148
									
								
								Kreta.BusinessLogic/Logic/Naplozas/NaplozasLogic.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								Kreta.BusinessLogic/Logic/Naplozas/NaplozasLogic.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,148 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
 | 
			
		||||
using Kreta.BusinessLogic.Interfaces;
 | 
			
		||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
 | 
			
		||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
 | 
			
		||||
using Kreta.Client.CoreApi;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas
 | 
			
		||||
{
 | 
			
		||||
    public class NaplozasLogic : NaplozasElokeszitesLogic
 | 
			
		||||
    {
 | 
			
		||||
        public NaplozasLogic(NaploValidacio validator, NaplozasCo input) : base(validator)
 | 
			
		||||
        {
 | 
			
		||||
            FillInnerModel(input);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public NaplozasLogic(NaploValidacio validator, NaplozasMobilCo input) : base(validator)
 | 
			
		||||
        {
 | 
			
		||||
            FillInnerModel(input);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void FillInnerModel(NaplozasCo input)
 | 
			
		||||
        {
 | 
			
		||||
            Model = new NaplozasElokeszitesModel(ConnectionType.FelhasznaloId, input.SzervezetTipusId)
 | 
			
		||||
            {
 | 
			
		||||
                IsEgyediNaplozas = input.IsEgyediNaplozas
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            var osztalyHelper = new OsztalyHelper(ConnectionType);
 | 
			
		||||
            var orarendiOraHelper = new OrarendiOraHelper(ConnectionType);
 | 
			
		||||
            var orarendHelper = new OrarendHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            if (!Model.IsEgyediNaplozas)
 | 
			
		||||
            {
 | 
			
		||||
                var thelper = new TanoraHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
                var oraCo = thelper.GetTanoraByOrarendiId(input.OraAdat.TanitasiOraId ?? input.OraAdat.OrarendiOraId.Value, input.OraAdat.OraKezdete.Date, input.OraAdat.TanitasiOraId.HasValue, isTanuloOrGondviselo: false);
 | 
			
		||||
 | 
			
		||||
                var systemSettingsHelper = new SystemSettingsHelper(ConnectionType);
 | 
			
		||||
                var helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando);
 | 
			
		||||
 | 
			
		||||
                Model.OraAdat.Fill(oraCo, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
 | 
			
		||||
                Model.OraAdat.Fill(input);
 | 
			
		||||
 | 
			
		||||
                SetTantargyOsztalycsoport();
 | 
			
		||||
                SetOsztalyfonok(osztalyHelper);
 | 
			
		||||
                SetElozoOraAdatai(orarendiOraHelper);
 | 
			
		||||
                SetTemaLista(thelper);
 | 
			
		||||
                SetMentessegList(orarendHelper);
 | 
			
		||||
 | 
			
		||||
                Model.OraTulajdonsag.Fill(input);
 | 
			
		||||
 | 
			
		||||
                Model.Helyettesites.Fill(oraCo);
 | 
			
		||||
                Model.Helyettesites.Fill(input, Model.IsEgyediNaplozas);
 | 
			
		||||
 | 
			
		||||
                Model.Hazifeladat.Fill(input);
 | 
			
		||||
                Model.Mulasztas.Fill(input, Model.MaxKeses);
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                Model.OraAdat.Fill(input);
 | 
			
		||||
                Model.OraTulajdonsag.Fill(input);
 | 
			
		||||
                Model.Helyettesites.Fill(input, Model.IsEgyediNaplozas);
 | 
			
		||||
                SetTantargyOsztalycsoport();
 | 
			
		||||
                SetOsztalyfonok(osztalyHelper);
 | 
			
		||||
                SetElozoOraAdatai(orarendiOraHelper);
 | 
			
		||||
                SetMentessegList(orarendHelper);
 | 
			
		||||
 | 
			
		||||
                Model.Hazifeladat.Fill(input);
 | 
			
		||||
                Model.Mulasztas.Fill(input, Model.MaxKeses);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void FillInnerModel(NaplozasMobilCo input)
 | 
			
		||||
        {
 | 
			
		||||
            var thelper = new TanoraHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            var oraCo = thelper.GetTanoraByOrarendiId(input.OraAdat.TanitasiOraId ?? input.OraAdat.OrarendiOraId.Value, input.OraAdat.Datum, input.OraAdat.TanitasiOraId.HasValue, isTanuloOrGondviselo: false);
 | 
			
		||||
 | 
			
		||||
            Model = new NaplozasElokeszitesModel(ConnectionType.FelhasznaloId);
 | 
			
		||||
 | 
			
		||||
            var systemSettingsHelper = new SystemSettingsHelper(ConnectionType);
 | 
			
		||||
            var helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando);
 | 
			
		||||
 | 
			
		||||
            Model.OraAdat.Fill(oraCo, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
 | 
			
		||||
            Model.OraAdat.Fill(input);
 | 
			
		||||
 | 
			
		||||
            SetOsztalyfonok(new OsztalyHelper(ConnectionType));
 | 
			
		||||
            SetElozoOraAdatai(new OrarendiOraHelper(ConnectionType));
 | 
			
		||||
            SetTemaLista(thelper);
 | 
			
		||||
            SetMentessegList(new OrarendHelper(ConnectionType));
 | 
			
		||||
 | 
			
		||||
            Model.OraTulajdonsag.Fill(oraCo);
 | 
			
		||||
            Model.Helyettesites.Fill(oraCo);
 | 
			
		||||
 | 
			
		||||
            Model.Hazifeladat.Fill(input);
 | 
			
		||||
            Model.Mulasztas.Fill(ConnectionType, input, Model.MaxKeses, Model.OraAdat.TanitasiOraId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// INFO @DevKornel: Mobil használja
 | 
			
		||||
        public NaplozasResultCo SaveNaplozas(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
 | 
			
		||||
        {
 | 
			
		||||
            if (Model.OraAdat.IsMobilNaplozott)
 | 
			
		||||
            {
 | 
			
		||||
                Validator.MobilValidateModel(Model);
 | 
			
		||||
            }
 | 
			
		||||
            else if (!Model.IsElmaradtOra)
 | 
			
		||||
            {
 | 
			
		||||
                Validator.ValidateModel(Model);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var tanoraCo = new TanoraCO();
 | 
			
		||||
            Model.ConvertTo(tanoraCo);
 | 
			
		||||
 | 
			
		||||
            //Ha van órarendióra akkor nem számít mi jön a felületről az óra kezdete és vége az órarendiórában lévő érték lesz
 | 
			
		||||
            if (Model.OraAdat.OrarendiOraId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                var oo = new OrarendiOraHelper(ConnectionType).GetOrarendiOraById(Model.OraAdat.OrarendiOraId.Value);
 | 
			
		||||
 | 
			
		||||
                var tsKezd = new TimeSpan(oo.OraKezdete.Hour, oo.OraKezdete.Minute, 0);
 | 
			
		||||
                var tsVeg = new TimeSpan(oo.OraVege.Hour, oo.OraVege.Minute, 0);
 | 
			
		||||
                tanoraCo.OraKezd = tanoraCo.OraKezd.Date + tsKezd;
 | 
			
		||||
                tanoraCo.OraVeg = tanoraCo.OraVeg.Date + tsVeg;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var mulasztasCoList = new List<MulasztasokCo>();
 | 
			
		||||
            Model.ConvertTo(mulasztasCoList);
 | 
			
		||||
 | 
			
		||||
            return new TanoraHelper(ConnectionType).TanoraNaplozas(tanoraCo, mulasztasCoList, fileServiceHelper, coreApiClient);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void SaveNemMegtartottNaplozas(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
 | 
			
		||||
        {
 | 
			
		||||
            Model.OraAdat.IsElmaradt = true;
 | 
			
		||||
            SaveNaplozas(fileServiceHelper, coreApiClient);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void NaplozasValidacio()
 | 
			
		||||
        {
 | 
			
		||||
            Validator.NaplozasDatumValidacio(Model);
 | 
			
		||||
            Validator.LezartNaploValidacio(Model);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										58
									
								
								Kreta.BusinessLogic/Logic/Naplozas/NaplozasMobilCo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								Kreta.BusinessLogic/Logic/Naplozas/NaplozasMobilCo.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas
 | 
			
		||||
{
 | 
			
		||||
    public class NaplozasMobilCo
 | 
			
		||||
    {
 | 
			
		||||
        public NaplozasMobilCo()
 | 
			
		||||
        {
 | 
			
		||||
            OraAdat = new OraAdatModel();
 | 
			
		||||
            Hazifeladat = new HazifeladatModel();
 | 
			
		||||
            SzamonkeresElorejelzes = new SzamonkeresElorejelzesModel();
 | 
			
		||||
            MulasztasList = new List<MulasztasModel>();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public OraAdatModel OraAdat { get; set; }
 | 
			
		||||
        public HazifeladatModel Hazifeladat { get; set; }
 | 
			
		||||
        public SzamonkeresElorejelzesModel SzamonkeresElorejelzes { get; set; }
 | 
			
		||||
        public List<MulasztasModel> MulasztasList { get; set; }
 | 
			
		||||
 | 
			
		||||
        public class OraAdatModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? OrarendiOraId { get; set; }
 | 
			
		||||
            public int? TanitasiOraId { get; set; }
 | 
			
		||||
            public string Tema { get; set; }
 | 
			
		||||
            public DateTime Datum { get; set; }
 | 
			
		||||
            public bool IsElmaradt { get; set; }
 | 
			
		||||
            public DateTime RogzitesDatuma { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class MulasztasModel
 | 
			
		||||
        {
 | 
			
		||||
            public int TanuloId { get; set; }
 | 
			
		||||
            public int? MulasztasTipus { get; set; }
 | 
			
		||||
            public int? Keses { get; set; }
 | 
			
		||||
 | 
			
		||||
            public bool HazifeladatHiany { get; set; }
 | 
			
		||||
            public bool FelszerelesHiany { get; set; }
 | 
			
		||||
            public bool Felmentes { get; set; }
 | 
			
		||||
            public bool TanoraiDicseret { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class HazifeladatModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? Id { get; set; }
 | 
			
		||||
            public string Szoveg { get; set; }
 | 
			
		||||
            public DateTime? Hatarido { get; set; }
 | 
			
		||||
            public int? CsatolmanyId { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class SzamonkeresElorejelzesModel
 | 
			
		||||
        {
 | 
			
		||||
            public int? Id { get; set; }
 | 
			
		||||
            public string Megnevezes { get; set; }
 | 
			
		||||
            public int? ErtekelesModId { get; set; }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										447
									
								
								Kreta.BusinessLogic/Logic/Naplozas/Validacio/NaploValidacio.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										447
									
								
								Kreta.BusinessLogic/Logic/Naplozas/Validacio/NaploValidacio.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,447 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using Kreta.BusinessLogic.Classes;
 | 
			
		||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
 | 
			
		||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
 | 
			
		||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo;
 | 
			
		||||
using Kreta.BusinessLogic.HelperClasses;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers;
 | 
			
		||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
 | 
			
		||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
 | 
			
		||||
using Kreta.Core.ConnectionType;
 | 
			
		||||
using Kreta.Core.Validation.Exceptions;
 | 
			
		||||
using Kreta.Core.Validation.Exceptions.Enum;
 | 
			
		||||
using Kreta.DataAccessManual;
 | 
			
		||||
using Kreta.DataAccessManual.Interfaces;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
using Kreta.Enums.ManualEnums;
 | 
			
		||||
using Kreta.Resources;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Validacio
 | 
			
		||||
{
 | 
			
		||||
    public class NaploValidacio
 | 
			
		||||
    {
 | 
			
		||||
        private List<OrarendCO.ExtendedEvent> OrarendLista
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                var helper = new OrarendHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
                return helper.GetOrarendiOrakEsVagyNapirendekEsTanorak(_parameters.FelhasznaloSzerepkor, _parameters.From, _parameters.To, ConnectionType.FelhasznaloId, osztalyCsoportId: null, tanuloId: null, csakOrarend: false, OrarendTipusEnum.Minden, isTanuloOrGondviselo: false, EventColorEnum.Kek);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private readonly NaploValidacioParameters _parameters;
 | 
			
		||||
 | 
			
		||||
        public IConnectionType ConnectionType
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return _parameters.ConnectionType;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public NaploValidacio(NaploValidacioParameters parameters)
 | 
			
		||||
        {
 | 
			
		||||
            _parameters = parameters;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// INFO @D.Kornél: Mobil használja
 | 
			
		||||
        public void MobilValidateModel(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            OrarendCO.ExtendedEvent ora;
 | 
			
		||||
            LezartNaploValidacio(model);
 | 
			
		||||
            if (!model.IsTanora)
 | 
			
		||||
            {
 | 
			
		||||
                ora = GetOra(model);
 | 
			
		||||
                CheckIsOraExists(ora);
 | 
			
		||||
                HelyettesitettOra(ora);
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                ora = GetTanora(model);
 | 
			
		||||
                CheckIsOraExists(ora);
 | 
			
		||||
                //TODO: ha nem az övé vagy helyettese
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            KorabbanNaplozottOra(model, ora);
 | 
			
		||||
            CheckElmaradtraNaplozas(model, ora);
 | 
			
		||||
            if (!model.IsElmaradtOra)
 | 
			
		||||
            {
 | 
			
		||||
                ValidateMulasztasRekords(model);
 | 
			
		||||
                TemaValidacio(model);
 | 
			
		||||
            }
 | 
			
		||||
            NaplozasDatumValidacio(model);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void ValidateModel(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            if (!model.IsEgyediNaplozas)
 | 
			
		||||
            {
 | 
			
		||||
                if (model.IsTanora)
 | 
			
		||||
                {
 | 
			
		||||
                    var ora = GetTanora(model);
 | 
			
		||||
                    CheckIsOraExists(ora);
 | 
			
		||||
                    //TODO: ha nem az övé vagy helyettese
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    OrarendCO.ExtendedEvent ora;
 | 
			
		||||
                    if (model.Helyettesites.IsKeresoAltalTalaltOra)
 | 
			
		||||
                    {
 | 
			
		||||
                        ora = GetHelyettesOra(model);
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        ora = GetOra(model);
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    CheckIsOraExists(ora);
 | 
			
		||||
                    KorabbanNaplozottOra(model, ora);
 | 
			
		||||
                    HelyettesitettOra(ora);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            ValidateMulasztasRekords(model);
 | 
			
		||||
            NaplozasDatumValidacio(model);
 | 
			
		||||
            TemaValidacio(model);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public bool TeremUtkozesEllenorzes(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            bool teremutkozes;
 | 
			
		||||
            int tanoraID, orarendiOraID, hetirend;
 | 
			
		||||
            var helper = new TanoraHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            if (!model.OraAdat.TeremId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.MenteshezATeremMegadasaKotelezo);
 | 
			
		||||
            }
 | 
			
		||||
            if (model.IsEgyediNaplozas)
 | 
			
		||||
            {
 | 
			
		||||
                tanoraID = 0;
 | 
			
		||||
                orarendiOraID = 0;
 | 
			
		||||
                hetirend = (int)HetiRendTipusEnum.MindegyikHet;
 | 
			
		||||
            }
 | 
			
		||||
            else if (model.IsTanora)
 | 
			
		||||
            {
 | 
			
		||||
                tanoraID = model.OraAdat.TanitasiOraId.Value;
 | 
			
		||||
 | 
			
		||||
                (var oraId, var hRend) = helper.GetOrarendIdAndHetirend(tanoraID);
 | 
			
		||||
 | 
			
		||||
                if (oraId.HasValue)
 | 
			
		||||
                {
 | 
			
		||||
                    orarendiOraID = oraId.Value;
 | 
			
		||||
                    if (hRend.HasValue)
 | 
			
		||||
                    {
 | 
			
		||||
                        hetirend = hRend.Value;
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        hetirend = (int)HetiRendTipusEnum.MindegyikHet;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    orarendiOraID = 0;
 | 
			
		||||
                    hetirend = (int)HetiRendTipusEnum.MindegyikHet;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                tanoraID = 0;
 | 
			
		||||
                orarendiOraID = model.OraAdat.OrarendiOraId.Value;
 | 
			
		||||
                var orarendiOraHelper = new OrarendiOraHelper(ConnectionType);
 | 
			
		||||
                hetirend = orarendiOraHelper.GetHetirend(orarendiOraID);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            teremutkozes = helper.TanitasiOraTeremUtkozesEllenorzes(tanoraID, orarendiOraID, model.OraAdat.TeremId.Value, (int)model.OraAdat.HetNapja, hetirend, model.OraAdat.OraKezdete, model.OraAdat.OraVege);
 | 
			
		||||
 | 
			
		||||
            return teremutkozes;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string GetOsztalyEsTanarOraiUtkozes(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            int osztalyCsoportId;
 | 
			
		||||
            if (!model.OraAdat.OsztalyCsoportId.HasValue && model.OraAdat.FoglakozasId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                var helper = new TantargyFelosztasHelper(ConnectionType);
 | 
			
		||||
                var data = helper.GetTantargyFelosztas(model.OraAdat.FoglakozasId.Value);
 | 
			
		||||
                osztalyCsoportId = data.OsztalyCsoportID;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                osztalyCsoportId = model.OraAdat.OsztalyCsoportId.Value;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var tanorahelper = new TanoraHelper(ConnectionType);
 | 
			
		||||
            var errorMsg = tanorahelper.GetOsztalyEsTanarOrai(model.OraAdat.TanarId.Value, osztalyCsoportId, model.OraAdat.OraKezdete, model.OraAdat.OraVege, model.OraAdat.TanitasiOraId, model.OraAdat.OrarendiOraId);
 | 
			
		||||
 | 
			
		||||
            return errorMsg;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public OrarendCO.ExtendedEvent GetTanora(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            return OrarendLista.Find(x => x.id == model.OraAdat.TanitasiOraId && x.datum.Value.Date == model.OraAdat.OraKezdete.Date);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void CheckElmaradtraNaplozas(NaplozasElokeszitesModel model, OrarendCO.ExtendedEvent ora)
 | 
			
		||||
        {
 | 
			
		||||
            if (ora.OraAllapota == TanoraAllapotaEnum.Elmaradt && !model.IsElmaradtOra)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.ResourceAlreadyExists, ErrorResource.NaplozasSikertelenKorabbanMarElmaradtOrakentNaplozasraKerult);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (ora.OraAllapota == TanoraAllapotaEnum.Naplozott && model.IsElmaradtOra)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.ResourceAlreadyExists, ErrorResource.NaplozasSikertelenAzOraMarKorabbanNaplozasraKerult);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void CheckIsOraExists(OrarendCO.ExtendedEvent ora)
 | 
			
		||||
        {
 | 
			
		||||
            if (ora == null)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NaplozasSikertelenAzOraMarNemLetezikAKivalasztottNapon);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private OrarendCO.ExtendedEvent GetHelyettesOra(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            var helper = new OrarendHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            var date = model.OraAdat.OraKezdete.Date;
 | 
			
		||||
            var helyettesOralista = helper.GetOrarendiOrakEsVagyNapirendekEsTanorak(_parameters.FelhasznaloSzerepkor, date, date.AddDays(1), model.OraAdat.TanarId, osztalyCsoportId: null, tanuloId: null, csakOrarend: false, OrarendTipusEnum.Minden, isTanuloOrGondviselo: false, EventColorEnum.Kek);
 | 
			
		||||
            return helyettesOralista.Find(x => x.OrarendiOraId == model.OraAdat.OrarendiOraId);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private OrarendCO.ExtendedEvent GetOra(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            return OrarendLista.Find(x => x.OrarendiOraId == model.OraAdat.OrarendiOraId && x.datum.Value.Date == model.OraAdat.OraKezdete.Date);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void HelyettesitettOra(OrarendCO.ExtendedEvent ora)
 | 
			
		||||
        {
 | 
			
		||||
            if (ora.OraAllapota == TanoraAllapotaEnum.Nem_naplozott && ora.helyettesitoId.HasValue && ora.helyettesitoId != ConnectionType.FelhasznaloId)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NaplozasSikertelenAzOraraHelyettesitesLettKiivaAzAdminAltal);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void KorabbanNaplozottOra(NaplozasElokeszitesModel model, OrarendCO.ExtendedEvent ora)
 | 
			
		||||
        {
 | 
			
		||||
            if (model.OraAdat.TanitasiOraId.HasValue)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (ora.OraAllapota == TanoraAllapotaEnum.Nem_naplozott)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (ora.OraAllapota == TanoraAllapotaEnum.Elmaradt)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.ResourceAlreadyExists, ErrorResource.NaplozasSikertelenKorabbanMarElmaradtOrakentNaplozasraKerult);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (ora.OraAllapota == TanoraAllapotaEnum.Naplozott)
 | 
			
		||||
            {
 | 
			
		||||
                if (ora.helyettesitoId.HasValue && ora.helyettesitoId != ConnectionType.FelhasznaloId)
 | 
			
		||||
                {
 | 
			
		||||
                    throw new ValidationException(ValidationErrorType.ResourceAlreadyExists, ErrorResource.NaplozasSikertelenAzOratKorabbanMarHelyettesitettkentNaploztaEgyMasikTanar);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.ResourceAlreadyExists, ErrorResource.NaplozasSikertelenAzOraMarKorabbanNaplozasraKerult);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void TemaValidacio(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            if (string.IsNullOrWhiteSpace(model.OraAdat.Tema))
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.NaplozasSikertelenTemaMegadasaKotelezo);
 | 
			
		||||
            }
 | 
			
		||||
            if (model.OraAdat.Tema.Length > 1000) /*db ben ez a max char jelenleg*/
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.TemaTulHosszu);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// INFO @D.Kornél: használja a mobil
 | 
			
		||||
        public void NaplozasDatumValidacio(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            if (!model.NaplozhatoDatum)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.NaplozasSikertelenJovobeliDatumraNemLehetNaplozni);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (model.OraAdat.OraKezdete >= model.OraAdat.OraVege)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.OraKezdeteNagyobbMintAVege);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var isNaplozhatZarastolFuggetlenul = new NaplozarasLogic(ConnectionType).IsNaplozhatZarastolFuggetlenul(model.OraAdat.OraKezdete, model.OraAdat.OsztalyCsoportId);
 | 
			
		||||
            if (!isNaplozhatZarastolFuggetlenul && new OrarendHelper(ConnectionType).GetNaplozarasDate(null) >= model.OraAdat.OraKezdete)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.NaplozasSikertelenNemNaplozhatoNaplozarasMiatt);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (model.OraAdat.OraVege.Date != model.OraAdat.OraKezdete.Date)
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, OrarendResource.AtiveloNaplozasNemEngedelyezett);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var orarendHelper = new OrarendHelper(ConnectionType);
 | 
			
		||||
 | 
			
		||||
            if (orarendHelper.GetIsMunkaszunetiNap(model.OraAdat.OraKezdete.Date, model.OraAdat.OsztalyCsoportId.Value))
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.MunkaszunetiNapraTanoraNemVehetoFel);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var sysSettingsHelper = new SystemSettingsHelper(ConnectionType);
 | 
			
		||||
            DateTime? szakGyakKezdDatum, szakGyakVegDatum, utolsoTanitasiNap;
 | 
			
		||||
            var tanevRendHelper = new TanevrendHelper(ConnectionType);
 | 
			
		||||
            var tanevHelper = new TanevHelper(ConnectionType);
 | 
			
		||||
            szakGyakKezdDatum = sysSettingsHelper.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum);
 | 
			
		||||
            szakGyakVegDatum = sysSettingsHelper.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum);
 | 
			
		||||
            utolsoTanitasiNap = tanevHelper.GetTanevInfo().UtolsoTanitasiNap;
 | 
			
		||||
            var isRendkivuliNap = tanevRendHelper.IsRendkivuliTanitasiNap(model.OraAdat.OraKezdete);
 | 
			
		||||
 | 
			
		||||
            if (model.OraAdat.OraKezdete.Date > utolsoTanitasiNap)
 | 
			
		||||
            {
 | 
			
		||||
                if ((model.OraAdat.OraKezdete.Date < szakGyakKezdDatum || model.OraAdat.OraKezdete.Date > szakGyakVegDatum) && !isRendkivuliNap)
 | 
			
		||||
                {
 | 
			
		||||
                    throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.NaplozasSikertelenNyariNaplozasMiatt);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (!isRendkivuliNap && !new CsoportHelper(ConnectionType).IsNyariSzakmaiGyakorlatos(model.OraAdat.OsztalyCsoportId.Value) && !model.SzervezetTipusId.HasValue)
 | 
			
		||||
                {
 | 
			
		||||
                    throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.EbbenAzIdoszakbanCsakOsszefuggoSzakmaiGyakorlatiCsoportotLehetNaplozni);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void LezartNaploValidacio(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            if (model.OraAdat.OsztalyCsoportId.HasValue && new NaplozarasLogic(ConnectionType).GetLezartOsztalyokEsBontottCsoportjaik().Contains(model.OraAdat.OsztalyCsoportId.Value))
 | 
			
		||||
            {
 | 
			
		||||
                throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.AzElektronikusNaploLezarva);
 | 
			
		||||
            }        
 | 
			
		||||
        }
 | 
			
		||||
        private void ValidateMulasztasRekords(NaplozasElokeszitesModel model)
 | 
			
		||||
        {
 | 
			
		||||
            if (model.IsElmaradtOra)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Dal.CustomConnection.Run(ConnectionType, h =>
 | 
			
		||||
            {
 | 
			
		||||
                var jelenletList = model.IsEgyediNaplozas ? GetEgyediOraJavasoltJelenlet(model, h)
 | 
			
		||||
                : model.IsTanora ?
 | 
			
		||||
                GetTanitasiOraJavasoltJelenlet(model, h, oktatasNevelesKategoriaEnum: null) : GetOrarendiOraJavasoltJelenlet(model, h);
 | 
			
		||||
 | 
			
		||||
                SetMulastasValuesToValid(model, jelenletList);
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        private void SetMulastasValuesToValid(NaplozasElokeszitesModel model, IEnumerable<IJavasoltJelenletTanuloGetResponseCo> javasoltJelenlet)
 | 
			
		||||
        {
 | 
			
		||||
            var invalidRecords = new List<MulasztasItem>();
 | 
			
		||||
            var template = model.IsTanora ? new JavasoltJelenletTemplateLogic(TanoraAllapotaEnum.Naplozott) : new JavasoltJelenletTemplateLogic(TanoraAllapotaEnum.Nem_naplozott);
 | 
			
		||||
 | 
			
		||||
            foreach (var item in model.Mulasztas.MulasztasList)
 | 
			
		||||
            {
 | 
			
		||||
                var tanuloMulasztas = javasoltJelenlet.SingleOrDefault(t => t.TanuloId == item.TanuloId);
 | 
			
		||||
                if (tanuloMulasztas != null)
 | 
			
		||||
                {
 | 
			
		||||
                    var tanuloMulasztasTemplate = template.GetCalculatedJelenletJavaslatConsideringSzuro(tanuloMulasztas.JavasoltJelenletTemplateTipusSzuroLista);
 | 
			
		||||
 | 
			
		||||
                    MulasztasTipusEnum mulasztasTypus;
 | 
			
		||||
                    if (item.Keses.HasValue && item.Keses > 0 && !item.MulasztasTipus.HasValue)
 | 
			
		||||
                    {
 | 
			
		||||
                        mulasztasTypus = MulasztasTipusEnum.keses;
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        if (item.MulasztasTipus.HasValue)
 | 
			
		||||
                        {
 | 
			
		||||
                            mulasztasTypus = (MulasztasTipusEnum)item.MulasztasTipus.Value;
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                        {
 | 
			
		||||
                            mulasztasTypus = MulasztasTipusEnum.ures;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    var mulasztasTemplate = tanuloMulasztasTemplate.SzuroElemLista.First(t => t.MulasztasTipusAdatszotar == mulasztasTypus);
 | 
			
		||||
                    if (!mulasztasTemplate.IsEnabled)
 | 
			
		||||
                    {
 | 
			
		||||
                        invalidRecords.Add(item);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    invalidRecords.Add(item);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            foreach (var item in invalidRecords)
 | 
			
		||||
            {
 | 
			
		||||
                model.Mulasztas.MulasztasList.Remove(item);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        private IEnumerable<IJavasoltJelenletTanuloGetResponseCo> GetOrarendiOraJavasoltJelenlet(NaplozasElokeszitesModel model, IDalHandler h, OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum = null)
 | 
			
		||||
        {
 | 
			
		||||
            var jelenletList = OrarendiOraSubqueries.ListJavasoltJelenlet(model.UserId, ConnectionType.IntezmenyId, ConnectionType.IntezmenyAzonosito, ConnectionType.TanevId, h, new Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet.JavasoltJelenletGetRequestCo()
 | 
			
		||||
            {
 | 
			
		||||
                Key = new Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet.JavasoltJelenletKeyGetRequestCo[]
 | 
			
		||||
                    {
 | 
			
		||||
                        new Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet.JavasoltJelenletKeyGetRequestCo(){
 | 
			
		||||
                            OrarendiOraId = model.OraAdat.OrarendiOraId.Value,
 | 
			
		||||
                            OraKezdetDatuma = model.OraAdat.OraKezdete,
 | 
			
		||||
                            OraVegDatuma = model.OraAdat.OraVege,
 | 
			
		||||
                            IsHelyettesitesKeresoAltalTalaltOra = model.Helyettesites.IsKeresoAltalTalaltOra
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
            }, oktatasNevelesKategoriaEnum);
 | 
			
		||||
 | 
			
		||||
            return jelenletList[0].TanuloLista;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private IEnumerable<IJavasoltJelenletTanuloGetResponseCo> GetEgyediOraJavasoltJelenlet(NaplozasElokeszitesModel model, IDalHandler h, OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum = OktNevelesiKategoriaEnum.NevelesOktatas)
 | 
			
		||||
        {
 | 
			
		||||
            var jelenletList = EgyediOraSubqueries.ListJavasoltJelenlet(model.UserId, ConnectionType.IntezmenyAzonosito, ConnectionType.TanevId, h, new Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet.JavasoltJelenletGetRequestCo()
 | 
			
		||||
            {
 | 
			
		||||
                Key = new Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet.JavasoltJelenletKeyGetRequestCo[]
 | 
			
		||||
                    {
 | 
			
		||||
                        new Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet.JavasoltJelenletKeyGetRequestCo()
 | 
			
		||||
                        {
 | 
			
		||||
                            OsztalyCsoportId = model.OraAdat.OsztalyCsoportId.Value,
 | 
			
		||||
                            TantargyId = model.OraAdat.TantargyId.Value,
 | 
			
		||||
                            OraKezdetDatuma = model.OraAdat.OraKezdete,
 | 
			
		||||
                            OraVegDatuma = model.OraAdat.OraVege
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
            }, oktatasNevelesKategoriaEnum, ConnectionType.IntezmenyId);
 | 
			
		||||
 | 
			
		||||
            return jelenletList[0].TanuloLista;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private IEnumerable<IJavasoltJelenletTanuloGetResponseCo> GetTanitasiOraJavasoltJelenlet(NaplozasElokeszitesModel model, IDalHandler h, OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum = null)
 | 
			
		||||
        {
 | 
			
		||||
            var jelenletList = TanitasiOraSubqueries.ListJavasoltJelenlet(model.UserId, ConnectionType.IntezmenyId, ConnectionType.IntezmenyAzonosito, ConnectionType.TanevId, h, new Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet.JavasoltJelenletGetRequestCo()
 | 
			
		||||
            {
 | 
			
		||||
                Key = new Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet.JavasoltJelenletKeyGetRequestCo[]
 | 
			
		||||
                    {
 | 
			
		||||
                        new Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet.JavasoltJelenletKeyGetRequestCo(){
 | 
			
		||||
                            TanitasiOraId = model.OraAdat.TanitasiOraId.Value
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
            }, oktatasNevelesKategoriaEnum);
 | 
			
		||||
 | 
			
		||||
            return jelenletList[0].TanuloLista;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Kreta.Core.ConnectionType;
 | 
			
		||||
using Kreta.Enums;
 | 
			
		||||
 | 
			
		||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Validacio
 | 
			
		||||
{
 | 
			
		||||
    public class NaploValidacioParameters
 | 
			
		||||
    {
 | 
			
		||||
        private NaploValidacioParameters() { }
 | 
			
		||||
 | 
			
		||||
        public NaploValidacioParameters(DateTime date, IConnectionType connectionType, SzerepkorTipusEnum? felhasznaloSzerepkor) : this(date.ToLocalTime(), date.ToLocalTime().AddDays(1), connectionType, felhasznaloSzerepkor) { }
 | 
			
		||||
 | 
			
		||||
        public NaploValidacioParameters(DateTime from, DateTime to, IConnectionType connectionType, SzerepkorTipusEnum? felhasznaloSzerepkor)
 | 
			
		||||
        {
 | 
			
		||||
            From = from;
 | 
			
		||||
            To = to;
 | 
			
		||||
            ConnectionType = connectionType;
 | 
			
		||||
            FelhasznaloSzerepkor = felhasznaloSzerepkor;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public DateTime From { get; private set; }
 | 
			
		||||
 | 
			
		||||
        public DateTime To { get; private set; }
 | 
			
		||||
 | 
			
		||||
        public IConnectionType ConnectionType { get; private set; }
 | 
			
		||||
 | 
			
		||||
        public SzerepkorTipusEnum? FelhasznaloSzerepkor { get; private set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user