init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,676 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.KGR;
|
||||
using Kreta.Client.KGR.Request;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
using Newtonsoft.Json;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class ProfilApiController : ApiController
|
||||
{
|
||||
private readonly IKGRClient _kgrClient;
|
||||
public ProfilApiController(IKGRClient kgrClient)
|
||||
{
|
||||
_kgrClient = kgrClient ?? throw new ArgumentNullException(nameof(kgrClient));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Jelszó módosítás mentés
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveProfilData(ProfilModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var belepesiNev = ClaimData.BelepesiNev;
|
||||
|
||||
var helper = new FelhasznaloBelepesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var loginInfo = helper.AuthenticateUser(belepesiNev, model.JelenlegiJelszo);
|
||||
|
||||
if (loginInfo == null || loginInfo.PasswordState == PasswordState.INVALID)
|
||||
{
|
||||
throw new IncorrectPasswordException(loginInfo.BelepesiNev);
|
||||
}
|
||||
|
||||
helper.ChangeUserPassword(belepesiNev, model.UjJelszo);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (IncorrectPasswordException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(2591)/*Helytelen jelenlegi jelszó!*/);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elérhetőség módosítás mentés
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegek(ElerhetosegekModel model)
|
||||
{
|
||||
model.CleanFromEmptyRows();
|
||||
if (!ValidateElerhetosegek(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = model.ConvertToCo();
|
||||
var newDbElerhetosegek = felhasznaloHelper.SaveElerhetosegek(co, ClaimData.FelhasznaloId);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, newDbElerhetosegek);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, ErrorResource.NemSikerultAMuvelet)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Profilkép mentés
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveProfilePicture()
|
||||
{
|
||||
if (!Request.Content.IsMimeMultipartContent())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.UnsupportedMediaType, StringResourcesUtil.GetString(4890)/*Nem támogatott tipus*/);
|
||||
}
|
||||
|
||||
var root = HttpContext.Current.Server.MapPath("~/App_Data");
|
||||
var provider = new MultipartFormDataStreamProvider(root);
|
||||
|
||||
var tempFilePath = provider.FileData[0].LocalFileName;
|
||||
|
||||
var byteArray = File.ReadAllBytes(tempFilePath);
|
||||
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
ProfileUtils.UserProfileImage = helper.ProfileKep(helper.ProfilkepMentese(byteArray));
|
||||
|
||||
File.Delete(tempFilePath);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviseloAdatok(GondviseloAdatokModModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveGondviseloElerhetosegAdatok(ConvertGondviseloAdatokModModelToCO(model));
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviselo4TAdatok(Felhasznalo4TAdatokModel model)
|
||||
{
|
||||
if (!ClaimData.FeltarGondviseloEnabled)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
new GondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveGondviselo4TAdatok(ClaimData.GondviseloId.Value, ConvertGondviselo4TAdatokModelToCo(model));
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public HttpResponseMessage DeleteGondviseloEmail()
|
||||
{
|
||||
try
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteGondviseloEmail(ClaimData.GondviseloId.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanuloBankszamlaAdatok(TanuloBankszamlaModel model) => SaveBankszamlaAdatok(model, true);
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveAlkalmazottBankszamlaAdatok(AlkalmazottBankszamlaModel model) => SaveBankszamlaAdatok(model, false);
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveMentoriNyugdijAdatok(MentoriNyugdijModel model)
|
||||
{
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = model.ConvertToCo();
|
||||
var featureContext = (IFeatureContext)Request.GetDependencyScope().GetService(typeof(IFeatureContext));
|
||||
var isKlebelsbergKozpontOrNSZFH =
|
||||
featureContext.IsEnabled(FeatureName.MunkaugyiAdatokKlebelsberg)
|
||||
|| featureContext.IsEnabled(FeatureName.MunkaugyiAdatokNSZFH);
|
||||
var isNszfhUjSzkt = ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny;
|
||||
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveAlkalmazottNyugdijAdatok(co, isKlebelsbergKozpontOrNSZFH, isNszfhUjSzkt);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
var errorMessage = string.Join("<br>", ModelState.Select(x => string.Join("<br>", x.Value.Errors.Select(y => y.ErrorMessage))));
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage SaveBankszamlaAdatok(TanuloBankszamlaModel model, bool isTanulo)
|
||||
{
|
||||
var co = model.ConvertToCo();
|
||||
if (!ValidateBankszamlaszamAdatok(co, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (isTanulo)
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveTanuloBankszamlaAdatok(ClaimData.FelhasznaloId, ClaimData.GondviseloId, co);
|
||||
}
|
||||
else
|
||||
{
|
||||
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveAlkalmazottBankszamlaAdatok(ClaimData.FelhasznaloId, co);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
var errorMessage = string.Join("<br>", ModelState.Select(x => string.Join("<br>", x.Value.Errors.Select(y => y.ErrorMessage))));
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetTanuloAdatGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTanuloAdatForGondviselo(ClaimData.GondviseloId.Value);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegCimGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds;
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
ds = helper.GetCimData(ClaimData.GondviseloId.Value, isGondviselo: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ds = helper.GetCimData(ClaimData.FelhasznaloId, isGondviselo: false);
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegTelGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds;
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
ds = helper.GetTelefonData(ClaimData.GondviseloId.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
ds = helper.GetTelefonData(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegEmailGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds;
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
ds = helper.GetEmailData(ClaimData.GondviseloId.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
ds = helper.GetEmailData(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public DataSourceResult GetTargyiEszkozokGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var adatlapModels = new List<SajatAdatlapInfoModel.TargyiEszkozModel>();
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var tanaradatok = helper.GetTanarAdatok(ClaimData.FelhasznaloId);
|
||||
|
||||
string funkcioTerulet = null;
|
||||
if (tanaradatok.FeladatellatasiHely.IsEntityId())
|
||||
{
|
||||
var mukodesiHelyId = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeladatEllatasiHelyAdatok(tanaradatok.FeladatellatasiHely.Value).MukodesiHelyID;
|
||||
var co = new MukodesiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetMukodesiHelyAdatok(mukodesiHelyId);
|
||||
funkcioTerulet = co.Funkcioterulet;
|
||||
}
|
||||
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
if (!string.IsNullOrWhiteSpace(alkalmazottHelper.GetAlkalmazottSztszKod(ClaimData.FelhasznaloId)))
|
||||
{
|
||||
var result = _kgrClient.KGREszkozList(new EszkozHeaderRequest() { IntezmenyGuid = ClaimData.IntezmenyGuid.ToString(), IntezmenyAzonosito = ClaimData.IntezmenyAzonosito, Sztsz = alkalmazottHelper.GetAlkalmazottSztszKod(ClaimData.FelhasznaloId) });
|
||||
var cnt = 0;
|
||||
foreach (var item in result)
|
||||
{
|
||||
adatlapModels.Add(new SajatAdatlapInfoModel.TargyiEszkozModel
|
||||
{
|
||||
ID = cnt.ToString(),
|
||||
Megnevezes = item.Megnevezes,
|
||||
GyariSzam = item.GyariSzam,
|
||||
LeltariSzam = item.Leltarszam
|
||||
});
|
||||
cnt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
||||
}
|
||||
|
||||
return adatlapModels.ToDataSourceResult();
|
||||
}
|
||||
|
||||
private GondviseloAdatokModCO ConvertGondviseloAdatokModModelToCO(GondviseloAdatokModModel model)
|
||||
{
|
||||
return new GondviseloAdatokModCO
|
||||
{
|
||||
GondviseloId = ClaimData.GondviseloId.Value,
|
||||
TanuloId = ClaimData.FelhasznaloId,
|
||||
UjEmail = model.UjEmail,
|
||||
UjTelefon = model.UjTelefon
|
||||
};
|
||||
}
|
||||
|
||||
private Felhasznalo4TAdatokCo ConvertGondviselo4TAdatokModelToCo(Felhasznalo4TAdatokModel model)
|
||||
{
|
||||
return new Felhasznalo4TAdatokCo
|
||||
{
|
||||
AnyjaUtonev = model.AnyjaUtonev,
|
||||
AnyjaVezeteknev = model.AnyjaVezeteknev,
|
||||
Elotag = model.Elotag,
|
||||
SzuletesiDatum = model.SzuletesiDatum,
|
||||
SzuletesiHely = model.SzuletesiHely,
|
||||
SzuletesiUtonev = model.SzuletesiUtonev,
|
||||
SzuletesiVezeteknev = model.SzuletesiVezeteknev,
|
||||
Utonev = model.Utonev,
|
||||
Vezeteknev = model.Vezeteknev,
|
||||
};
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveEgyHaztartasbanElokData(EgyhaztartasbanElokModel model)
|
||||
{
|
||||
if (!ValidateEgyHaztartasbanElok(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveEgyhaztartasbanElokData(model.ConvertToCo(), ClaimData.FelhasznaloId, ClaimData.GondviseloId);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public string LoadEgyHaztartasbanElokData()
|
||||
{
|
||||
return JsonConvert.SerializeObject(new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEgyhaztartasbanElokData(ClaimData.FelhasznaloId));
|
||||
}
|
||||
|
||||
#region Helpers
|
||||
|
||||
private bool ValidateElerhetosegek(ElerhetosegekModel model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
if (model.Email.Where(e => e.Alapertelmezett && e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Take(2).Count() != 1)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", AdminisztracioResource.KotelezoEgyAlapertelmezettEmail);
|
||||
}
|
||||
|
||||
if (model.Telefon.Where(t => t.Alapertelmezett && t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Take(2).Count() != 1)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", AdminisztracioResource.KotelezoEgyAlapertelmezettTelefon);
|
||||
}
|
||||
|
||||
var publikusEmailCimek = model.Email.Where(e => e.IsPublic && e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted);
|
||||
if (publikusEmailCimek.Skip(1).Any())
|
||||
{
|
||||
foreach (var publikusEmail in publikusEmailCimek.Skip(1))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, publikusEmail.TextBoxId, AdminisztracioResource.PublikusEmailCsakEgyLehet);
|
||||
}
|
||||
}
|
||||
|
||||
var publikusTelefonszamok = model.Telefon.Where(t => t.IsPublic && t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted);
|
||||
if (publikusTelefonszamok.Skip(1).Any())
|
||||
{
|
||||
foreach (var publikusTelefonszam in publikusTelefonszamok.Skip(1))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, publikusTelefonszam.TextBoxId, AdminisztracioResource.PublikusTelefonCsakEgyLehet);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var email in model.Email.Where(e => e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted))
|
||||
{
|
||||
if (!email.Tipus.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.ComboBoxId, AdminisztracioResource.EmailTipusKotelezo);
|
||||
}
|
||||
|
||||
if (email.IsPublic && email.Alapertelmezett)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.TextBoxId, AdminisztracioResource.PublikusEmailNemLehetAlapertelmezett);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(email.EmailCim) || !email.EmailCim.IsValidEmail())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.TextBoxId, ErrorResource.EMailCimFormatumaNemMegfelelo);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (email.EmailCim.Length > General.EmailMaximumKarakterekSzama)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.TextBoxId, ErrorResource.EmailMax0Karakter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var nemToroltEmailek = model.Email.Where(x => x.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Select(x => x.EmailCim_Input).ToList();
|
||||
if (nemToroltEmailek.Distinct().Count() != nemToroltEmailek.Count())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", ErrorResource.AMegadottEmailcimMarRogzitveVan);
|
||||
}
|
||||
var nemToroltTelefonszamok = model.Telefon.Where(x => x.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Select(x => x.Telefonszam).ToList();
|
||||
if (nemToroltTelefonszamok.Distinct().Count() != nemToroltTelefonszamok.Count())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", ErrorResource.AMegadottTelefonszamMarRogzitveVan);
|
||||
}
|
||||
|
||||
foreach (var telefon in model.Telefon.Where(t => t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted))
|
||||
{
|
||||
if (!telefon.Tipus.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, telefon.ComboBoxId, AdminisztracioResource.TelefonTipusKotelezo);
|
||||
}
|
||||
|
||||
if (telefon.IsPublic && telefon.Alapertelmezett)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, telefon.TextBoxId, AdminisztracioResource.PublikusTelefonNemLehetAlapertelmezett);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(telefon.Telefonszam) || !telefon.Telefonszam.IsValidPhone())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, telefon.TextBoxId, ErrorResource.ATelefonszamFormatumaNemMegfelelo);
|
||||
}
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
private bool ValidateBankszamlaszamAdatok(BankszamlaCo model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
var errorText = BankszamlaLogic.KitoltottsegValidacio(model.BankszamlaSzam, model.BankszamlaTulajdonos, model.BankszamlaTulajdonosNeve);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(errorText))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.BankszamlaSzam), errorText);
|
||||
}
|
||||
else
|
||||
{
|
||||
// NOTE: Üres a bankszámlaszám = törölni akarjuk a meglevő adatokat
|
||||
if (string.IsNullOrWhiteSpace(model.BankszamlaSzam))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
errorText = BankszamlaLogic.CDVValidacio(model.BankszamlaSzam);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(errorText))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.BankszamlaSzam), errorText);
|
||||
}
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
private void AddErrorMessage(Dictionary<string, List<string>> errorDictionary, string key, string message)
|
||||
{
|
||||
if (!errorDictionary.TryGetValue(key, out var messages))
|
||||
{
|
||||
messages = new List<string>();
|
||||
errorDictionary.Add(key, messages);
|
||||
}
|
||||
messages.Add(message);
|
||||
}
|
||||
|
||||
private bool ValidateEgyHaztartasbanElok(EgyhaztartasbanElokModel model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
foreach (var item in model.Sorok.Where(t => !t.isDeleted))
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(item.Nev))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Nev_{item.RowNumber}", string.Format(FelhasznalokResource.NevKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.AnyjaNev))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"AnyjaNev_{item.RowNumber}", string.Format(FelhasznalokResource.AnyjaNeveKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.SzuletesiHely))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"SzuletesiHely_{item.RowNumber}", string.Format(FelhasznalokResource.SzuletesiHelyKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (!item.SzuletesiIdo.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"SzuletesiIdo_{item.RowNumber}", string.Format(FelhasznalokResource.SzuletesiIdoKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (item.SzuletesiIdo.HasValue && (item.SzuletesiIdo < DateTime.Today.AddYears(-150) || item.SzuletesiIdo > DateTime.Today))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"SzuletesiIdo_{item.RowNumber}", string.Format(FelhasznalokResource.SzuletesiIdoNemValid, item.RowNumber));
|
||||
}
|
||||
|
||||
if (!item.RokonsagiFok.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"RokonsagiFok_{item.RowNumber}", string.Format(FelhasznalokResource.RokonsagiFokKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.Taj))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszamKotelezo, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (item.Taj.Length != 9)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszam9Karakter, item.RowNumber));
|
||||
}
|
||||
else if (string.Equals(item.Taj, "000000000", StringComparison.Ordinal))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszamCsupaNulla, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
var tajszam = new int[9];
|
||||
for (var x = 0; x < tajszam.Length; x++)
|
||||
{
|
||||
tajszam[x] = Convert.ToInt32(item.Taj.Substring(x, 1));
|
||||
}
|
||||
|
||||
if ((((tajszam[1] + tajszam[3] + tajszam[5] + tajszam[7]) * 7) + ((tajszam[0] + tajszam[2] + tajszam[4] + tajszam[6]) * 3)) % 10 != tajszam[8])
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszamNemErvenyes, item.RowNumber));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.Telefon))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Telefon_{item.RowNumber}", string.Format(FelhasznalokResource.TelefonszamKotelezo, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
var match = new Regex(RegularExpressions.Telefon).Match(item.Telefon);
|
||||
if (!match.Success)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Telefon_{item.RowNumber}", string.Format(FelhasznalokResource.TelefonszamHibas, item.RowNumber));
|
||||
}
|
||||
else if (!new PhoneAttribute().IsValid(item.Telefon))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Telefon_{item.RowNumber}", string.Format(FelhasznalokResource.TelefonszamHibas, item.RowNumber));
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.Email))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Email_{item.RowNumber}", string.Format(FelhasznalokResource.EmailCimKotelezo, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
var tempByteArray = Encoding.GetEncoding(EncodingName.ISO_8859_8).GetBytes(item.Email);
|
||||
var encodedString = Encoding.UTF8.GetString(tempByteArray);
|
||||
if (!encodedString.Equals(item.Email))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Email_{item.RowNumber}", string.Format(FelhasznalokResource.EmailCimHibas, item.RowNumber));
|
||||
}
|
||||
else if (!new EmailAddressAttribute().IsValid(item.Email))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Email_{item.RowNumber}", string.Format(FelhasznalokResource.EmailCimHibas, item.RowNumber));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue