532 lines
26 KiB
C#
532 lines
26 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Resources;
|
|
using System.Runtime.Caching;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.Classes.ComboBox;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.Core;
|
|
using Kreta.Core.Domain;
|
|
using Kreta.Core.Domain.EqualityComparer;
|
|
using Kreta.Core.Domain.Interface;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.KirImportExport.Models;
|
|
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.TabStrip;
|
|
using Kreta.Web.Security;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace Kreta.Web.Areas.KirImportExport.Logic
|
|
{
|
|
public class KirImportLogic
|
|
{
|
|
public static readonly string[] IgnoreCaseKeyList = { "SzuletesiOrszag", "Allampolgarsag", "Allampolgarsag2" };
|
|
|
|
public List<ComboBoxListItem> GetKirTelephelyList(KirImportHelper kirImportHelper)
|
|
{
|
|
var comboBoxListItemList = new List<ComboBoxListItem>();
|
|
|
|
kirImportHelper
|
|
.GetKirTelephelyList()
|
|
.ForEach(telephely => comboBoxListItemList.Add(
|
|
new ComboBoxListItem()
|
|
{
|
|
Text = telephely.Nev,
|
|
Value = telephely.Kod.ToString()
|
|
}));
|
|
|
|
return comboBoxListItemList;
|
|
}
|
|
|
|
private bool HasKirKreteaKod(int telephelyKod)
|
|
{
|
|
var kirTelephelyHelper = new KirTelephelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
return kirTelephelyHelper.HasKretaKodByTelephelyKod(telephelyKod);
|
|
}
|
|
|
|
private string GetKirKreteaKod(int telephelyKod)
|
|
{
|
|
var kirTelephelyHelper = new KirTelephelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
return kirTelephelyHelper.GetKretaKodByTelephelyKod(telephelyKod);
|
|
}
|
|
|
|
private string SaveKirKreteaKod(KirImportHelper kirImportHelper, int telephelyKod)
|
|
{
|
|
string kretaKod;
|
|
int intezmenyAdatokId;
|
|
|
|
var intezmenyHelper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
intezmenyAdatokId = intezmenyHelper.GetIntezmenyiAdatok().ID;
|
|
|
|
var kirTelephelyHelper = new KirTelephelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
kretaKod = kirImportHelper.KretaTelephelyRegisztracio(telephelyKod);
|
|
|
|
kirTelephelyHelper.SaveKirTelephely(
|
|
new KirTelephelyCo
|
|
{
|
|
Telephelykod = telephelyKod,
|
|
TanevId = ClaimData.SelectedTanevID.Value,
|
|
KretaKod = kretaKod,
|
|
Nev = kirImportHelper.GetKirTelephelyList().Where(x => x.Kod == telephelyKod).Select(x => x.Nev).FirstOrDefault(),
|
|
IntezmenyAdatokId = intezmenyAdatokId
|
|
});
|
|
|
|
return kretaKod;
|
|
}
|
|
|
|
public void SetKirKretaKod(KirImportHelper kirImportHelper, int kirTelephelyId, string kirKretaKodCacheKey)
|
|
{
|
|
string kirKretaKodCache = (string)Cache.Get(kirKretaKodCacheKey);
|
|
|
|
if (string.IsNullOrWhiteSpace(kirKretaKodCache))
|
|
{
|
|
string kirKretaKod;
|
|
|
|
if (HasKirKreteaKod(kirTelephelyId))
|
|
{
|
|
kirKretaKod = GetKirKreteaKod(kirTelephelyId);
|
|
}
|
|
else
|
|
{
|
|
kirKretaKod = SaveKirKreteaKod(kirImportHelper, kirTelephelyId);
|
|
}
|
|
|
|
Cache.Add(kirKretaKodCacheKey, kirKretaKod, new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(5) });
|
|
|
|
kirImportHelper.KretaKod = kirKretaKod;
|
|
}
|
|
}
|
|
|
|
public void UpdateAlkalmazott(KirSzinkronSaveModel postData, int felhasznaloId)
|
|
{
|
|
TanarHelper thelper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
KirTanarAdatCo mergedTanarAdatokCo = MergeModel(KirSzinkronSaveModel.ModelToCo(postData), thelper.GetTanarAdatokForKir(felhasznaloId));
|
|
|
|
thelper.UpdateTeacherFromKir(mergedTanarAdatokCo);
|
|
|
|
FelhasznaloElerhetosegCimCO allandoLakcimToElerhetosegCimCo = KirSzinkronSaveModel.ModelToAllandoLakcimToElerhetosegCimCo(postData);
|
|
|
|
FelhasznaloHelper felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (allandoLakcimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
if (felhasznaloHelper.GetFirstCimByTipus(CimTipusEnum.allando_lakcim, felhasznaloId, out int allandoLakcimId))
|
|
{
|
|
allandoLakcimToElerhetosegCimCo.ID = allandoLakcimId;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloCimMentese(allandoLakcimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegCimCO tartozkodasiCimToElerhetosegCimCo = KirSzinkronSaveModel.ModelToTartozkodasiCimToElerhetosegCimCo(postData);
|
|
|
|
if (tartozkodasiCimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
if (felhasznaloHelper.GetFirstCimByTipus(CimTipusEnum.tartozkodasi_hely, felhasznaloId, out int TartozkodasiCimId))
|
|
{
|
|
tartozkodasiCimToElerhetosegCimCo.ID = TartozkodasiCimId;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloCimMentese(tartozkodasiCimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegTelCO felhasznaloElerhetosegTelCO = KirSzinkronSaveModel.ModelToFelhasznaloElerhetosegTelCo(postData);
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegTelCO.Telefonszam))
|
|
{
|
|
felhasznaloElerhetosegTelCO.FelhasznaloId = felhasznaloId;
|
|
|
|
if (!felhasznaloHelper.HasFelhasznaloAlapertelmezettTelefon(felhasznaloId))
|
|
{
|
|
felhasznaloElerhetosegTelCO.Alapertelmezett = true;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloElerhetosegTelMentese(felhasznaloElerhetosegTelCO, ClaimData.KovTanevID);
|
|
}
|
|
|
|
FelhasznaloElerhetosegEmailCO felhasznaloElerhetosegEmailCO = KirSzinkronSaveModel.ModelToFelhasznaloElerhetosegEmailCo(postData);
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegEmailCO.EmailCim))
|
|
{
|
|
felhasznaloElerhetosegEmailCO.FelhasznaloId = felhasznaloId;
|
|
|
|
if (!felhasznaloHelper.HasFelhasznaloAlapertelmezettEmail(felhasznaloId))
|
|
{
|
|
felhasznaloElerhetosegEmailCO.Alapertelmezett = true;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloElerhetosegEmailMentese(felhasznaloElerhetosegEmailCO, ClaimData.KovTanevID);
|
|
}
|
|
}
|
|
|
|
public void UpdateAlkalmazott(KirAlkalmazott kirAlkalmazott, int felhasznaloId)
|
|
{
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
kirAlkalmazott.Id = felhasznaloId;
|
|
|
|
helper.UpdateTeacherFromKir(KirTanarAdatCo.KirEntityToCo(kirAlkalmazott));
|
|
|
|
FelhasznaloHelper felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
FelhasznaloElerhetosegCimCO allandoLakcimToElerhetosegCimCo = KirFelhasznalo.ModelToAllandoLakcimToElerhetosegCimCo(kirAlkalmazott);
|
|
if (allandoLakcimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(allandoLakcimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegCimCO tartozkodasiCimToElerhetosegCimCo = KirFelhasznalo.ModelToTartozkodasiCimToElerhetosegCimCo(kirAlkalmazott);
|
|
if (tartozkodasiCimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(tartozkodasiCimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegTelCO felhasznaloElerhetosegTelCO = kirAlkalmazott;
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegTelCO.Telefonszam))
|
|
{
|
|
felhasznaloElerhetosegTelCO.Alapertelmezett = false;
|
|
felhasznaloHelper.FelhasznaloElerhetosegTelMentese(felhasznaloElerhetosegTelCO, ClaimData.KovTanevID);
|
|
}
|
|
|
|
FelhasznaloElerhetosegEmailCO felhasznaloElerhetosegEmailCO = kirAlkalmazott;
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegEmailCO.EmailCim))
|
|
{
|
|
felhasznaloElerhetosegEmailCO.Alapertelmezett = false;
|
|
felhasznaloHelper.FelhasznaloElerhetosegEmailMentese(felhasznaloElerhetosegEmailCO, ClaimData.KovTanevID);
|
|
}
|
|
}
|
|
|
|
public void InsertAlkalmazott(KirAlkalmazott kirAlkalmazott)
|
|
{
|
|
var thelper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var kellFollowUp = ClaimData.KovTanevID.HasValue
|
|
&& !ClaimData.IsKovTanev
|
|
&& kirAlkalmazott.AlkalmazasMegszunese.HasValue
|
|
&& kirAlkalmazott.AlkalmazasMegszunese.Value > new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().UtolsoNap;
|
|
int felhasznaloId = thelper.InsertTeacherFromKir(KirTanarAdatCo.KirEntityToCo(kirAlkalmazott), kellFollowUp);
|
|
|
|
kirAlkalmazott.Id = felhasznaloId;
|
|
|
|
FelhasznaloHelper felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
FelhasznaloElerhetosegCimCO allandoLakcimToElerhetosegCimCo = KirAlkalmazott.ModelToAllandoLakcimToElerhetosegCimCo(kirAlkalmazott);
|
|
if (allandoLakcimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(allandoLakcimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegCimCO tartozkodasiCimToElerhetosegCimCo = KirAlkalmazott.ModelToTartozkodasiCimToElerhetosegCimCo(kirAlkalmazott);
|
|
if (tartozkodasiCimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(tartozkodasiCimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(kirAlkalmazott.Telefonszam))
|
|
{
|
|
felhasznaloHelper.FelhasznaloElerhetosegTelMentese(kirAlkalmazott, ClaimData.KovTanevID);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(kirAlkalmazott.Email))
|
|
{
|
|
felhasznaloHelper.FelhasznaloElerhetosegEmailMentese(kirAlkalmazott, ClaimData.KovTanevID);
|
|
}
|
|
}
|
|
|
|
public void UpdateTanulo(KirSzinkronSaveModel postData, int felhasznaloId)
|
|
{
|
|
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
KirTanuloAdatCo mergedTanarAdatokCo = MergeModel(KirSzinkronSaveModel.ModelToTanuloAdatCo(postData), tanuloHelper.GetTanuloAdatokForKir(felhasznaloId));
|
|
|
|
tanuloHelper.UpdateTanuloFromKir(mergedTanarAdatokCo);
|
|
|
|
FelhasznaloElerhetosegCimCO allandoLakcimToElerhetosegCimCo = KirSzinkronSaveModel.ModelToAllandoLakcimToElerhetosegCimCo(postData);
|
|
|
|
FelhasznaloHelper felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (allandoLakcimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
if (felhasznaloHelper.GetFirstCimByTipus(CimTipusEnum.allando_lakcim, felhasznaloId, out int allandoLakcimId))
|
|
{
|
|
allandoLakcimToElerhetosegCimCo.ID = allandoLakcimId;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloCimMentese(allandoLakcimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegCimCO tartozkodasiCimToElerhetosegCimCo = KirSzinkronSaveModel.ModelToTartozkodasiCimToElerhetosegCimCo(postData);
|
|
|
|
if (tartozkodasiCimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
if (felhasznaloHelper.GetFirstCimByTipus(CimTipusEnum.tartozkodasi_hely, felhasznaloId, out int TartozkodasiCimId))
|
|
{
|
|
tartozkodasiCimToElerhetosegCimCo.ID = TartozkodasiCimId;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloCimMentese(tartozkodasiCimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegTelCO felhasznaloElerhetosegTelCO = KirSzinkronSaveModel.ModelToFelhasznaloElerhetosegTelCo(postData);
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegTelCO.Telefonszam))
|
|
{
|
|
felhasznaloElerhetosegTelCO.FelhasznaloId = felhasznaloId;
|
|
|
|
if (!felhasznaloHelper.HasFelhasznaloAlapertelmezettTelefon(felhasznaloId))
|
|
{
|
|
felhasznaloElerhetosegTelCO.Alapertelmezett = true;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloElerhetosegTelMentese(felhasznaloElerhetosegTelCO, ClaimData.KovTanevID);
|
|
}
|
|
|
|
FelhasznaloElerhetosegEmailCO felhasznaloElerhetosegEmailCO = KirSzinkronSaveModel.ModelToFelhasznaloElerhetosegEmailCo(postData);
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegEmailCO.EmailCim))
|
|
{
|
|
felhasznaloElerhetosegEmailCO.FelhasznaloId = felhasznaloId;
|
|
|
|
if (!felhasznaloHelper.HasFelhasznaloAlapertelmezettEmail(felhasznaloId))
|
|
{
|
|
felhasznaloElerhetosegEmailCO.Alapertelmezett = true;
|
|
}
|
|
|
|
felhasznaloHelper.FelhasznaloElerhetosegEmailMentese(felhasznaloElerhetosegEmailCO, ClaimData.KovTanevID);
|
|
}
|
|
}
|
|
|
|
public void UpdateTanulo(KirTanulo kirTanulo, int felhasznaloId)
|
|
{
|
|
kirTanulo.Id = felhasznaloId;
|
|
|
|
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
tanuloHelper.UpdateTanuloFromKir(KirTanuloAdatCo.KirEntityToCo(kirTanulo));
|
|
|
|
FelhasznaloHelper felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
FelhasznaloElerhetosegCimCO allandoLakcimToElerhetosegCimCo = KirTanulo.ModelToAllandoLakcimToElerhetosegCimCo(kirTanulo);
|
|
if (allandoLakcimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(allandoLakcimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegCimCO tartozkodasiCimToElerhetosegCimCo = KirTanulo.ModelToTartozkodasiCimToElerhetosegCimCo(kirTanulo);
|
|
if (tartozkodasiCimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(tartozkodasiCimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegTelCO felhasznaloElerhetosegTelCO = kirTanulo;
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegTelCO.Telefonszam))
|
|
{
|
|
felhasznaloElerhetosegTelCO.Alapertelmezett = false;
|
|
felhasznaloHelper.FelhasznaloElerhetosegTelMentese(felhasznaloElerhetosegTelCO, ClaimData.KovTanevID);
|
|
}
|
|
|
|
FelhasznaloElerhetosegEmailCO felhasznaloElerhetosegEmailCO = kirTanulo;
|
|
|
|
if (!string.IsNullOrWhiteSpace(felhasznaloElerhetosegEmailCO.EmailCim))
|
|
{
|
|
felhasznaloElerhetosegEmailCO.Alapertelmezett = false;
|
|
felhasznaloHelper.FelhasznaloElerhetosegEmailMentese(felhasznaloElerhetosegEmailCO, ClaimData.KovTanevID);
|
|
}
|
|
}
|
|
|
|
public void InsertTanulo(KirTanulo kirTanulo)
|
|
{
|
|
kirTanulo.Id = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).InsertTanuloFromKir(KirTanuloAdatCo.KirEntityToCo(kirTanulo));
|
|
|
|
FelhasznaloElerhetosegCimCO allandoLakcimToElerhetosegCimCo = KirTanulo.ModelToAllandoLakcimToElerhetosegCimCo(kirTanulo);
|
|
FelhasznaloHelper felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
if (allandoLakcimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(allandoLakcimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
FelhasznaloElerhetosegCimCO tartozkodasiCimToElerhetosegCimCo = KirTanulo.ModelToTartozkodasiCimToElerhetosegCimCo(kirTanulo);
|
|
if (tartozkodasiCimToElerhetosegCimCo.CimTipus.HasValue)
|
|
{
|
|
felhasznaloHelper.FelhasznaloCimMentese(tartozkodasiCimToElerhetosegCimCo, ClaimData.KovTanevID, true);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(kirTanulo.Telefonszam))
|
|
{
|
|
felhasznaloHelper.FelhasznaloElerhetosegTelMentese(kirTanulo, ClaimData.KovTanevID);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(kirTanulo.Email))
|
|
{
|
|
felhasznaloHelper.FelhasznaloElerhetosegEmailMentese(kirTanulo, ClaimData.KovTanevID);
|
|
}
|
|
}
|
|
|
|
public static List<KirGridModel> MergeKretaKirFelhasznalo<T>(List<T> kretaFelhasznaloList, List<T> kirPedagogusAdatModelList, int? statusz = null)
|
|
where T : KirFelhasznalo, IKirFelhasznalo
|
|
{
|
|
var kirImportGridModelList = new List<KirGridModel>();
|
|
bool valtozott;
|
|
|
|
var kretaAlk = kretaFelhasznaloList.Except(kirPedagogusAdatModelList, new KirFelhasznaloEqualityComparer()).ToList();
|
|
var kretaKirAlk = kretaFelhasznaloList.Except(kretaAlk, new KirFelhasznaloEqualityComparer()).ToList();
|
|
var kirAlk = kirPedagogusAdatModelList.Except(kretaFelhasznaloList, new KirFelhasznaloEqualityComparer()).ToList();
|
|
|
|
for (int i = 0; i < kretaAlk.Count; i++)
|
|
{
|
|
KirGridModel kirGridModelNemEgyezik = kretaAlk[i];
|
|
kirGridModelNemEgyezik.Szerkesztheto = KirEditableEnum.NemEgyezik;
|
|
kirGridModelNemEgyezik.ValtozottString = KirEditableEnum.NemEgyezik.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
|
|
|
kirImportGridModelList.Add(kirGridModelNemEgyezik);
|
|
}
|
|
|
|
for (int i = 0; i < kretaKirAlk.Count; i++)
|
|
{
|
|
for (int j = 0; j < kirPedagogusAdatModelList.Count; j++)
|
|
{
|
|
if (kretaKirAlk[i].OktatasiAzonosito.Equals(kirPedagogusAdatModelList[j].OktatasiAzonosito))
|
|
{
|
|
if (kretaKirAlk[i] is KirAlkalmazott kretaAlkalmazott)
|
|
{
|
|
valtozott = kretaAlkalmazott.Equals(kirPedagogusAdatModelList[j] as KirAlkalmazott);
|
|
}
|
|
else
|
|
{
|
|
valtozott = (kretaKirAlk[i] as KirTanulo).Equals(kirPedagogusAdatModelList[j] as KirTanulo);
|
|
}
|
|
|
|
KirGridModel kirGridModel = kretaKirAlk[i];
|
|
kirGridModel.Szerkesztheto = valtozott ? KirEditableEnum.Egyezik : KirEditableEnum.ModositasraVar;
|
|
kirGridModel.ValtozottString = valtozott ? KirEditableEnum.Egyezik.GetDisplayName(ClaimData.SelectedTanevID.Value) : KirEditableEnum.ModositasraVar.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
|
|
|
kirImportGridModelList.Add(kirGridModel);
|
|
}
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < kirAlk.Count; i++)
|
|
{
|
|
KirGridModel kirGridModel = kirAlk[i];
|
|
kirGridModel.ID = Guid.NewGuid().ToString("N");
|
|
kirGridModel.Szerkesztheto = KirEditableEnum.Uj;
|
|
kirGridModel.ValtozottString = KirEditableEnum.Uj.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
|
|
|
kirImportGridModelList.Add(kirGridModel);
|
|
}
|
|
|
|
if (statusz.HasValue)
|
|
{
|
|
kirImportGridModelList = kirImportGridModelList.Where(x => x.Szerkesztheto.ToInt32() == statusz).ToList();
|
|
}
|
|
|
|
return kirImportGridModelList;
|
|
}
|
|
|
|
public static List<KirSzinkronOsszehasonlitasGridModel> KirModelEqual<T>(T source, T target)
|
|
where T : class
|
|
{
|
|
var resourceManager = new ResourceManager(typeof(KirImportExportResource));
|
|
var kirSzinkronOsszehasonlitasGridModelList = new List<KirSzinkronOsszehasonlitasGridModel>();
|
|
var sourceJObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeObject(source));
|
|
var targetJObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeObject(target));
|
|
|
|
foreach (KeyValuePair<string, JToken> sourceProperty in sourceJObject)
|
|
{
|
|
JProperty targetProperty = targetJObject.Property(sourceProperty.Key);
|
|
var kirSzinkronOsszehasonlitasGridModel = new KirSzinkronOsszehasonlitasGridModel
|
|
{
|
|
KretaAdat = GetStringValueFromProperty(sourceProperty.Value.ToString()),
|
|
KirAdat = GetStringValueFromProperty(targetProperty.Value.ToString()),
|
|
AdatNeve = resourceManager.GetString(sourceProperty.Key),
|
|
AdatAzonositoNeve = sourceProperty.Key
|
|
};
|
|
|
|
if (sourceProperty.Value.ToString().Equals(targetProperty.Value.ToString()))
|
|
{
|
|
kirSzinkronOsszehasonlitasGridModel.Valtozott = false;
|
|
}
|
|
else
|
|
{
|
|
if (IgnoreCaseKeyList.Contains(sourceProperty.Key))
|
|
{
|
|
kirSzinkronOsszehasonlitasGridModel.Valtozott = !kirSzinkronOsszehasonlitasGridModel.KretaAdat.Equals(kirSzinkronOsszehasonlitasGridModel.KirAdat, StringComparison.OrdinalIgnoreCase);
|
|
}
|
|
else
|
|
{
|
|
kirSzinkronOsszehasonlitasGridModel.Valtozott = true;
|
|
}
|
|
|
|
}
|
|
|
|
kirSzinkronOsszehasonlitasGridModelList.Add(kirSzinkronOsszehasonlitasGridModel);
|
|
|
|
}
|
|
|
|
return kirSzinkronOsszehasonlitasGridModelList;
|
|
}
|
|
|
|
private static string GetStringValueFromProperty(string property)
|
|
{
|
|
var propertyString = string.Empty;
|
|
if (bool.TryParse(property, out bool sourceBoolValue))
|
|
{
|
|
propertyString = sourceBoolValue.GetDisplayName();
|
|
}
|
|
|
|
return string.IsNullOrWhiteSpace(propertyString) ? property : propertyString;
|
|
}
|
|
|
|
public static T MergeModel<T>(T source, T target)
|
|
where T : class
|
|
{
|
|
var sourceJObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeObject(source));
|
|
var targetJObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeObject(target));
|
|
|
|
foreach (KeyValuePair<string, JToken> sourceProperty in sourceJObject)
|
|
{
|
|
JProperty targetProperty = targetJObject.Property(sourceProperty.Key);
|
|
|
|
if (sourceProperty.Value.Type != JTokenType.Undefined &&
|
|
sourceProperty.Value.Type != JTokenType.Null &&
|
|
!JToken.DeepEquals(sourceProperty.Value, targetProperty.Value))
|
|
{
|
|
targetProperty.Value = sourceProperty.Value;
|
|
}
|
|
}
|
|
|
|
return targetJObject.ToObject<T>();
|
|
}
|
|
|
|
public static List<TabStripItemModel> GetAlkalmazottInfoTabs(string alkalmazottId) => new List<TabStripItemModel>
|
|
{
|
|
new TabStripItemModel() { ItemId = "1", ItemName = AlkalmazottResource.Alapadatok, Area = Constants.Areas.Alkalmazott, Controller = Constants.Controllers.Alkalmazott, Action = "GetAlapadatokPartialView", RouteParameters = new Dictionary<string, string>() { { "Id", alkalmazottId } } },
|
|
new TabStripItemModel() { ItemId = "2", ItemName = AlkalmazottResource.Elerhetosegek , Area = Constants.Areas.Alkalmazott, Controller = Constants.Controllers.Alkalmazott, Action = "GetPartialView", RouteParameters = new Dictionary<string, string>() { { "Id", alkalmazottId }, { "PartialViewName", "~/Areas/Alkalmazott/Views/Alkalmazott/Info_Elerhetosegek_Tab.cshtml" } } },
|
|
new TabStripItemModel() { ItemId = "3", ItemName = AlkalmazottResource.ElsodlegesMunkaugyiAdatok, Area = Constants.Areas.Alkalmazott, Controller = Constants.Controllers.Alkalmazott, Action = "GetElsodlegesMunkaugyiAdatokPartialView", RouteParameters = new Dictionary<string, string>() { { "Id", alkalmazottId } } }
|
|
};
|
|
|
|
public static List<TabStripItemModel> GetTanuloInfoTabs(string tanuloId) => new List<TabStripItemModel>
|
|
{
|
|
new TabStripItemModel() { ItemId = "1", ItemName = TanuloResource.Alapadatok, Area = Constants.Areas.Tanulo, Controller = Constants.Controllers.Tanulo, Action = "GetPartialView", RouteParameters = new Dictionary<string, string>() { { "Id", tanuloId }, { "PartialViewName", "Info_SzemelyesAdat_Tab" } } }
|
|
//new TabStripItemModel() { ItemId = "2", ItemName = KirImportExportResource.Elerhetosegek , Area = Constants.Areas.Alkalmazott, Controller = Constants.Controllers.Alkalmazott, Action = "GetPartialView", RouteParameters = new Dictionary<string, string>() { { "Id", alkalmazottId }, { "PartialViewName", "~/Areas/Alkalmazott/Views/Alkalmazott/Info_Elerhetosegek_Tab.cshtml" } } },
|
|
//new TabStripItemModel() { ItemId = "3", ItemName = KirImportExportResource.ElsodlegesMunkaugyiAdatok, Area = Constants.Areas.Alkalmazott, Controller = Constants.Controllers.Alkalmazott, Action = "GetElsodlegesMunkaugyiAdatokPartialView", RouteParameters = new Dictionary<string, string>() { { "Id", alkalmazottId } } }
|
|
};
|
|
|
|
public static bool HasOsztalyBasorolas(int tanuloId)
|
|
{
|
|
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
return tanuloHelper.HasOsztalyBasorolas(tanuloId);
|
|
}
|
|
}
|
|
}
|