This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Http;
using System.Web.Http.Results;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.KIR.Domain.Model;
using Kreta.Core.KIR.Factory.Interface;
using Kreta.Web.Areas.KirImportExport.Logic;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.KirImportExport.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public abstract class BaseApiController : ApiController
{
protected internal IKirServiceFactory KirServiceFactory { get; }
protected internal IKir2ServiceFactory Kir2ServiceFactory { get; }
protected internal AuthHeaderModel AuthHeaderModel { get; }
protected internal KirImportHelper KirImportHelper { get; }
protected internal KirExportHelper2 KirExportHelper { get; }
protected internal string KirKretaKodCacheKey => $"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirKretaKod";
protected internal string KirTokenCacheKey => $"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirToken";
protected internal readonly string KirPedagugisListCacheKey;
protected internal readonly string KirTanuloListCacheKey;
protected internal BaseApiController(IKirServiceFactory kirServiceFactory, IKir2ServiceFactory kir2ServiceFactory)
{
KirServiceFactory = kirServiceFactory ?? throw new ArgumentNullException(nameof(kirServiceFactory));
Kir2ServiceFactory = kir2ServiceFactory ?? throw new ArgumentNullException(nameof(kir2ServiceFactory));
if (Cache.Get($"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirLogin") is AuthHeaderModel authHeaderModel)
{
AuthHeaderModel = authHeaderModel;
var kirImportHelper = new KirImportHelper(kirServiceFactory, authHeaderModel);
KirPedagugisListCacheKey = $"{ClaimData.IntezmenyAzonosito}_{ClaimData.FelhasznaloId}_KirPedagugisList";
KirTanuloListCacheKey = $"{ClaimData.IntezmenyAzonosito}_{ClaimData.FelhasznaloId}_KirTanuloList";
if (Cache.Get(KirKretaKodCacheKey) is string kretaKod && !string.IsNullOrWhiteSpace(kretaKod))
{
kirImportHelper.KretaKod = kretaKod;
}
KirImportHelper = kirImportHelper;
if (HttpContext.Current.Request.UrlReferrer.AbsoluteUri.Contains("IndexExport"))
{
string kirToken = Cache.Get(KirTokenCacheKey) as string;
if (authHeaderModel.KirToken != kirToken)
{
authHeaderModel.KirToken = kirToken;
}
AuthHeaderModel = authHeaderModel;
var kirExportHelper = new KirExportHelper2(kir2ServiceFactory, authHeaderModel, ClaimData.OrganizationCode, ClaimData.IntezmenyAzonosito);
KirExportHelper = kirExportHelper;
}
}
}
public JsonResult<List<ComboBoxListItem>> GetKirTelephelyList()
{
return Json(new KirImportLogic().GetKirTelephelyList(KirImportHelper));
}
}
}

View file

@ -0,0 +1,156 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.Domain;
using Kreta.Core.Exceptions;
using Kreta.Core.KIR.Factory.Interface;
using Kreta.Resources;
using Kreta.Web.Areas.KirImportExport.Logic;
using Kreta.Web.Areas.KirImportExport.Models;
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.KirImportExport.ApiControllers
{
public class KirAlkalmazottImportApiController : BaseApiController
{
public KirAlkalmazottImportApiController(IKirServiceFactory kirServiceFactory, IKir2ServiceFactory kir2ServiceFactory) : base(kirServiceFactory, kir2ServiceFactory)
{ }
public DataSourceResult GetKirAlkalmazottakGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var searchModel = JsonConvert.DeserializeObject<KirSearchModel>(data);
KirSearchModel.ValidateModel(searchModel);
new KirImportLogic().SetKirKretaKod(KirImportHelper, searchModel.KirTelephelyId.Value, KirKretaKodCacheKey);
List<KirAlkalmazott> kirPedagogusAdatModelList = KirImportHelper.GetKirFelhasznaloList<KirAlkalmazott>(searchModel, KirPedagugisListCacheKey);
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var kretaAlkalmazottList = helper.SearchAlkalmazottForKir(searchModel);
return KirImportLogic.MergeKretaKirFelhasznalo(kretaAlkalmazottList, kirPedagogusAdatModelList, searchModel.StatuszSearch)
.ToDataSourceResult();
}
public DataSourceResult GetAlkalmazottAlapadatokGrid(int felhasznaloId)
{
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kirAlkalmazott = helper.GetAlkalmazottAlapadatok(felhasznaloId);
KirAlkalmazottAlapadatok kirAlkalmazottFromKir = KirImportHelper
.GetKirFelhasznaloAdatok(new Converter<KirAlkalmazott, KirAlkalmazottAlapadatok>((y) => y), KirPedagugisListCacheKey, kirAlkalmazott.SzuletesiNev, kirAlkalmazott.AnyjaNeve, kirAlkalmazott.SzuletesiDatum.Value, kirAlkalmazott.SzuletesiHely);
return KirImportLogic.KirModelEqual(kirAlkalmazott, kirAlkalmazottFromKir)
.ToDataSourceResult();
}
public DataSourceResult GetAlkalmazottElerhetosegAdatokGrid(int felhasznaloId)
{
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kirAlkalmazott = helper.GetFelhasznaloElerhetoseg(felhasznaloId, isTanulo: false);
KirFelhasznaloElerhetosegek kirAlkalmazottFromKir = KirImportHelper
.GetKirFelhasznaloAdatok(new Converter<KirAlkalmazott, KirFelhasznaloElerhetosegek>((y) => y), KirPedagugisListCacheKey, kirAlkalmazott.SzuletesiNev, kirAlkalmazott.AnyjaNeve, kirAlkalmazott.SzuletesiDatum.Value, kirAlkalmazott.SzuletesiHely);
kirAlkalmazott.SzuletesiDatum = null;
kirAlkalmazott.SzuletesiHely = null;
return KirImportLogic.KirModelEqual(kirAlkalmazott, kirAlkalmazottFromKir)
.ToDataSourceResult();
}
public DataSourceResult GetAlkalmazottElsodlegesMunkaugyiAdatokGrid(int felhasznaloId)
{
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kirAlkalmazott = helper.GetAlkalmazottElsodlegesMunkaugyiAdatok(felhasznaloId);
KirAlkalmazottMunkaugyiAdatok kirAlkalmazottFromKir = KirImportHelper
.GetKirFelhasznaloAdatok(new Converter<KirAlkalmazott, KirAlkalmazottMunkaugyiAdatok>((y) => y), KirPedagugisListCacheKey, kirAlkalmazott.SzuletesiNev, kirAlkalmazott.AnyjaNeve, kirAlkalmazott.SzuletesiDatum.Value, kirAlkalmazott.SzuletesiHely);
kirAlkalmazott.SzuletesiDatum = null;
kirAlkalmazott.SzuletesiHely = null;
return KirImportLogic.KirModelEqual(kirAlkalmazott, kirAlkalmazottFromKir)
.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage ModifyAlkalmazott(KirSzinkronSaveModel postData)
{
int felhasznaloId = 0;
if (!string.IsNullOrWhiteSpace(postData.FelhasznaloId))
{
int.TryParse(postData.FelhasznaloId, out felhasznaloId);
}
try
{
if (felhasznaloId != 0)
{
new KirImportLogic().UpdateAlkalmazott(postData, felhasznaloId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ErrorResource.NemSikerultASzinkronizalas);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage ModifySelected(List<SaveModel> azonositoList)
{
try
{
List<KirAlkalmazott> kirPedagogusAdatModelList = KirImportHelper.GetKirFelhasznaloList<KirAlkalmazott>(KirPedagugisListCacheKey);
var kirImportLogic = new KirImportLogic();
foreach (var azonosito in azonositoList)
{
if (int.TryParse(azonosito.FelhasznaloId, out int felhasznaloId))
{
KirAlkalmazott kirAlkalmazott = kirPedagogusAdatModelList.Where(x => x.OktatasiAzonosito.Equals(azonosito.OktatasiAzonosito)).FirstOrDefault();
if (kirAlkalmazott != null)
{
kirImportLogic.UpdateAlkalmazott(kirAlkalmazott, felhasznaloId);
}
}
else
{
kirImportLogic.InsertAlkalmazott(kirPedagogusAdatModelList.Where(x => x.OktatasiAzonosito.Equals(azonosito.OktatasiAzonosito)).First());
}
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using System.Net;
using System.Net.Http;
using System.Runtime.Caching;
using System.Web.Http;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.KIR.Domain.Model;
using Kreta.Core.KIR.Factory.Interface;
using Kreta.Resources;
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.KirImportExport.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class KirAuthenticationApiController : ApiController
{
private const int KirLoginCacheExpirationInMinutes = 5;
private IAuthenticationServiceFactory AuthenticationServiceFactory { get; }
private string KirAuthHeaderModelCacheKey => $"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirLogin";
private string KirTokenCacheKey => $"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirToken";
public KirAuthenticationApiController(IAuthenticationServiceFactory authenticationServiceFactory)
{
AuthenticationServiceFactory = authenticationServiceFactory ?? throw new ArgumentNullException(nameof(authenticationServiceFactory));
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Login(KirLoginModel kirLoginModel)
{
try
{
AuthHeaderModel authHeaderModel = new KirAuthenticationHelper(AuthenticationServiceFactory).Authenticate(kirLoginModel);
if (!(Cache.Get(KirAuthHeaderModelCacheKey) is AuthHeaderModel))
{
Cache.Add(KirAuthHeaderModelCacheKey, authHeaderModel, new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(KirLoginCacheExpirationInMinutes) });
}
if (string.IsNullOrWhiteSpace(Cache.Get(KirTokenCacheKey) as string))
{
Cache.Add(KirTokenCacheKey, authHeaderModel.KirToken, new CacheItemPolicy { AbsoluteExpiration = new DateTimeOffset(DateTime.Now.AddMinutes(KirLoginCacheExpirationInMinutes)) });
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (Exception)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ErrorResource.NemSikerultABejelentkezesHibasFelhasznalonevVagyJelszo);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage KirLoginCheck()
{
return Cache.Get(KirAuthHeaderModelCacheKey) is AuthHeaderModel ? new HttpResponseMessage(HttpStatusCode.OK) : new HttpResponseMessage(HttpStatusCode.BadRequest);
}
}
}

View file

@ -0,0 +1,157 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.Domain;
using Kreta.Core.Exceptions;
using Kreta.Core.KIR.Factory.Interface;
using Kreta.Resources;
using Kreta.Web.Areas.KirImportExport.Logic;
using Kreta.Web.Areas.KirImportExport.Models;
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.KirImportExport.ApiControllers
{
public class KirTanuloImportApiController : BaseApiController
{
public KirTanuloImportApiController(IKirServiceFactory kirServiceFactory, IKir2ServiceFactory kir2ServiceFactory) : base(kirServiceFactory, kir2ServiceFactory)
{ }
public DataSourceResult GetKirTanulokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var searchModel = JsonConvert.DeserializeObject<KirSearchModel>(data);
KirSearchModel.ValidateModel(searchModel);
new KirImportLogic().SetKirKretaKod(KirImportHelper, searchModel.KirTelephelyId.Value, KirKretaKodCacheKey);
List<KirTanulo> kretaTanuloAdatModelList = KirImportHelper.GetKirFelhasznaloList<KirTanulo>(searchModel, KirTanuloListCacheKey);
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
List<KirTanulo> kirTanuloList = helper.SearchTanuloForKir(searchModel, 0);
return KirImportLogic.MergeKretaKirFelhasznalo(kirTanuloList, kretaTanuloAdatModelList)
.ToDataSourceResult();
}
public DataSourceResult GetTanuloAlapadatokGrid(int felhasznaloId)
{
KirTanuloAlapadatok kirTanulo = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloAlapadatok(felhasznaloId);
KirTanuloAlapadatok kirTanuloFromKir = KirImportHelper
.GetKirFelhasznaloAdatok(new Converter<KirTanulo, KirTanuloAlapadatok>((y) => y), KirTanuloListCacheKey, kirTanulo.SzuletesiNev, kirTanulo.AnyjaNeve, kirTanulo.SzuletesiDatum.Value, kirTanulo.SzuletesiHely);
return KirImportLogic.KirModelEqual(kirTanulo, kirTanuloFromKir)
.ToDataSourceResult();
}
public DataSourceResult GetTanuloElerhetosegAdatokGrid(int felhasznaloId)
{
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kirTanulo = helper.GetFelhasznaloElerhetoseg(felhasznaloId, true);
KirFelhasznaloElerhetosegek kirTanuloFromKir = KirImportHelper
.GetKirFelhasznaloAdatok(new Converter<KirTanulo, KirFelhasznaloElerhetosegek>((y) => y), KirTanuloListCacheKey, kirTanulo.SzuletesiNev, kirTanulo.AnyjaNeve, kirTanulo.SzuletesiDatum.Value, kirTanulo.SzuletesiHely);
kirTanulo.SzuletesiDatum = null;
kirTanulo.SzuletesiHely = null;
return KirImportLogic.KirModelEqual(kirTanulo, kirTanuloFromKir)
.ToDataSourceResult();
}
public DataSourceResult GetTanuloJogviszonyAdatokGrid(int felhasznaloId)
{
var kirTanuloJogviszony = new KirTanuloJogviszonyAdatok();
var kirSearchModel = new KirSearchModel();
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kirTanulo = helper.SearchTanuloForKir(kirSearchModel, felhasznaloId)[0];
KirTanuloJogviszonyAdatok kirTanuloFromKir = KirImportHelper
.GetKirFelhasznaloAdatok(new Converter<KirTanulo, KirTanuloJogviszonyAdatok>((y) => y), KirTanuloListCacheKey, kirTanulo.SzuletesiNev, kirTanulo.AnyjaNeve, kirTanulo.SzuletesiDatum.Value, kirTanulo.SzuletesiHely);
kirTanulo.SzuletesiDatum = null;
kirTanulo.SzuletesiHely = null;
return KirImportLogic.KirModelEqual(kirTanulo, kirTanuloFromKir)
.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage ModifyTanulo(KirSzinkronSaveModel postData)
{
int felhasznaloId = 0;
if (!string.IsNullOrWhiteSpace(postData.FelhasznaloId))
{
int.TryParse(postData.FelhasznaloId, out felhasznaloId);
}
try
{
if (felhasznaloId != 0)
{
new KirImportLogic().UpdateTanulo(postData, felhasznaloId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage ModifySelected(List<SaveModel> azonositoList)
{
try
{
List<KirTanulo> kirTanuloAdatModelList = KirImportHelper.GetKirFelhasznaloList<KirTanulo>(KirTanuloListCacheKey);
var kirImportLogic = new KirImportLogic();
foreach (var azonosito in azonositoList)
{
if (int.TryParse(azonosito.FelhasznaloId, out int felhasznaloId))
{
KirTanulo kirTanulo = kirTanuloAdatModelList.Where(x => x.OktatasiAzonosito.Equals(azonosito.OktatasiAzonosito)).FirstOrDefault();
if (kirTanulo != null)
{
kirImportLogic.UpdateTanulo(kirTanulo, felhasznaloId);
}
}
else
{
kirImportLogic.InsertTanulo(kirTanuloAdatModelList.Where(x => x.OktatasiAzonosito.Equals(azonosito.OktatasiAzonosito)).First());
}
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
}
}

View file

@ -0,0 +1,34 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.KIR.Domain.Model;
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.KirImportExport.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public abstract class BaseController : Controller
{
public ActionResult IndexImport()
{
if (!(Cache.Get($"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirLogin") is AuthHeaderModel))
{
return View("~/Areas/KirImportExport/Views/Shared/_KirLogin.cshtml", new KirLoginModel { Url = HttpContext.Request.Url.AbsoluteUri });
}
return View("IndexImport", new KirSearchModel());
}
public ActionResult IndexExport()
{
if (!(Cache.Get($"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirLogin") is AuthHeaderModel) && string.IsNullOrWhiteSpace(Cache.Get($"{ClaimData.FelhasznaloNev}_{ClaimData.FelhasznaloId}_{ClaimData.IntezmenyAzonosito}_KirToken") as string))
{
return View("~/Areas/KirImportExport/Views/Shared/_KirLogin.cshtml", new KirLoginModel { Url = HttpContext.Request.Url.AbsoluteUri });
}
return View("IndexExport", new KirSearchModel());
}
}
}

View file

@ -0,0 +1,38 @@
using System.Web.Mvc;
using Kreta.Web.Areas.KirImportExport.Logic;
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
using Kreta.Web.Models.EditorTemplates;
namespace Kreta.Web.Areas.KirImportExport.Controllers
{
public class KirAlkalmazottController : BaseController
{
public ActionResult OpenAlkalmazottComparePopupp(int alkalmazottId)
{
var popUpModel = new PopUpModel(
new CompareModel
{
FelhasznaloId = alkalmazottId,
IsImportFromKir = System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri.Contains("IndexImport")
}, "Alkalmazott_AddModify");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "KirAlkalmazottImportHelper.propertiesCancel");
popUpModel = popUpModel.AddOkBtn(popUpModel, "KirAlkalmazottImportHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenAlkalmazottInfoPopUp(string alkalmazottId)
{
var model = new PopUpModel(new TabStripModel()
{
TabList = KirImportLogic.GetAlkalmazottInfoTabs(alkalmazottId)
}, "~/Areas/Alkalmazott/Views/Alkalmazott/Info_PopUp.cshtml");
model.AddCancelBtn(model, "KirAlkalmazottImportHelper.alkalmazottInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
}
}

View file

@ -0,0 +1,39 @@
using System.Web.Mvc;
using Kreta.Web.Areas.KirImportExport.Logic;
using Kreta.Web.Areas.KirImportExport.Models.KirImport;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Models.EditorTemplates;
namespace Kreta.Web.Areas.KirImportExport.Controllers
{
public class KirTanuloController : BaseController
{
public ActionResult OpenTanuloComparePopup(int tanuloId)
{
var popUpModel = new PopUpModel(
new CompareModel
{
FelhasznaloId = tanuloId,
IsImportFromKir = System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri.Contains("IndexImport"),
TanugyiAdatokTabIsVisible = KirImportLogic.HasOsztalyBasorolas(tanuloId)
}, "Tanulo_AddModify");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "KirTanuloImportHelper.propertiesCancel");
popUpModel = popUpModel.AddOkBtn(popUpModel, "KirTanuloImportHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenTanuloInfoPopUp(string tanuloId)
{
var model = new PopUpModel(new TanuloSearchModel()
{
TabList = KirImportLogic.GetTanuloInfoTabs(tanuloId)
}, "~/Areas/Tanulo/Views/Tanulo/Tanulo_Info.cshtml");
model.AddCancelBtn(model, "KirTanuloImportHelper.tanuloInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
}
}

View file

@ -0,0 +1,21 @@
using System.Web.Mvc;
namespace Kreta.Web.Areas.KirImportExport
{
public class KirImportExportAreaRegistration : AreaRegistration
{
public override string AreaName
{
get { return "KirImportExport"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"KirImportExport_default",
"KirImportExport/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}

View file

@ -0,0 +1,532 @@
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);
}
}
}

View file

@ -0,0 +1,14 @@
using Kreta.Web.Models.EditorTemplates;
namespace Kreta.Web.Areas.KirImportExport.Models.KirImport
{
public class CompareModel : TabStripModel
{
public bool IsImportFromKir { get; set; }
public int FelhasznaloId { get; set; }
public string GridName { get; set; }
public string GridApiUrl { get; set; }
public string GridAction { get; set; }
public bool TanugyiAdatokTabIsVisible { get; set; }
}
}

View file

@ -0,0 +1,40 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.Domain;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
namespace Kreta.Web.Areas.KirImportExport.Models.KirImport
{
public class KirGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(KirImportExportResource.Nev), ResourceType = typeof(KirImportExportResource))]
public string Nev { get; set; }
[Display(Name = nameof(KirImportExportResource.OktatasiAzonosito), ResourceType = typeof(KirImportExportResource))]
public string OktatasiAzonosito { get; set; }
[Display(Name = nameof(KirImportExportResource.SzuletesiIdo), ResourceType = typeof(KirImportExportResource))]
public DateTime SzuletesiIdo { get; set; }
[Display(Name = nameof(KirImportExportResource.SzuletesiHely), ResourceType = typeof(KirImportExportResource))]
public string SzuletesiHely { get; set; }
[Display(Name = nameof(KirImportExportResource.Statusz), ResourceType = typeof(KirImportExportResource))]
public string ValtozottString { get; set; }
public KirEditableEnum Szerkesztheto { get; set; }
public static implicit operator KirGridModel(KirFelhasznalo kirAlkalmazott) => new KirGridModel
{
ID = kirAlkalmazott.Id.ToString(),
Nev = kirAlkalmazott.NyomtatasiNev ?? $"{kirAlkalmazott.NevElotag} {kirAlkalmazott.SzuletesiNev}",
OktatasiAzonosito = kirAlkalmazott.OktatasiAzonosito,
SzuletesiHely = kirAlkalmazott.SzuletesiHely,
SzuletesiIdo = kirAlkalmazott.SzuletesiDatum.Value,
};
}
}

View file

@ -0,0 +1,30 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Core.KIR.Domain.Model;
using Kreta.Resources;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.KirImportExport.Models.KirImport
{
public class KirLoginModel
{
[Display(Name = nameof(KirImportExportResource.IntezmenyAzonosito), ResourceType = typeof(KirImportExportResource))]
public string IntezmenyAzonosito { get; set; } = ClaimData.OrganizationCode;
[Required(ErrorMessageResourceName = nameof(ErrorResource.AFelhasznalonevMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(KirImportExportResource.KirFelhasznaloNev), ResourceType = typeof(KirImportExportResource))]
public string FelhasznaloNev { get; set; }
[Required(ErrorMessageResourceName = nameof(ErrorResource.JelszoMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(KirImportExportResource.KirJelszo), ResourceType = typeof(KirImportExportResource))]
public string Jelszo { get; set; }
public string Url { get; set; }
public static implicit operator AuthHeaderModel(KirLoginModel kirLoginModel) => new AuthHeaderModel
{
Intezmeny = kirLoginModel.IntezmenyAzonosito,
FelhasznaloNev = kirLoginModel.FelhasznaloNev,
Jelszo = kirLoginModel.Jelszo
};
}
}

View file

@ -0,0 +1,48 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.KirImportExport.Models.KirImport
{
public class KirSearchModel
{
[Display(Name = nameof(KirImportExportResource.Nev), ResourceType = typeof(KirImportExportResource))]
public string NevSearch { get; set; }
[Display(Name = nameof(KirImportExportResource.OktatasiAzonosito), ResourceType = typeof(KirImportExportResource))]
public string OktatasiAzonositoSearch { get; set; }
[Display(Name = nameof(KirImportExportResource.SzuletesiIdo), ResourceType = typeof(KirImportExportResource))]
public DateTime? SzuletesiDatumTol { get; set; }
[Display(Name = nameof(KirImportExportResource.SzuletesiIdo), ResourceType = typeof(KirImportExportResource))]
public DateTime? SzuletesiDatumIg { get; set; }
[Display(Name = nameof(KirImportExportResource.SzuletesiHely), ResourceType = typeof(KirImportExportResource))]
public string SzuletesiHelySearch { get; set; }
[Display(Name = nameof(KirImportExportResource.Statusz), ResourceType = typeof(KirImportExportResource))]
public int? StatuszSearch { get; set; }
[Display(Name = nameof(KirImportExportResource.KirTelephely), ResourceType = typeof(KirImportExportResource))]
public int? KirTelephelyId { get; set; }
public static implicit operator FelhasznaloKirSearchCo(KirSearchModel kirImportSearchModel) => new FelhasznaloKirSearchCo
{
Nev = kirImportSearchModel.NevSearch,
OktatasiAzonosito = kirImportSearchModel.OktatasiAzonositoSearch,
SzuletesiDatumTol = kirImportSearchModel.SzuletesiDatumTol,
SzuletesiDatumIg = kirImportSearchModel.SzuletesiDatumIg,
SzuletesiHely = kirImportSearchModel.SzuletesiHelySearch
};
public static void ValidateModel(KirSearchModel kirLoginModel)
{
if (!kirLoginModel.KirTelephelyId.HasValue)
{
throw new Exception("KirTelephelyId kötelező");
}
}
}
}

View file

@ -0,0 +1,31 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.KirImportExport.Models.KirImport
{
public class KirSzinkronOsszehasonlitasGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(KirImportExportResource.KivalasztottAdat), ResourceType = typeof(KirImportExportResource))]
public string KivalasztottAdat { get; set; }
[Display(Name = nameof(KirImportExportResource.AdatNeve), ResourceType = typeof(KirImportExportResource))]
public string AdatNeve { get; set; }
[Display(Name = nameof(KirImportExportResource.KirAdat), ResourceType = typeof(KirImportExportResource))]
public string KirAdat { get; set; }
[Display(Name = nameof(KirImportExportResource.KretaAdat), ResourceType = typeof(KirImportExportResource))]
public string KretaAdat { get; set; }
public bool Valtozott { get; set; }
[Display(Name = nameof(KirImportExportResource.Valtozott), ResourceType = typeof(KirImportExportResource))]
public string ValtozottString => Valtozott.GetDisplayName();
public string AdatAzonositoNeve { get; set; }
}
}

View file

@ -0,0 +1,448 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Core.Domain;
using Kreta.Enums;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.KirImportExport.Models
{
public class KirSzinkronSaveModel
{
public string FelhasznaloId { get; set; }
public List<ValtozasDict> ValtozasDictData { get; set; }
public class ValtozasDict
{
public string Key { get; set; }
public string Value { get; set; }
}
public static implicit operator KirTanarAdatCo(KirSzinkronSaveModel kirSzinkronSaveModel)
{
var kirTanarAdatCo = new KirTanarAdatCo();
if (int.TryParse(kirSzinkronSaveModel.FelhasznaloId, out int felhasznaloId))
{
kirTanarAdatCo.Id = felhasznaloId;
}
List<ValtozasDict> ValtozasDictData = new List<ValtozasDict>(kirSzinkronSaveModel.ValtozasDictData);
for (int i = 0; i < ValtozasDictData.Count; i++)
{
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.AnyjaUtoneve))
{
kirTanarAdatCo.AnyjaUtoneve = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.AnyjaVezetekNeve))
{
kirTanarAdatCo.AnyjaCsaladiNeve = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.NevElotag))
{
kirTanarAdatCo.Elotag = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.SzuletesiUtonev))
{
kirTanarAdatCo.SzuletesiUtonev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.SzuletesiVezeteknev))
{
kirTanarAdatCo.SzuletesiCsaladiNev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Utonev))
{
kirTanarAdatCo.MunkavallaloUtonev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Vezeteknev))
{
kirTanarAdatCo.MunkavallaloCsaladiNev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.SzuletesiHely))
{
kirTanarAdatCo.SzuletesiHely = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.SzuletesiDatum))
{
kirTanarAdatCo.SzuletesiIdo = Convert.ToDateTime(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Nem))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out NemEnum nemEnum))
{
kirTanarAdatCo.Nem = (int)nemEnum;
}
else
{
kirTanarAdatCo.Nem = (int)NemEnum.NA;
}
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.AlkalmazasKezdete))
{
kirTanarAdatCo.AlkalmazasKezdete = Convert.ToDateTime(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.AlkalmazasMegszunese))
{
kirTanarAdatCo.AlkalmazasVege = Convert.ToDateTime(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.FoglalkoztatasTipusa))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out FoglalkoztatasTipusaEnum foglalkoztatasTipusaEnum))
{
kirTanarAdatCo.FoglalkoztatasTipusa = (int)foglalkoztatasTipusaEnum;
}
else
{
kirTanarAdatCo.FoglalkoztatasTipusa = (int)FoglalkoztatasTipusaEnum.TeljesMunkaidos;
}
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.OktatasiAzonosito))
{
kirTanarAdatCo.OktatasiAzonosito = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Allampolgarsag))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out AllampolgarsagEnum allampolgarsagEnum))
{
kirTanarAdatCo.Allampolgarsag = (int)allampolgarsagEnum;
}
else
{
kirTanarAdatCo.Allampolgarsag = (int)AllampolgarsagEnum.magyar;
}
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Allampolgarsag2))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out AllampolgarsagEnum allampolgarsagEnum))
{
kirTanarAdatCo.Allampolgarsag = (int)allampolgarsagEnum;
}
else
{
kirTanarAdatCo.Allampolgarsag = (int)AllampolgarsagEnum.magyar;
}
}
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.SzuletesiOrszag))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out OrszagTipusEnum orszagTipusEnum))
{
kirTanarAdatCo.SzuletesiOrszag = (int)orszagTipusEnum;
}
else
{
kirTanarAdatCo.SzuletesiOrszag = (int)OrszagTipusEnum.Magyarorszag;
}
}
}
return kirTanarAdatCo;
}
public static KirTanarAdatCo ModelToCo(KirSzinkronSaveModel kirSzinkronSaveModel) => kirSzinkronSaveModel;
public static KirTanuloAdatCo ModelToTanuloAdatCo(KirSzinkronSaveModel kirSzinkronSaveModel) => kirSzinkronSaveModel;
public static FelhasznaloElerhetosegCimCO ModelToAllandoLakcimToElerhetosegCimCo(KirSzinkronSaveModel kirSzinkronSaveModel)
{
var felhasznaloElerhetosegCimCO = new FelhasznaloElerhetosegCimCO();
if (int.TryParse(kirSzinkronSaveModel.FelhasznaloId, out int FelhasznaloId))
{
felhasznaloElerhetosegCimCO.FelhasznaloId = FelhasznaloId;
}
felhasznaloElerhetosegCimCO.Alapertelmezett = true;
felhasznaloElerhetosegCimCO.CimTipus = (int)CimTipusEnum.allando_lakcim;
List<ValtozasDict> ValtozasDictData = new List<ValtozasDict>(kirSzinkronSaveModel.ValtozasDictData);
for (int i = 0; i < ValtozasDictData.Count; i++)
{
if (ValtozasDictData[i].Key == "AllandoLakcimHazszam")
{
felhasznaloElerhetosegCimCO.Hazszam = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == "AllandoLakcimIranyitoszam")
{
felhasznaloElerhetosegCimCO.Iranyitoszam = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == "AllandoLakcimKozteruletJellegeNev")
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out KozteruletJellegEnum kozteruletJellegEnum))
{
felhasznaloElerhetosegCimCO.KozteruletTipusNev = kozteruletJellegEnum.GetDisplayName(ClaimData.SelectedTanevID.Value);
}
else
{
felhasznaloElerhetosegCimCO.KozteruletTipusNev = KozteruletJellegEnum.na.GetDisplayName(ClaimData.SelectedTanevID.Value);
}
}
if (ValtozasDictData[i].Key == "AllandoLakcimKozteruletNev")
{
felhasznaloElerhetosegCimCO.KozteruletNev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == "AllandoLakcimVaros")
{
felhasznaloElerhetosegCimCO.HelysegNev = ValtozasDictData[i].Value;
}
}
return felhasznaloElerhetosegCimCO;
}
public static FelhasznaloElerhetosegCimCO ModelToTartozkodasiCimToElerhetosegCimCo(KirSzinkronSaveModel kirSzinkronSaveModel)
{
var felhasznaloElerhetosegCimCO = new FelhasznaloElerhetosegCimCO();
if (int.TryParse(kirSzinkronSaveModel.FelhasznaloId, out int FelhasznaloId))
{
felhasznaloElerhetosegCimCO.FelhasznaloId = FelhasznaloId;
}
felhasznaloElerhetosegCimCO.Alapertelmezett = true;
felhasznaloElerhetosegCimCO.CimTipus = (int)CimTipusEnum.tartozkodasi_hely;
List<ValtozasDict> ValtozasDictData = new List<ValtozasDict>(kirSzinkronSaveModel.ValtozasDictData);
for (int i = 0; i < ValtozasDictData.Count; i++)
{
if (ValtozasDictData[i].Key == "TartozkodasiCimHazszam")
{
felhasznaloElerhetosegCimCO.Hazszam = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == "TartozkodasiCimIranyitoszam")
{
felhasznaloElerhetosegCimCO.Iranyitoszam = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == "TartozkodasiCimKozteruletJellegeNev")
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out KozteruletJellegEnum kozteruletJellegEnum))
{
felhasznaloElerhetosegCimCO.KozteruletTipusNev = kozteruletJellegEnum.GetDisplayName(ClaimData.SelectedTanevID.Value);
}
else
{
felhasznaloElerhetosegCimCO.KozteruletTipusNev = KozteruletJellegEnum.na.GetDisplayName(ClaimData.SelectedTanevID.Value);
}
}
if (ValtozasDictData[i].Key == "TartozkodasiCimKozteruletNev")
{
felhasznaloElerhetosegCimCO.KozteruletNev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == "TartozkodasiCimVaros")
{
felhasznaloElerhetosegCimCO.HelysegNev = ValtozasDictData[i].Value;
}
}
return felhasznaloElerhetosegCimCO;
}
public static FelhasznaloElerhetosegTelCO ModelToFelhasznaloElerhetosegTelCo(KirSzinkronSaveModel kirSzinkronSaveModel)
{
var felhasznaloElerhetosegTelCO = new FelhasznaloElerhetosegTelCO();
List<ValtozasDict> ValtozasDictData = new List<ValtozasDict>(kirSzinkronSaveModel.ValtozasDictData);
for (int i = 0; i < ValtozasDictData.Count; i++)
{
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Telefonszam))
{
felhasznaloElerhetosegTelCO.Telefonszam = ValtozasDictData[i].Value;
felhasznaloElerhetosegTelCO.TelefonTipusa = (int)TelefonTipusEnum.Ismeretlen;
}
}
return felhasznaloElerhetosegTelCO;
}
public static FelhasznaloElerhetosegEmailCO ModelToFelhasznaloElerhetosegEmailCo(KirSzinkronSaveModel kirSzinkronSaveModel)
{
var felhasznaloElerhetosegEmailCO = new FelhasznaloElerhetosegEmailCO();
List<ValtozasDict> ValtozasDictData = new List<ValtozasDict>(kirSzinkronSaveModel.ValtozasDictData);
for (int i = 0; i < ValtozasDictData.Count; i++)
{
if (ValtozasDictData[i].Key == nameof(KirAlkalmazott.Email))
{
felhasznaloElerhetosegEmailCO.EmailCim = ValtozasDictData[i].Value;
felhasznaloElerhetosegEmailCO.EmailTipusa = (int)EmailTipusEnum.Na;
}
}
return felhasznaloElerhetosegEmailCO;
}
public static implicit operator KirTanuloAdatCo(KirSzinkronSaveModel kirSzinkronSaveModel)
{
var kirTanuloAdatCo = new KirTanuloAdatCo();
if (int.TryParse(kirSzinkronSaveModel.FelhasznaloId, out int felhasznaloId))
{
kirTanuloAdatCo.Id = felhasznaloId;
}
List<ValtozasDict> ValtozasDictData = new List<ValtozasDict>(kirSzinkronSaveModel.ValtozasDictData);
for (int i = 0; i < ValtozasDictData.Count; i++)
{
if (ValtozasDictData[i].Key == nameof(KirTanulo.AnyjaUtoneve))
{
kirTanuloAdatCo.AnyjaUtoneve = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.AnyjaVezetekNeve))
{
kirTanuloAdatCo.AnyjaVezetekNeve = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.NevElotag))
{
kirTanuloAdatCo.Elotag = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.SzuletesiUtonev))
{
kirTanuloAdatCo.SzuletesiUtonev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.SzuletesiVezeteknev))
{
kirTanuloAdatCo.SzuletesiVezeteknev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Utonev))
{
kirTanuloAdatCo.Utonev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Vezeteknev))
{
kirTanuloAdatCo.Vezeteknev = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.SzuletesiHely))
{
kirTanuloAdatCo.SzuletesiHely = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.SzuletesiDatum))
{
kirTanuloAdatCo.SzuletesiDatum = Convert.ToDateTime(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Nem))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out NemEnum nemEnum))
{
kirTanuloAdatCo.Nem = (int)nemEnum;
}
else
{
kirTanuloAdatCo.Nem = (int)NemEnum.NA;
}
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.JogviszonyKezdete))
{
kirTanuloAdatCo.JogviszonyKezdete = Convert.ToDateTime(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.JogviszonyVarBefejezese))
{
kirTanuloAdatCo.JogviszonyVarBefejezese = Convert.ToDateTime(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.JogviszonyStatusza))
{
kirTanuloAdatCo.JogviszonyStatusza = Convert.ToBoolean(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.JogviszonyJellege))
{
kirTanuloAdatCo.JogviszonyJellege = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Vendegtanulo))
{
kirTanuloAdatCo.Vendegtanulo = Convert.ToBoolean(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Magantanulo))
{
kirTanuloAdatCo.Magantanulo = Convert.ToBoolean(ValtozasDictData[i].Value);
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.OktatasiAzonosito))
{
kirTanuloAdatCo.OktatasiAzonosito = ValtozasDictData[i].Value;
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Allampolgarsag))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out AllampolgarsagEnum allampolgarsagEnum))
{
kirTanuloAdatCo.Allampolgarsag = (int)allampolgarsagEnum;
}
else
{
kirTanuloAdatCo.Allampolgarsag = (int)AllampolgarsagEnum.magyar;
}
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.Allampolgarsag2))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out AllampolgarsagEnum allampolgarsagEnum))
{
kirTanuloAdatCo.Allampolgarsag = (int)allampolgarsagEnum;
}
else
{
kirTanuloAdatCo.Allampolgarsag = (int)AllampolgarsagEnum.magyar;
}
}
if (ValtozasDictData[i].Key == nameof(KirTanulo.SzuletesiOrszag))
{
if (Enum.TryParse(ValtozasDictData[i].Value.RemoveDiacritics(), true, out OrszagTipusEnum orszagTipusEnum))
{
kirTanuloAdatCo.SzuletesiOrszag = (int)orszagTipusEnum;
}
else
{
kirTanuloAdatCo.SzuletesiOrszag = (int)OrszagTipusEnum.Magyarorszag;
}
}
}
return kirTanuloAdatCo;
}
}
}

View file

@ -0,0 +1,8 @@
namespace Kreta.Web.Areas.KirImportExport.Models
{
public class SaveModel
{
public string FelhasznaloId { get; set; }
public string OktatasiAzonosito { get; set; }
}
}

View file

@ -0,0 +1,53 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.KirImportExport.Models.KirImport
@using Kreta.Resources
@model CompareModel
@using (Html.KretaForm("KirImportModel"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.FelhasznaloId)
<div id="KirImportAlkalmazottStrip">
<ul class="tab-container">
<li class="k-state-active">
@AlkalmazottResource.Alapadatok
</li>
<li>
@AlkalmazottResource.Elerhetosegek
</li>
<li>
@AlkalmazottResource.ElsodlegesMunkaugyiAdatok
</li>
</ul>
@{
Model.GridApiUrl = Constants.ApiControllers.KirAlkalmazottImportApi;
}
<div>
@{
Model.GridName = "AlkalmazottAlapadatokGrid";
Model.GridAction = "GetAlkalmazottAlapadatokGrid";
Html.RenderPartial("_CompareView", Model);
}
</div>
<div>
@{
Model.GridName = "AlkalmazottElerhetosegAdatokGrid";
Model.GridAction = "GetAlkalmazottElerhetosegAdatokGrid";
Html.RenderPartial("_CompareView", Model);
}
</div>
<div>
@{
Model.GridName = "AlkalmazottElsodlegesMunkaugyiAdatokGrid";
Model.GridAction = "GetAlkalmazottElsodlegesMunkaugyiAdatokGrid";
Html.RenderPartial("_CompareView", Model);
}
</div>
</div>
@Html.KretaTabStrip("KirImportAlkalmazottStrip").RenderOnModal();
}

View file

@ -0,0 +1,202 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.KirImportExport.Models.KirImport
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@model KirSearchModel
@{
var searchFormName = "searchForm";
var gridName = "KirAlkalmazottImportGrid";
}
@Scripts.Render("~/bundles/KirSzinkronHelper")
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@(Html.KretaComboBoxFor(x => x.KirTelephelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAlkalmazottImportApi, action = "GetKirTelephelyList" }))
.AutoBind(true)
.SelectedIndex(0)
.Events(e => e.DataBound("KirAlkalmazottImportHelper.fillGrid"))
.RenderSearchPanelSideBar())
@Html.KretaTextBoxFor(model => model.NevSearch).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.OktatasiAzonositoSearch).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.SzuletesiDatumTol, x => x.SzuletesiDatumIg)
@Html.KretaTextBoxFor(model => model.SzuletesiHelySearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.StatuszSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetKirSzerkesztehetoEnumList" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<KirGridModel>
(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.KirAlkalmazottImportApi, "GetKirAlkalmazottakGrid"),
dataParameterFunction: searchFormName,
errorHandlerFunction: "KirAlkalmazottImportHelper.feedbackGridError"
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.OktatasiAzonosito);
columns.Bound(c => c.SzuletesiIdo).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.SzuletesiHely);
columns.Bound(c => c.ValtozottString);
})
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = IntezmenyResource.Adatok, ClientAction= "KirAlkalmazottImportHelper.checkLoginBeforeOpenAlkalmazottInfoWindow", IconEnum = GridRowFunctionIconEnum.Adatok }
}, "KirAlkalmazottImportHelper.isVisible")
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = IntezmenyResource.Modositas, ClientAction= "KirAlkalmazottImportHelper.checkLoginBeforeOpenOpenAlkalmazottComparePopupp", IconEnum = GridRowFunctionIconEnum.Modositas }
}, "KirAlkalmazottImportHelper.isEditable")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand { Name = KirImportExportResource.KijeloltekSzinkronizalasa, ClientAction = "KirAlkalmazottImportHelper.modifySelected" }
})
.AutoBind(false)
)
</div>
<script type="text/javascript">
var KirAlkalmazottImportHelper = (function () {
var kirAlkalmazottImportHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var gridNameList = "AlkalmazottAlapadatokGrid" + ",AlkalmazottElerhetosegAdatokGrid" + ",AlkalmazottElsodlegesMunkaugyiAdatokGrid";
var url = {
OpenAlkalmazottKretaKirOsszehasonlitasPopup: "@Url.Action("OpenAlkalmazottComparePopupp", Constants.Controllers.KirAlkalmazott, new { area = Constants.Areas.KirImportExport })",
OpenAlkalmazottInfoPopUp: "@Url.Action("OpenAlkalmazottInfoPopUp", Constants.Controllers.KirAlkalmazott, new { area = Constants.Areas.KirImportExport })",
KirLoginCheck: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAuthenticationApi, action = "KirLoginCheck" })",
ToIndex: "@Url.Action("Index", Constants.Controllers.KirAlkalmazott, new { area = Constants.Areas.KirImportExport })",
Modify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAlkalmazottImportApi, action = "ModifyAlkalmazott" })",
UpdateSelected: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAlkalmazottImportApi, action = "ModifySelected" })"
}
kirAlkalmazottImportHelper.fillGrid = function () {
var grid = $('#'+gridName).data('kendoGrid');
grid.dataSource.read();
}
kirAlkalmazottImportHelper.isVisible = function (rowData) {
return rowData.Szerkesztheto != @((int)KirEditableEnum.Uj);
}
kirAlkalmazottImportHelper.isEditable = function (rowData) {
return rowData.Szerkesztheto == @((int)KirEditableEnum.ModositasraVar);
}
kirAlkalmazottImportHelper.checkLoginBeforeOpenAlkalmazottInfoWindow = function (rowData) {
AjaxHelper.DoPost(url.KirLoginCheck, {}, openAlkalmazottInfoWindow(rowData.ID), feedbackError);
}
function openAlkalmazottInfoWindow(alkalmazottId) {
AjaxHelper.DoPost(url.OpenAlkalmazottInfoPopUp, { AlkalmazottId: alkalmazottId }, popUpInfoWindow);
}
kirAlkalmazottImportHelper.checkLoginBeforeOpenOpenAlkalmazottComparePopupp = function (rowData) {
AjaxHelper.DoPost(url.KirLoginCheck, {}, openAlkalmazottComparePopupp(rowData.ID), feedbackError);
}
function openAlkalmazottComparePopupp(alkalmazottId) {
AjaxHelper.DoPost(url.OpenAlkalmazottKretaKirOsszehasonlitasPopup, { AlkalmazottId: alkalmazottId }, popUpAlkalmazottCompare);
}
kirAlkalmazottImportHelper.feedbackGridError = function ()
{
AjaxHelper.DoPost(url.KirLoginCheck, {}, undefined, feedbackError);
}
kirAlkalmazottImportHelper.modifyAddSave = function () {
KirSzinkronHelper.collectSzinkronData(gridNameList, url.Modify);
}
kirAlkalmazottImportHelper.alkalmazottInfoCancel = function () {
KretaWindowHelper.destroyWindow("alkalmazottInfoWindow");
}
kirAlkalmazottImportHelper.propertiesCancel = function () {
KretaWindowHelper.destroyWindow("popUpAlkalmazottCompare");
}
kirAlkalmazottImportHelper.modifySelected = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(IntezmenyResource.Figyelmeztetes)", "@(KirImportExportResource.KijeloltElemekFrissitveLesznekAKirbenTalalhatoBizonyosAdatokkalBiztosFolytatjaASzinkronizalast)", function () { modifySelected(selectedRows); });
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Figyelmeztetes)", "@(KirImportExportResource.ASzinkronizalashozLegalabbEgyElemetSzuksegesKijelolni)", true, KretaWindowHelper.destroyAllWindow);
}
}
function modifySelected(selectedRows) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({
"OktatasiAzonosito": value.OktatasiAzonosito,
"FelhasznaloId": value.ID,
});
});
AjaxHelper.DoPost(url.UpdateSelected, parameters, modifySelectedResponseOk, modifySelectedResponseError);
}
function modifySelectedResponseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function modifySelectedResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function feedbackError() {
window.location.replace(url.ToIndex);
}
function popUpAlkalmazottCompare(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "Alkalmazott";
config.content = data;
var modal = KretaWindowHelper.createWindow("popUpAlkalmazottCompare", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(AlkalmazottResource.AlkalmazottAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("alkalmazottInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return kirAlkalmazottImportHelper;
})();
</script>
<style>
.selectedKirSzinkronData {
background-color: rgb(153, 255, 153);
}
.selectableDiv {
cursor: pointer
}
.selectedKirSzinkronData :hover {
background-color: rgb(153, 255, 153);
}
</style>

View file

@ -0,0 +1,202 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.KirImportExport.Models.KirImport
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@model KirSearchModel
@{
var searchFormName = "searchForm";
var gridName = "KirTanuloImportGrid";
}
@Scripts.Render("~/bundles/KirSzinkronHelper")
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@(Html.KretaComboBoxFor(x => x.KirTelephelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirTanuloImportApi, action = "GetKirTelephelyList" }))
.AutoBind(true)
.SelectedIndex(0)
.Events(e => e.DataBound("KirTanuloImportHelper.fillGrid"))
.RenderSearchPanelSideBar())
@Html.KretaTextBoxFor(model => model.NevSearch).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.OktatasiAzonositoSearch).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.SzuletesiDatumTol, x => x.SzuletesiDatumIg)
@Html.KretaTextBoxFor(model => model.SzuletesiHelySearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.StatuszSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetKirSzerkesztehetoEnumList" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<KirGridModel>
(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.KirTanuloImportApi, "GetKirTanulokGrid"),
dataParameterFunction: searchFormName,
errorHandlerFunction: "KirTanuloImportHelper.feedbackGridError"
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.OktatasiAzonosito);
columns.Bound(c => c.SzuletesiIdo).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.SzuletesiHely);
columns.Bound(c => c.ValtozottString);
})
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = IntezmenyResource.Adatok, ClientAction= "KirTanuloImportHelper.checkLoginBeforeOpenTanuloInfoWindow", IconEnum = GridRowFunctionIconEnum.Adatok }
}, "KirTanuloImportHelper.isVisible")
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = IntezmenyResource.Modositas, ClientAction= "KirTanuloImportHelper.checkLoginBeforeOpenOpenTanuloComparePopup", IconEnum = GridRowFunctionIconEnum.Modositas }
}, "KirTanuloImportHelper.isEditable")
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand { Name = KirImportExportResource.KijeloltekSzinkronizalasa, ClientAction = "KirTanuloImportHelper.modifySelected" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.AutoBind(false)
)
</div>
<script type="text/javascript">
var KirTanuloImportHelper = (function () {
var kirTanuloImportHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var gridNameList = "TanuloAlapadatokGrid" + ",TanuloElerhetosegAdatokGrid" + ",TanuloJogviszonyAdatokGrid";
var url = {
OpenTanuloKretaKirOsszehasonlitasPopup: "@Url.Action("OpenTanuloComparePopup", Constants.Controllers.KirTanulo, new { area = Constants.Areas.KirImportExport })",
OpenTanuloInfoPopUp: "@Url.Action("OpenTanuloInfoPopUp", Constants.Controllers.KirTanulo, new { area = Constants.Areas.KirImportExport })",
KirLoginCheck: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAuthenticationApi, action = "KirLoginCheck" })",
ToIndex: "@Url.Action("Index", Constants.Controllers.KirTanulo, new { area = Constants.Areas.KirImportExport })",
Modify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirTanuloImportApi, action = "ModifyTanulo" })",
UpdateSelected: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirTanuloImportApi, action = "ModifySelected" })"
}
kirTanuloImportHelper.fillGrid = function () {
var grid = $('#'+gridName).data('kendoGrid');
grid.dataSource.read();
}
kirTanuloImportHelper.isVisible = function (rowData) {
return rowData.Szerkesztheto != @((int)KirEditableEnum.Uj);
}
kirTanuloImportHelper.isEditable = function (rowData) {
return rowData.Szerkesztheto == @((int)KirEditableEnum.ModositasraVar);
}
kirTanuloImportHelper.checkLoginBeforeOpenTanuloInfoWindow = function (rowData) {
AjaxHelper.DoPost(url.KirLoginCheck, {}, openTanuloInfoWindow(rowData.ID), feedbackError);
}
function openTanuloInfoWindow(tanuloId) {
AjaxHelper.DoPost(url.OpenTanuloInfoPopUp, { TanuloId: tanuloId }, popUpInfoWindow);
}
kirTanuloImportHelper.checkLoginBeforeOpenOpenTanuloComparePopup = function (rowData) {
AjaxHelper.DoPost(url.KirLoginCheck, {}, openTanuloComparePopup(rowData.ID), feedbackError);
}
function openTanuloComparePopup(tanuloId) {
AjaxHelper.DoPost(url.OpenTanuloKretaKirOsszehasonlitasPopup, { TanuloId: tanuloId }, popUpTanuloCompare);
}
kirTanuloImportHelper.feedbackGridError = function ()
{
AjaxHelper.DoPost(url.KirLoginCheck, {}, undefined, feedbackError);
}
kirTanuloImportHelper.modifyAddSave = function () {
KirSzinkronHelper.collectSzinkronData(gridNameList, url.Modify);
}
kirTanuloImportHelper.tanuloInfoCancel = function () {
KretaWindowHelper.destroyWindow("tanuloInfoWindow");
}
kirTanuloImportHelper.propertiesCancel = function () {
KretaWindowHelper.destroyWindow("popUpTanuloCompare");
}
kirTanuloImportHelper.modifySelected = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(IntezmenyResource.Figyelmeztetes)", "@(KirImportExportResource.KijeloltElemekFrissitveLesznekAKirbenTalalhatoBizonyosAdatokkalBiztosFolytatjaASzinkronizalast)", function () { modifySelected(selectedRows); });
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Figyelmeztetes)", "@(KirImportExportResource.ASzinkronizalashozLegalabbEgyElemetSzuksegesKijelolni)", true, KretaWindowHelper.destroyAllWindow);
}
}
function modifySelected(selectedRows) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({
"OktatasiAzonosito": value.OktatasiAzonosito,
"FelhasznaloId": value.ID,
});
});
AjaxHelper.DoPost(url.UpdateSelected, parameters, modifySelectedResponseOk, modifySelectedesponseError);
}
function modifySelectedesponseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function modifySelectedResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function feedbackError() {
window.location.replace(url.ToIndex);
}
function popUpTanuloCompare(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "Tanulo";
config.content = data;
var modal = KretaWindowHelper.createWindow("popUpTanuloCompare", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(AlkalmazottResource.AlkalmazottAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("tanuloInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return kirTanuloImportHelper;
})();
</script>
<style>
.selectedKirSzinkronData {
background-color: rgb(153, 255, 153);
}
.selectableDiv {
cursor: pointer
}
.selectedKirSzinkronData :hover {
background-color: rgb(153, 255, 153);
}
</style>

View file

@ -0,0 +1,59 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.KirImportExport.Models.KirImport
@using Kreta.Resources
@model CompareModel
@using (Html.KretaForm("KirImportModel"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.FelhasznaloId)
<div id="KirImportTanuloStrip">
<ul class="tab-container">
<li class="k-state-active">
@TanuloResource.Alapadatok
</li>
<li>
@TanuloResource.Elerhetosegek
</li>
@if (Model.TanugyiAdatokTabIsVisible)
{
<li>
@TanuloResource.Tanugy
</li>
}
</ul>
@{
Model.GridApiUrl = Constants.ApiControllers.KirTanuloImportApi;
}
<div>
@{
Model.GridName = "TanuloAlapadatokGrid";
Model.GridAction = "GetTanuloAlapadatokGrid";
Html.RenderPartial("_CompareView", Model);
}
</div>
<div>
@{
Model.GridName = "TanuloElerhetosegAdatokGrid";
Model.GridAction = "GetTanuloElerhetosegAdatokGrid";
Html.RenderPartial("_CompareView", Model);
}
</div>
<div>
@{
if (Model.TanugyiAdatokTabIsVisible)
{
Model.GridName = "TanuloJogviszonyAdatokGrid";
Model.GridAction = "GetTanuloJogviszonyAdatokGrid";
Html.RenderPartial("_CompareView", Model);
}
}
</div>
</div>
@Html.KretaTabStrip("KirImportTanuloStrip").RenderOnModal();
}

View file

@ -0,0 +1,29 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.KirImportExport.Models.KirImport
@model CompareModel
<div>
@(
Html.KretaGrid<KirSzinkronOsszehasonlitasGridModel>
(
name: Model.GridName,
getUrl: new GridApiUrl(Model.GridApiUrl, Model.GridAction, new Dictionary<string, string> { { "felhasznaloId", Model.FelhasznaloId.ToString() } }),
allowPaging: false
)
.Columns(columns =>
{
columns.Bound(c => c.AdatAzonositoNeve).Hidden();
columns.Bound(c => c.AdatNeve).ClientTemplate("# if (Valtozott) { # <div>#: AdatNeve #</div> #} else { # <div style='opacity: 0.5;'>#: AdatNeve #</div># } #");
columns.Bound(c => c.KretaAdat).ClientTemplate("#if(Valtozott){#<div id='kreta_ertek_#: AdatAzonositoNeve #' class='selectableDiv' onclick='KirSzinkronHelper.gridCellClickKreta(\"#:AdatAzonositoNeve#\", this, isImportFromKir)'> <span>#: KretaAdat #</span></div> #}else{#<div style='opacity: 0.5;'><span>#: KretaAdat #</span></div>#}#");
columns.Bound(c => c.KirAdat).ClientTemplate("#if(Valtozott){#<div id='kir_ertek_#: AdatAzonositoNeve #' class='selectableDiv' onclick='KirSzinkronHelper.gridCellClickKir(\"#:AdatAzonositoNeve#\", this, isImportFromKir)'> <span>#: KirAdat #</span></div>#}else{#<div style='opacity: 0.5;'><span>#: KretaAdat #</span></div>#}#");
columns.Bound(c => c.KivalasztottAdat).ClientTemplate("<div> <input id='kivalasztottOszlopSzoveg_#: AdatAzonositoNeve #' type='text'></div>").Hidden();
columns.Bound(c => c.Valtozott).Hidden();
columns.Bound(c => c.ValtozottString).ClientTemplate("# if (Valtozott) { # <div>#: ValtozottString #</div> #} else { # <div style='opacity: 0.5;'>#: ValtozottString #</div># } #");
})
.Sortable(sortable => sortable.Enabled(false))
)
</div>
<script type="text/javascript">
var isImportFromKir = '@Model.IsImportFromKir';
</script>

View file

@ -0,0 +1,96 @@
@using Kreta.Resources
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.KirImportExport.Models.KirImport;
@model KirLoginModel
@{
var formName = "KirLoginForm";
}
@using (Html.KretaForm(@formName))
{
//Password manager fix
<input type="password" id="disable-pwd-mgr-1" style="display: none;" value="stop-pwd-mgr-1" />
<div class="col-sm-12">
<div class="row">
<div style="padding-left:20px; text-align:center">
<h3>@(BeiratkozasResource.KirBejelentkezes)</h3>
@(Html.Raw(BeiratkozasResource.KirBejelentkezesSzoveg))
<br />
<br />
</div>
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.IntezmenyAzonosito).Enable(true).RenderWithName()
</div>
@Html.KretaValidationSummary()
<div class="row">
@Html.KretaTextBoxFor(x => x.FelhasznaloNev).RenderWithName()
</div>
<div class="row">
@Html.KretaPasswordFor(x => x.Jelszo).RenderWithName()
</div>
<div class="col-xs-6">
@Html.KretaButton("KirLogin", 3784/*Belépés*/, true).Events(e => e.Click("KirLoginHelper.kirLogin"))
</div>
<div id="feladatEllatasiHelyDropdownDiv"></div>
</div>
}
<script>
var KirLoginHelper = (function () {
var kirLoginHelper = function () { };
var kirLoginFormName = "@formName";
var url = {
KirLogin: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.KirAuthenticationApi, action = "Login" })",
GetKirFeladatellatasiHelyList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.NebuloApi, action = "GetKirFeladatellatasiHelyList" })"
}
kirLoginHelper.getKirFeladatellatasiHelyList = function () {
var form = $('#' + kirLoginFormName);
if (form.valid()) {
var data = form.toObject();
AjaxHelper.DoValidationPost(url.GetKirFeladatellatasiHelyList, kirLoginFormName, data, getKirFeladatellatasihelyListResponseOk);
}
}
function getKirFeladatellatasihelyListResponseOk(telephelyList) {
$('#IntezmenyAzonosito').parent().parent().addClass("disabledItem");
$('#FelhasznaloNev').parent().parent().addClass("disabledItem");
$('#Jelszo').parent().parent().addClass("disabledItem");
$('#Bejelentkezes').parent().hide();
$('#kirSzinkron_Mentes').show();
$('#feladatEllatasiHelyDropdownDiv').append('<select id="feladatEllatasiHelyDropdown"></select>');
var dropdown = $("#feladatEllatasiHelyDropdown").kendoDropDownList({
dataSource: telephelyList,
dataTextField: "Text",
dataValueField: "Value"
});
}
kirLoginHelper.kirLogin = function () {
var form = $('#' + kirLoginFormName);
if (form.valid()) {
AjaxHelper.DoPostElement(url.KirLogin, kirLoginFormName, feedbackSucces, feedbackErrorWithMessage);
}
}
function feedbackSucces() {
window.location.replace("@Model.Url");
}
function feedbackErrorWithMessage(data) {
var messageJson = CommonUtils.JSONparse(data.responseText);
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", messageJson.Message, true, KretaWindowHelper.destroyAllWindow);
}
return kirLoginHelper;
})();
</script>

View file

@ -0,0 +1,3 @@
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}

View file

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Kreta.Web" />
<add namespace="Kreta.BusinessLogic.Utils" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="Kreta.Web.Helpers" />
<add namespace="System.Web.Optimization" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>