init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
34
KretaWeb/Areas/KirImportExport/Controllers/BaseController.cs
Normal file
34
KretaWeb/Areas/KirImportExport/Controllers/BaseController.cs
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
532
KretaWeb/Areas/KirImportExport/Logic/KirImportLogic.cs
Normal file
532
KretaWeb/Areas/KirImportExport/Logic/KirImportLogic.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
14
KretaWeb/Areas/KirImportExport/Models/CompareModel.cs
Normal file
14
KretaWeb/Areas/KirImportExport/Models/CompareModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
40
KretaWeb/Areas/KirImportExport/Models/KirGridModel.cs
Normal file
40
KretaWeb/Areas/KirImportExport/Models/KirGridModel.cs
Normal 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,
|
||||
};
|
||||
}
|
||||
}
|
30
KretaWeb/Areas/KirImportExport/Models/KirLoginModel.cs
Normal file
30
KretaWeb/Areas/KirImportExport/Models/KirLoginModel.cs
Normal 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
|
||||
};
|
||||
}
|
||||
}
|
48
KretaWeb/Areas/KirImportExport/Models/KirSearchModel.cs
Normal file
48
KretaWeb/Areas/KirImportExport/Models/KirSearchModel.cs
Normal 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ő");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
448
KretaWeb/Areas/KirImportExport/Models/KirSzinkronSaveModel.cs
Normal file
448
KretaWeb/Areas/KirImportExport/Models/KirSzinkronSaveModel.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
8
KretaWeb/Areas/KirImportExport/Models/SaveModel.cs
Normal file
8
KretaWeb/Areas/KirImportExport/Models/SaveModel.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.Web.Areas.KirImportExport.Models
|
||||
{
|
||||
public class SaveModel
|
||||
{
|
||||
public string FelhasznaloId { get; set; }
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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();
|
||||
}
|
|
@ -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>
|
96
KretaWeb/Areas/KirImportExport/Views/Shared/_KirLogin.cshtml
Normal file
96
KretaWeb/Areas/KirImportExport/Views/Shared/_KirLogin.cshtml
Normal 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>
|
3
KretaWeb/Areas/KirImportExport/Views/_ViewStart.cshtml
Normal file
3
KretaWeb/Areas/KirImportExport/Views/_ViewStart.cshtml
Normal file
|
@ -0,0 +1,3 @@
|
|||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
38
KretaWeb/Areas/KirImportExport/Views/web.config
Normal file
38
KretaWeb/Areas/KirImportExport/Views/web.config
Normal 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>
|
Loading…
Add table
Add a link
Reference in a new issue