1268 lines
52 KiB
C#
1268 lines
52 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using System.Xml;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.HelperClasses.ImportCo;
|
|
using Kreta.BusinessLogic.Helpers.ImportExport;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Domain;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class FelhasznaloHelper : LogicBase
|
|
{
|
|
public FelhasznaloHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public static readonly IEnumerable<SzerepkorTipusEnum> SzervezetiPermissions = new List<SzerepkorTipusEnum> { SzerepkorTipusEnum.Dualis_Admin };
|
|
|
|
public void UpdateLastLogin(string userName)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
int? belepesId = h.Felhasznalo().GetAktualisFelhasznaloBelepesID(userName);
|
|
h.FelhasznaloBelepes().UpdateLastLogin(belepesId.Value, DateTime.Now);
|
|
});
|
|
}
|
|
|
|
public XmlDocument GetUserProfileDocument()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
string profile = dal.GetUserProfile();
|
|
|
|
var xmlDocument = new XmlDocument();
|
|
|
|
//akkor üres ha törölve lett
|
|
if (!string.IsNullOrWhiteSpace(profile))
|
|
{
|
|
//adatok betöltése
|
|
xmlDocument.LoadXml(profile);
|
|
//Ha nem <UserProfile-lal kezdődik, akkor valami gond lehet pl. Base64String
|
|
if (!xmlDocument.InnerXml.Trim().StartsWith("<UserProfile", StringComparison.Ordinal))
|
|
{
|
|
xmlDocument.InnerXml = string.Empty;
|
|
}
|
|
}
|
|
|
|
return xmlDocument;
|
|
});
|
|
}
|
|
|
|
public bool IsCsokkentettGondviselo(int gondviseloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.IsCsokkentettGondviselo(gondviseloId, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public Dictionary<SzerepkorTipusEnum, string> GetFelhasznaloiSzerepkorok(string intezmenyiDictionaryEnvironmentName)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var roles = h.RolesDAL().GetUserRoles(FelhasznaloId).AsEnumerable().Select(a => a["SZEREPKOR"].ToString());
|
|
|
|
var list = new List<KeyValuePair<SzerepkorTipusEnum, string>>();
|
|
foreach (var userrole in roles)
|
|
{
|
|
var roleType = (SzerepkorTipusEnum)Enum.Parse(typeof(SzerepkorTipusEnum), userrole);
|
|
if (SzervezetiPermissions.Contains(roleType))
|
|
{
|
|
list.Insert(0, new KeyValuePair<SzerepkorTipusEnum, string>(roleType, GetFelhasznaloiJogosultsagSzoveg(roleType, intezmenyiDictionaryEnvironmentName)));
|
|
}
|
|
else
|
|
{
|
|
list.Add(new KeyValuePair<SzerepkorTipusEnum, string>(roleType, GetFelhasznaloiJogosultsagSzoveg(roleType, intezmenyiDictionaryEnvironmentName)));
|
|
}
|
|
}
|
|
|
|
var result = list.ToDictionary(x => x.Key, x => x.Value);
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public List<string> GetFelhasznaloiJogosultsagok(int felhasznaloId, int szerepkorId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.RolesDAL();
|
|
return dal.GetFelhasznaloJogosultsag(felhasznaloId, szerepkorId).AsEnumerable().Select(a => a["JOG"].ToString()).ToList();
|
|
});
|
|
}
|
|
|
|
public string GetFelhasznaloiJogosultsagSzoveg(SzerepkorTipusEnum roleType, string intezmenyiDictionaryEnvironmentName)
|
|
{
|
|
switch (roleType)
|
|
{
|
|
case SzerepkorTipusEnum.Adminisztrator:
|
|
return JogosultsagResource.AdminisztraciosRendszer;
|
|
case SzerepkorTipusEnum.Ellenorzo:
|
|
return JogosultsagResource.ElektronikusEllenorzokonyv;
|
|
case SzerepkorTipusEnum.Naplo:
|
|
return JogosultsagResource.ElektronikusNaplo;
|
|
case SzerepkorTipusEnum.Alairo:
|
|
return JogosultsagResource.Alairo;
|
|
case SzerepkorTipusEnum.eUgyintezo:
|
|
return JogosultsagResource.eUgyintezo;
|
|
case SzerepkorTipusEnum.Penztaros:
|
|
return JogosultsagResource.Penztaros;
|
|
case SzerepkorTipusEnum.PenzugyiAdmin:
|
|
return JogosultsagResource.PenzugyiAdmin;
|
|
case SzerepkorTipusEnum.GazdasagiUgyintezo:
|
|
return JogosultsagResource.GazdasagiUgyintezo;
|
|
case SzerepkorTipusEnum.TeremberletJelenletEllenorzo:
|
|
return JogosultsagResource.TeremberletJelenletEllenorzo;
|
|
case SzerepkorTipusEnum.alkalmazott:
|
|
return JogosultsagResource.Alkalmazott;
|
|
case SzerepkorTipusEnum.EtkezesiAdmin:
|
|
return JogosultsagResource.EtkezesiAdmin;
|
|
case SzerepkorTipusEnum.EtkezesiEllenorzo:
|
|
return JogosultsagResource.EtkezesiEllenorzo;
|
|
case SzerepkorTipusEnum.FokuszMonitoring:
|
|
return JogosultsagResource.FokuszMonitoring;
|
|
case SzerepkorTipusEnum.IskolaEgeszsegugyiKoordinator:
|
|
return JogosultsagResource.IskolaEgeszsegugyiKoordinator;
|
|
case SzerepkorTipusEnum.Vedono:
|
|
return JogosultsagResource.Vedono;
|
|
case SzerepkorTipusEnum.Iskolaorvos:
|
|
return JogosultsagResource.Iskolaorvos;
|
|
case SzerepkorTipusEnum.IskolaEgeszsegugyiAsszisztens:
|
|
return JogosultsagResource.IskolaEgeszsegugyiAsszisztens;
|
|
case SzerepkorTipusEnum.IskolaEgeszsegugyiLekerdezo:
|
|
return JogosultsagResource.IskolaEgeszsegugyiLekerdezo;
|
|
case SzerepkorTipusEnum.BelepokartyaAdmin:
|
|
return JogosultsagResource.BelepokartyaAdmin;
|
|
case SzerepkorTipusEnum.LeltarConcerned:
|
|
return JogosultsagResource.LeltarConcerned;
|
|
case SzerepkorTipusEnum.Konyvtaros:
|
|
return JogosultsagResource.Konyvtaros;
|
|
case SzerepkorTipusEnum.FELTAR_EsetKezelo:
|
|
return intezmenyiDictionaryEnvironmentName == IntezmenyResource.EnvironmentNszfh ? JogosultsagResource.FELTAR_EsetKezelo : JogosultsagResource.TESZEK_EsetKezelo;
|
|
case SzerepkorTipusEnum.FELTAR_EszkozMenedzser:
|
|
return intezmenyiDictionaryEnvironmentName == IntezmenyResource.EnvironmentNszfh ? JogosultsagResource.FELTAR_EszkozMenedzser : JogosultsagResource.TESZEK_EszkozMenedzser;
|
|
case SzerepkorTipusEnum.KerdoivKitolto_KerdoivKezelo:
|
|
return JogosultsagResource.KerdoivKitolto_KerdoivKezelo;
|
|
case SzerepkorTipusEnum.Dualis_Admin:
|
|
return JogosultsagResource.DualisAdmin;
|
|
case SzerepkorTipusEnum.FELTAR_EsetJovahagyo:
|
|
return intezmenyiDictionaryEnvironmentName == IntezmenyResource.EnvironmentNszfh ? JogosultsagResource.FELTAR_EsetJovahagyo : JogosultsagResource.TESZEK_EsetJovahagyo;
|
|
case SzerepkorTipusEnum.FELTAR_EsetKozremukodo:
|
|
return intezmenyiDictionaryEnvironmentName == IntezmenyResource.EnvironmentNszfh ? JogosultsagResource.FELTAR_EsetKozremukodo : JogosultsagResource.TESZEK_EsetKozremukodo;
|
|
case SzerepkorTipusEnum.FELTAR_Munkavegzo:
|
|
return intezmenyiDictionaryEnvironmentName == IntezmenyResource.EnvironmentNszfh ? JogosultsagResource.FELTAR_Munkavegzo : JogosultsagResource.TESZEK_Munkavegzo;
|
|
case SzerepkorTipusEnum.FELTAR_SzerzodesMenedzser:
|
|
return intezmenyiDictionaryEnvironmentName == IntezmenyResource.EnvironmentNszfh ? JogosultsagResource.FELTAR_SzerzodesMenedzser : JogosultsagResource.TESZEK_SzerzodesMenedzser;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public string GetFirstEmailAddressForCurrentUser(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznalo = h.Felhasznalo().Get(id);
|
|
if (felhasznalo.Email.Count == 0)
|
|
{
|
|
return string.Empty;
|
|
}
|
|
if (felhasznalo.Email[0].EmailCim == null)
|
|
{
|
|
return string.Empty;
|
|
}
|
|
if (felhasznalo.Email.All(x => x.Torolt))
|
|
{
|
|
return string.Empty;
|
|
}
|
|
return felhasznalo.Email[0].EmailCim;
|
|
});
|
|
}
|
|
|
|
public List<Felh4TOktAzonValidationCo> Check4TFelhOktAzonValidation(
|
|
List<int> tanevIds, int pCheckValidationType,
|
|
string pSzuletesiNevSorrend, string pSzuletesiNevElotag, string pSzuletesiCsaladiNev, string pSzuletesiUtonev,
|
|
string pAnyjaNevSorrend, string pAnyjaElotag, string pAnyjaCsaladiNev, string pAnyjaUtonev,
|
|
string pSzuletesiHely, DateTime? pSzuletesiDatum, string pOktatasiAzonosito, string pBejelentkezesiNev,
|
|
int? pFelvetelStatuszaFelveve = null, int? pFelvetelStatuszaNemFelveve = null)
|
|
{
|
|
var list = new List<Felh4TOktAzonValidationCo>();
|
|
DataSet ds = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.Check4TFelhOktAzonValidation(tanevIds, pCheckValidationType,
|
|
pSzuletesiNevSorrend, pSzuletesiNevElotag, pSzuletesiCsaladiNev, pSzuletesiUtonev,
|
|
pAnyjaNevSorrend, pAnyjaElotag, pAnyjaCsaladiNev, pAnyjaUtonev,
|
|
pSzuletesiHely, pSzuletesiDatum, pOktatasiAzonosito, pBejelentkezesiNev,
|
|
pFelvetelStatuszaFelveve, pFelvetelStatuszaNemFelveve);
|
|
});
|
|
|
|
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (pCheckValidationType == (int)Validation4TEnum.Nebulo)
|
|
{
|
|
list.Add(new Felh4TOktAzonValidationCo()
|
|
{
|
|
ID = row.Field<int>("ID"),
|
|
ValidationType = row.Field<int>("ValidationType")
|
|
});
|
|
}
|
|
else
|
|
{
|
|
list.Add(new Felh4TOktAzonValidationCo(row));
|
|
}
|
|
}
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
public void Check4TFelhOktAzonValidation(int validationType, int entityId, int anotherTanevEntityId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
|
|
var dal = h.Felhasznalo();
|
|
dal.OktAzon4TAlapjanFollowUp(validationType, entityId, anotherTanevEntityId);
|
|
});
|
|
}
|
|
|
|
public DataSet GetCimData(int id, bool isGondviselo)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo(GridParameters);
|
|
return dal.GetSajatAdatlapCim(id, isGondviselo);
|
|
});
|
|
}
|
|
|
|
public DataSet GetTelefonData(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo(GridParameters);
|
|
return dal.GetUserTelefon(id);
|
|
});
|
|
}
|
|
|
|
public DataSet GetEmailData(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo(GridParameters);
|
|
return dal.GetUserEmailCim(id);
|
|
});
|
|
}
|
|
|
|
public List<string> GetAlkalmazottakByOktatasiAzonosito(string oktatasiAzonosito)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var ds = dal.GetAlkalmazottakByOktatasiAzonosito(oktatasiAzonosito, TanevId);
|
|
|
|
return ds.Tables[0].AsEnumerable().Select(dataRow => SDAConvert.ToString(dataRow["Nev"])).ToList();
|
|
});
|
|
}
|
|
|
|
public List<string> GetTanulokByOktatasiAzonosito(string oktatasiAzonosito)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var ds = dal.GetTanulokByOktatasiAzonosito(oktatasiAzonosito, TanevId);
|
|
|
|
return ds.Tables[0].AsEnumerable().Select(dataRow => SDAConvert.ToString(dataRow["Nev"])).ToList();
|
|
});
|
|
}
|
|
|
|
public string GetFelhasznaloOktatasiAzonosito(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetFelhasznaloOktatasiAzonosito(id, TanevId);
|
|
});
|
|
}
|
|
|
|
public string GetGondviseloFelhasznaloBelepesiNeve(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetGondviseloFelhasznaloBelepesiNeve(userId, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public string GetTanuloFelhasznaloBelepesiNeve(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetTanuloFelhasznaloBelepesiNeve(userId, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public DateTime GetTanuloFelhasznaloSzuletesiDatum(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetTanuloFelhasznaloSzuletesiDatum(userId, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public string GetNyomtatasiNev(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.Get(userId).NyomtatasiNev;
|
|
});
|
|
}
|
|
|
|
public DateTime GetTanuloSzuletesiDatumByGondviseloId(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetTanuloSzuletesiDatumByGondviseloId(userId, IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public bool GetVegzosEvfolyamTanulojaByUserId(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetVegzosEvfolyamTanulojaByUserId(userId);
|
|
});
|
|
}
|
|
|
|
public DataSet FelhasznaloKereses(FelhasznalokCO co, bool isHRModulEngedelyezett)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Felhasznalo(GridParameters);
|
|
return dal.GetFelhasznalok(IntezmenyId, TanevId, FelhasznalokCO.ConvertCOToPCO(co), isHRModulEngedelyezett, new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese));
|
|
});
|
|
}
|
|
|
|
public List<FelhasznaloGridItemCo> GetFelhasznaloList(FelhasznalokCO co, bool isHRModulEngedelyezett)
|
|
{
|
|
var ds = FelhasznaloKereses(co, isHRModulEngedelyezett);
|
|
|
|
var result = new List<FelhasznaloGridItemCo>();
|
|
foreach (DataRow dataRow in ds.Tables[0].Rows)
|
|
{
|
|
var item = new FelhasznaloGridItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetFelhasznalokOnlyAlkalmazottSzerepkor(IDalHandler h)
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
return dal.GetFelhasznalokOnlyAlkalmazottSzerepkor(TanevId);
|
|
}
|
|
|
|
public List<int> GetFelhasznaloIdsOnlyAlkalmazottSzerepkor()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var felhasznalokOnlyAlkalmazottSzerepkor = GetFelhasznalokOnlyAlkalmazottSzerepkor(h).Tables[0].Rows;
|
|
return felhasznalokOnlyAlkalmazottSzerepkor != null ? felhasznalokOnlyAlkalmazottSzerepkor.Cast<DataRow>().Select(row => row.Field<int>("ID")).ToList() : new List<int>();
|
|
});
|
|
}
|
|
|
|
public List<IFelhasznalo> GetAdminFelhasznalok()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
DataSet ds = h.Felhasznalo().GetAdminFelhasznalok(IntezmenyAzonosito);
|
|
var result = new List<IFelhasznalo>();
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
result.Add(dal.Get(row.Field<int>("ID")));
|
|
}
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public DataSet GetTanuloAdatForGondviselo(int gondviseloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo(GridParameters);
|
|
return dal.GetTanuloAdatForGondviselo(gondviseloId);
|
|
});
|
|
}
|
|
|
|
public void FelhasznaloCimMentese(FelhasznaloElerhetosegCimCO adat, int? kovTanevId, bool isKirSzinkron = false)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var cimDal = h.Cim();
|
|
var felhasznaloDal = h.Felhasznalo();
|
|
IFelhasznalo felhasznalo = felhasznaloDal.Get(adat.FelhasznaloId);
|
|
ICim FelhasznaloCim;
|
|
|
|
if (adat.ID.IsEntityId())
|
|
{
|
|
FelhasznaloCim = cimDal.Get(adat.ID.Value);
|
|
}
|
|
else
|
|
{
|
|
FelhasznaloCim = cimDal.Get();
|
|
FelhasznaloCim.TanevId = TanevId;
|
|
}
|
|
|
|
adat.CimTipus = adat.CimTipus.IsEntityId() ? adat.CimTipus : (int)CimTipusEnum.allando_lakcim;
|
|
adat.Orszag = adat.Orszag.IsEntityId() ? adat.Orszag : (int)OrszagTipusEnum.Magyarorszag;
|
|
|
|
SetFelhasznaloCimtDataForUpdate(FelhasznaloCim, adat, isKirSzinkron);
|
|
|
|
if (adat.FelhasznaloId.IsEntityId())
|
|
{
|
|
FelhasznaloCim.FelhasznaloId = adat.FelhasznaloId;
|
|
|
|
if (adat.ID.IsEntityId())
|
|
{
|
|
var letezoAzonosTipusuCimekSzama = felhasznalo.Cim.Count(x => !x.Torolt && x.CimTipusa == adat.CimTipus && x.ID != FelhasznaloCim.ID && x.GondviseloId == 0);
|
|
|
|
if (letezoAzonosTipusuCimekSzama == 0)
|
|
{
|
|
cimDal.Update(FelhasznaloCim);
|
|
UpdateCimKovTanev(h, kovTanevId, adat.FelhasznaloId);
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AKivalsztottTipusuCimMarFellettveve);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var azonosTipusuCimekSzama = felhasznalo.Cim.Count(x => !x.Torolt && x.CimTipusa == adat.CimTipus && x.GondviseloId == 0);
|
|
|
|
if (azonosTipusuCimekSzama == 0)
|
|
{
|
|
cimDal.Insert(FelhasznaloCim);
|
|
UpdateCimKovTanev(h, kovTanevId, adat.FelhasznaloId);
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AKivalsztottTipusuCimMarFellettveve);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
cimDal.Insert(FelhasznaloCim);
|
|
cimDal.AddFelhasznaloCim(felhasznalo, FelhasznaloCim);
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
private void SetFelhasznaloCimtDataForUpdate(ICim alkalmazottCim, FelhasznaloElerhetosegCimCO adat, bool isKirSzinkron)
|
|
{
|
|
if (isKirSzinkron)
|
|
{
|
|
alkalmazottCim.IranyitoSzam = adat.Iranyitoszam ?? alkalmazottCim.IranyitoSzam;
|
|
alkalmazottCim.Varos = adat.HelysegNev ?? alkalmazottCim.Varos;
|
|
alkalmazottCim.Kozterulet = adat.KozteruletNev ?? alkalmazottCim.Kozterulet;
|
|
alkalmazottCim.KozteruletJellegeNev = adat.KozteruletTipusNev ?? alkalmazottCim.KozteruletJellegeNev;
|
|
alkalmazottCim.Hazszam = adat.Hazszam ?? alkalmazottCim.Hazszam;
|
|
alkalmazottCim.Emelet = adat.Emelet ?? alkalmazottCim.Emelet;
|
|
alkalmazottCim.Ajto = adat.Ajto ?? alkalmazottCim.Ajto;
|
|
alkalmazottCim.CimTipusa = adat.CimTipus.Value;
|
|
alkalmazottCim.Orszag = adat.Orszag.Value;
|
|
alkalmazottCim.Alapertelmezett = adat.Alapertelmezett;
|
|
}
|
|
else
|
|
{
|
|
alkalmazottCim.IranyitoSzam = adat.Iranyitoszam;
|
|
alkalmazottCim.Varos = adat.HelysegNev;
|
|
alkalmazottCim.Kozterulet = adat.KozteruletNev;
|
|
alkalmazottCim.KozteruletJellegeNev = adat.KozteruletTipusNev;
|
|
alkalmazottCim.Hazszam = adat.Hazszam;
|
|
alkalmazottCim.Emelet = adat.Emelet;
|
|
alkalmazottCim.Ajto = adat.Ajto;
|
|
alkalmazottCim.CimTipusa = adat.CimTipus.Value;
|
|
alkalmazottCim.Orszag = adat.Orszag.Value;
|
|
alkalmazottCim.Alapertelmezett = adat.Alapertelmezett;
|
|
}
|
|
}
|
|
|
|
public bool GetFirstCimByTipus(CimTipusEnum cimTipusEnum, int felhasznaloId, out int cimId)
|
|
{
|
|
int outCimId = 0;
|
|
|
|
bool hasCim = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznaloDal = h.Felhasznalo();
|
|
IFelhasznalo felhasznalo = felhasznaloDal.Get(felhasznaloId);
|
|
IReadOnlyList<ICim> cimLista = felhasznalo.Cim;
|
|
|
|
if (cimLista.Any(x => !x.Torolt && x.CimTipusa == (int)cimTipusEnum))
|
|
{
|
|
outCimId = cimLista.Where(x => !x.Torolt && x.CimTipusa == (int)cimTipusEnum).Select(x => x.ID).First();
|
|
return true;
|
|
}
|
|
|
|
outCimId = 0;
|
|
return false;
|
|
});
|
|
|
|
cimId = outCimId;
|
|
return true;
|
|
}
|
|
|
|
public void FelhasznaloElerhetosegEmailMentese(FelhasznaloElerhetosegEmailCO adat, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Email();
|
|
if (adat.Alapertelmezett)
|
|
{
|
|
dal.SetAlapertelmezett(adat.FelhasznaloId, FelhasznaloId, TanevId);
|
|
}
|
|
|
|
IEmail dto;
|
|
if (adat.ID.HasValue && adat.ID.Value > 0)
|
|
{
|
|
dto = dal.Get(adat.ID.Value);
|
|
}
|
|
else
|
|
{
|
|
dto = dal.Get();
|
|
dto.TanevId = TanevId;
|
|
}
|
|
|
|
dto.EmailCim = adat.EmailCim;
|
|
dto.EmailTipusa = adat.EmailTipusa;
|
|
dto.Alapertelmezett = adat.Alapertelmezett;
|
|
dto.FelhasznaloId = adat.FelhasznaloId;
|
|
|
|
if (adat.ID.HasValue && adat.ID.Value > 0)
|
|
{
|
|
dal.Update(dto);
|
|
}
|
|
else
|
|
{
|
|
dal.Insert(dto);
|
|
}
|
|
|
|
//entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda
|
|
if (kovTanevId.HasValue && kovTanevId != TanevId)
|
|
{
|
|
h.Felhasznalo().FollowUpFelhasznaloEmail(IntezmenyId, TanevId, kovTanevId.Value, adat.FelhasznaloId);
|
|
}
|
|
});
|
|
}
|
|
|
|
private void UpdateCimKovTanev(IDalHandler h, int? kovTanevId, int felhasznaloId)
|
|
{
|
|
//entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda
|
|
if (felhasznaloId > 0 && kovTanevId.HasValue && kovTanevId != TanevId)
|
|
{
|
|
h.Felhasznalo().FollowUpCim(IntezmenyId, TanevId, kovTanevId.Value, felhasznaloId);
|
|
}
|
|
}
|
|
|
|
public void FelhasznaloElerhetosegTelMentese(FelhasznaloElerhetosegTelCO adat, int? kovTanevId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Telefon();
|
|
if (adat.Alapertelmezett)
|
|
{
|
|
dal.SetTelefonAlapertelmezett(adat.FelhasznaloId, FelhasznaloId, TanevId);
|
|
}
|
|
|
|
ITelefon dto;
|
|
if (adat.ID.HasValue && adat.ID.Value > 0)
|
|
{
|
|
dto = dal.Get(adat.ID.Value);
|
|
}
|
|
else
|
|
{
|
|
dto = dal.Get();
|
|
}
|
|
|
|
dto.TelefonSzam = adat.Telefonszam;
|
|
dto.TelefonTipusa = adat.TelefonTipusa;
|
|
dto.Leiras = adat.Leiras;
|
|
dto.FelhasznaloId = adat.FelhasznaloId;
|
|
dto.TanevId = TanevId;
|
|
dto.Alapertelmezett = adat.Alapertelmezett;
|
|
|
|
if (adat.ID.HasValue && adat.ID.Value > 0)
|
|
{
|
|
dal.Update(dto);
|
|
}
|
|
else
|
|
{
|
|
dal.Insert(dto);
|
|
}
|
|
|
|
//entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda
|
|
if (kovTanevId.HasValue && kovTanevId != TanevId)
|
|
{
|
|
h.Felhasznalo().FollowUpTelefon(IntezmenyId, TanevId, kovTanevId.Value, adat.FelhasznaloId);
|
|
}
|
|
});
|
|
}
|
|
public bool HasFelhasznaloAlapertelmezettTelefon(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznaloEntity = h.Felhasznalo().Get(felhasznaloId);
|
|
return felhasznaloEntity.Telefon.Any(x => x.Alapertelmezett);
|
|
});
|
|
}
|
|
|
|
public bool HasFelhasznaloAlapertelmezettEmail(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznaloEntity = h.Alkalmazott().Get(felhasznaloId);
|
|
|
|
return felhasznaloEntity.Email.Any(x => x.Alapertelmezett);
|
|
});
|
|
}
|
|
|
|
public KirFelhasznaloElerhetosegek GetFelhasznaloElerhetoseg(int felhasznaloId, bool isTanulo)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IFelhasznaloDal dal = h.Felhasznalo();
|
|
return dal.GetFelhasznaloElerhetoseg(felhasznaloId, TanevId, isTanulo);
|
|
});
|
|
}
|
|
|
|
public string GetFelhasznaloEgyediAzonosito(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IFelhasznaloDal dal = h.Felhasznalo();
|
|
return dal.GetFelhasznaloEgyediAzonosito(IntezmenyId, felhasznaloId);
|
|
});
|
|
}
|
|
|
|
public (string EgyediAzonosito, string Nev) GetGondviseloAdat(int gondviseloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var gondviselo = h.Gondviselo().Get(gondviseloId);
|
|
return (gondviselo.EgyediAzonosito, gondviselo.Nev);
|
|
});
|
|
}
|
|
public void DeleteFelhasznaloBelepes(int felhasznaloId, bool isGondviselo)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
if (!isGondviselo)
|
|
{
|
|
var felhDal = h.Felhasznalo();
|
|
var belepesId = felhDal.Get(felhasznaloId).FelhasznaloBelepes.Where(x => x.Gondviselo == null && x.Torolt == false).FirstOrDefault().ID;
|
|
var belepesDal = h.FelhasznaloBelepes();
|
|
belepesDal.Delete(belepesId);
|
|
}
|
|
else
|
|
{
|
|
var gvDal = h.Gondviselo();
|
|
var belepesId = gvDal.Get(felhasznaloId).FelhasznaloBelepes.Where(x => x.Torolt == false).FirstOrDefault().ID;
|
|
var belepesDal = h.FelhasznaloBelepes();
|
|
belepesDal.Delete(belepesId);
|
|
}
|
|
});
|
|
}
|
|
|
|
public ElerhetosegekModCO GetElerhetosegek(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznalo = h.Felhasznalo().Get(felhasznaloId);
|
|
|
|
var telefonszamok = felhasznalo.Telefon.Where(t => t.Torolt == false && t.Gondviselo == null).Select(t => new TelefonElerhetosegCo
|
|
{
|
|
Alapertelmezett = t.Alapertelmezett,
|
|
Telefonszam = t.TelefonSzam,
|
|
Tipus = t.TelefonTipusa,
|
|
IsPublic = t.IsPublic,
|
|
Id = t.ID,
|
|
Status = ElerhetosegStatusEnum.Saved
|
|
}).ToList();
|
|
|
|
var emailCimek = felhasznalo.Email.Where(e => e.Torolt == false && e.Gondviselo == null).Select(e => new EmailElerhetosegCo
|
|
{
|
|
Alapertelmezett = e.Alapertelmezett,
|
|
EmailCim = e.EmailCim,
|
|
Tipus = e.EmailTipusa,
|
|
IsPublic = e.IsPublic,
|
|
Id = e.ID,
|
|
Status = ElerhetosegStatusEnum.Saved
|
|
}).ToList();
|
|
|
|
var elerhetosegek = new ElerhetosegekModCO
|
|
{
|
|
Telefon = telefonszamok,
|
|
Email = emailCimek
|
|
};
|
|
return elerhetosegek;
|
|
});
|
|
}
|
|
|
|
public ElerhetosegekModCO SaveElerhetosegek(ElerhetosegekModCO co, int felhasznaloId)
|
|
{
|
|
var newDbElerhetosegek = new ElerhetosegekModCO();
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznaloDal = h.Felhasznalo();
|
|
var emailDal = h.Email();
|
|
var telefonDal = h.Telefon();
|
|
|
|
var felhasznalo = felhasznaloDal.Get(felhasznaloId);
|
|
|
|
foreach (var deletedEmailCo in co.Email.Where(e => e.Status == ElerhetosegStatusEnum.Deleted && e.Id != null))
|
|
{
|
|
var deletedEmail = felhasznalo.Email.Single(e => e.ID == deletedEmailCo.Id.Value);
|
|
emailDal.Delete(deletedEmail);
|
|
}
|
|
|
|
foreach (var updatedEmailCo in co.Email.Where(e => e.Status == ElerhetosegStatusEnum.Saved).OrderBy(x => x.Alapertelmezett))
|
|
{
|
|
var updatedEmail = felhasznalo.Email.Single(e => e.ID == updatedEmailCo.Id.Value);
|
|
updatedEmail.EmailCim = updatedEmailCo.EmailCim;
|
|
updatedEmail.Alapertelmezett = updatedEmailCo.Alapertelmezett;
|
|
emailDal.Update(updatedEmail);
|
|
}
|
|
|
|
foreach (var newEmailCo in co.Email.Where(e => e.Status == ElerhetosegStatusEnum.New))
|
|
{
|
|
var newEmail = emailDal.Get();
|
|
newEmail.EmailCim = newEmailCo.EmailCim;
|
|
newEmail.EmailTipusa = newEmailCo.Tipus;
|
|
newEmail.TanevId = TanevId;
|
|
newEmail.Alapertelmezett = newEmailCo.Alapertelmezett;
|
|
newEmail.IsPublic = newEmailCo.IsPublic;
|
|
newEmail.FelhasznaloId = felhasznalo.ID;
|
|
|
|
emailDal.Insert(newEmail);
|
|
emailDal.AddFelhasznaloEmail(felhasznalo, newEmail);
|
|
|
|
newDbElerhetosegek.Email.Add(new EmailElerhetosegCo
|
|
{
|
|
Id = newEmail.ID,
|
|
TextBoxId = newEmailCo.TextBoxId
|
|
});
|
|
}
|
|
|
|
foreach (var deletedTelefonCo in co.Telefon.Where(t => t.Status == ElerhetosegStatusEnum.Deleted && t.Id != null))
|
|
{
|
|
var deletedtelefon = felhasznalo.Telefon.Single(t => t.ID == deletedTelefonCo.Id.Value);
|
|
telefonDal.Delete(deletedtelefon);
|
|
}
|
|
|
|
foreach (var updatedTelefonCo in co.Telefon.Where(t => t.Status == ElerhetosegStatusEnum.Saved).OrderBy(x => x.Alapertelmezett))
|
|
{
|
|
var updatedTelefon = felhasznalo.Telefon.Single(t => t.ID == updatedTelefonCo.Id.Value);
|
|
updatedTelefon.TelefonSzam = updatedTelefonCo.Telefonszam;
|
|
updatedTelefon.Alapertelmezett = updatedTelefonCo.Alapertelmezett;
|
|
telefonDal.Update(updatedTelefon);
|
|
}
|
|
|
|
foreach (var newTelefonCo in co.Telefon.Where(t => t.Status == ElerhetosegStatusEnum.New))
|
|
{
|
|
var newTelefon = telefonDal.Get();
|
|
newTelefon.TelefonSzam = newTelefonCo.Telefonszam;
|
|
newTelefon.TelefonTipusa = newTelefonCo.Tipus;
|
|
newTelefon.TanevId = TanevId;
|
|
newTelefon.Alapertelmezett = newTelefonCo.Alapertelmezett;
|
|
newTelefon.IsPublic = newTelefonCo.IsPublic;
|
|
newTelefon.FelhasznaloId = felhasznalo.ID;
|
|
|
|
telefonDal.Insert(newTelefon);
|
|
telefonDal.AddFelhasznaloTelefon(felhasznalo, newTelefon);
|
|
|
|
newDbElerhetosegek.Telefon.Add(new TelefonElerhetosegCo
|
|
{
|
|
Id = newTelefon.ID,
|
|
TextBoxId = newTelefonCo.TextBoxId
|
|
});
|
|
}
|
|
|
|
felhasznaloDal.Update(felhasznalo);
|
|
});
|
|
return newDbElerhetosegek;
|
|
}
|
|
|
|
public (string szuletesiNev, string oktatasiAzonosito, string emailCim) GetUserDetailsForElearning(int felhasznaloId, int? gondviseloId, bool isGondviselo, bool isTanulo)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
if (isGondviselo && gondviseloId.HasValue)
|
|
{
|
|
var oGondviselo = h.Gondviselo().Get(gondviseloId.Value);
|
|
var emailGondviselo = oGondviselo.Email.SingleOrDefault(x => !x.Torolt && !x.IsHibasanMegadva && x.Alapertelmezett)?.EmailCim;
|
|
|
|
if (emailGondviselo != null)
|
|
{
|
|
return (string.Empty, string.Empty, emailGondviselo);
|
|
}
|
|
|
|
return (string.Empty, string.Empty, string.Empty);
|
|
}
|
|
|
|
if (isTanulo)
|
|
{
|
|
var oTanulo = h.Felhasznalo().Get(felhasznaloId);
|
|
var emailListTanulo = oTanulo.Email.Where(x => !x.Torolt && !x.IsHibasanMegadva);
|
|
|
|
if (emailListTanulo.Any(x => x.Alapertelmezett))
|
|
{
|
|
return (oTanulo.SzuletesiNev, oTanulo.OktatasiAzonosito, emailListTanulo.First(x => x.Alapertelmezett).EmailCim);
|
|
}
|
|
if (emailListTanulo.Any())
|
|
{
|
|
return (oTanulo.SzuletesiNev, oTanulo.OktatasiAzonosito, emailListTanulo.First().EmailCim);
|
|
}
|
|
return (oTanulo.SzuletesiNev, oTanulo.OktatasiAzonosito, string.Empty);
|
|
}
|
|
|
|
var oFelhasznalo = h.Felhasznalo().Get(felhasznaloId);
|
|
var emailListFelhasznalo = oFelhasznalo.Email.Where(x => !x.Torolt && !x.IsHibasanMegadva);
|
|
|
|
if (emailListFelhasznalo.Any(x => x.IsPublic))
|
|
{
|
|
return (oFelhasznalo.SzuletesiNev, oFelhasznalo.OktatasiAzonosito, emailListFelhasznalo.First(x => x.IsPublic).EmailCim);
|
|
}
|
|
if (emailListFelhasznalo.Any(x => x.EmailTipusa == (int)EmailTipusEnum.Hivatalos))
|
|
{
|
|
return (oFelhasznalo.SzuletesiNev, oFelhasznalo.OktatasiAzonosito, emailListFelhasznalo.First(x => x.EmailTipusa == (int)EmailTipusEnum.Hivatalos).EmailCim);
|
|
}
|
|
return (oFelhasznalo.SzuletesiNev, oFelhasznalo.OktatasiAzonosito, string.Empty);
|
|
});
|
|
}
|
|
|
|
public (string oktatasiAzonosito, string emailCim, string elotag, string vezeteknev, string utonev) GetUserDetailsForKotVall()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var oFelhasznalo = h.Felhasznalo().Get(FelhasznaloId);
|
|
var emailListFelhasznalo = oFelhasznalo.Email.Where(x => !x.Torolt && !x.IsHibasanMegadva);
|
|
var emailCim = string.Empty;
|
|
|
|
if (emailListFelhasznalo.Any(x => x.Alapertelmezett))
|
|
{
|
|
emailCim = emailListFelhasznalo.First(x => x.Alapertelmezett).EmailCim;
|
|
}
|
|
else if (emailListFelhasznalo.Any(x => x.IsPublic))
|
|
{
|
|
emailCim = emailListFelhasznalo.First(x => x.IsPublic).EmailCim;
|
|
}
|
|
else if (emailListFelhasznalo.Any(x => x.EmailTipusa == (int)EmailTipusEnum.Hivatalos))
|
|
{
|
|
emailCim = emailListFelhasznalo.First(x => x.EmailTipusa == (int)EmailTipusEnum.Hivatalos).EmailCim;
|
|
}
|
|
|
|
return (oFelhasznalo.OktatasiAzonosito, emailCim, oFelhasznalo.Elotag, oFelhasznalo.Vezeteknev, oFelhasznalo.Utonev);
|
|
|
|
});
|
|
}
|
|
|
|
|
|
public string GetFunkcioTeruletSAPKod(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IFelhasznaloDal dal = h.Felhasznalo();
|
|
return dal.GetFunkcioTeruletSAPKod(felhasznaloId, TanevId);
|
|
});
|
|
}
|
|
|
|
public void SetProfile(string profileXml)
|
|
{
|
|
var request = new XmlDocument();
|
|
request.LoadXml(profileXml);
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var user = dal.Get(UserContext.Instance.FelhasznaloId);
|
|
dal.UpdateProfile(user, profileXml);
|
|
});
|
|
}
|
|
|
|
public byte[] ProfilkepMentese(byte[] foto)
|
|
{
|
|
if (foto == null || foto.Length == 0)
|
|
{
|
|
throw new Exception("Nincs feltöltve fénykép!");
|
|
}
|
|
|
|
// Kép méretének csökkentése úgy, hogy beleférjen egy XYxXYpx-es négyzetbe, de a képarány ne módosuljon
|
|
using (MemoryStream myMemStream = new MemoryStream(foto))
|
|
using (Image fullsizeImage = Image.FromStream(myMemStream))
|
|
{
|
|
int sizeLimit = 150; //pixel
|
|
int width = fullsizeImage.Width;
|
|
int height = fullsizeImage.Height;
|
|
|
|
if ((width >= height ? width : height) > sizeLimit)
|
|
{
|
|
double scaleFactor = 1;
|
|
|
|
int newWidth = 0;
|
|
int newHeight = 0;
|
|
|
|
if (width >= height)
|
|
{
|
|
scaleFactor = (double)(sizeLimit) / width;
|
|
}
|
|
else
|
|
{
|
|
scaleFactor = (double)(sizeLimit) / height;
|
|
}
|
|
|
|
newWidth = (int)Math.Round(width * scaleFactor, 0);
|
|
newHeight = (int)Math.Round(height * scaleFactor, 0);
|
|
|
|
using (Image newImage = fullsizeImage.GetThumbnailImage(newWidth, newHeight, null, IntPtr.Zero))
|
|
using (MemoryStream myResult = new MemoryStream())
|
|
{
|
|
newImage.Save(myResult, System.Drawing.Imaging.ImageFormat.Jpeg); //Or whatever format you want.
|
|
foto = myResult.ToArray();
|
|
}
|
|
}
|
|
}
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
|
|
var felhasznalo = dal.Get(FelhasznaloId);
|
|
|
|
felhasznalo.ProfilKep = foto;
|
|
|
|
dal.Update(felhasznalo, true);
|
|
});
|
|
|
|
return foto;
|
|
}
|
|
|
|
public byte[] ProfilKepBajtTomb()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var felhasznalo = h.Felhasznalo().Get(FelhasznaloId);
|
|
|
|
return felhasznalo.ProfilKep;
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// Visszaadja a kép elérését (src)
|
|
///
|
|
/// Ha van feltöltve képe akkor Base64 stringként, egyébként az alapértelmezett kép elérési útját
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string ProfileKep()
|
|
{
|
|
return ProfileKep(null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Visszaadja az alapértelmezett profilkép elérési útvonalát
|
|
/// </summary>
|
|
/// <param name="csakUtvonal"></param>
|
|
/// <returns></returns>
|
|
public string AlapertelmezettProfileKep()
|
|
{
|
|
var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);
|
|
return urlHelper.Content("~/App_Themes/New_Common_Images/noprofilepic.png");
|
|
}
|
|
|
|
/// <summary>
|
|
/// Visszaadja a kép elérését (src)
|
|
///
|
|
/// Ha null tömb van átadva és van feltöltve képe akkor Base64 stringként
|
|
/// Ha a tömb nem null és nagyobb mint 0 akkor abból csinál base64 stringet
|
|
/// Egyébként az alapértelmezett kép elérési útját
|
|
/// </summary>
|
|
/// <param name="marMegvanAKep">Már meglévő bytetömb, hogy ne Adatbázisból kelljen kikérni</param>
|
|
/// <returns></returns>
|
|
public string ProfileKep(byte[] marMegvanAKep)
|
|
{
|
|
try
|
|
{
|
|
byte[] bytes;
|
|
if (marMegvanAKep == null)
|
|
{
|
|
bytes = ProfilKepBajtTomb();
|
|
}
|
|
else
|
|
{
|
|
bytes = marMegvanAKep;
|
|
}
|
|
|
|
return bytes != null && bytes.Length > 0
|
|
? "data:image/jpeg;base64," + Convert.ToBase64String(bytes, 0, bytes.Length)
|
|
: AlapertelmezettProfileKep();
|
|
}
|
|
catch
|
|
{
|
|
return AlapertelmezettProfileKep();
|
|
}
|
|
}
|
|
|
|
public List<FelhasznaloBelepesImportItemCo> GetGondviseloBelepesItemCoList(FelhasznalokCO searchCo)
|
|
{
|
|
var result = new List<FelhasznaloBelepesImportItemCo>();
|
|
|
|
var ds = FelhasznaloKereses(searchCo, false);
|
|
foreach (var row in ds.Tables[0].AsEnumerable())
|
|
{
|
|
result.Add(new FelhasznaloBelepesImportItemCo(TanevId)
|
|
{
|
|
NeveImportData = SDAConvert.ToString(row["Tanulo"]).ReplaceMultipleSpacesAndTrim(),
|
|
OktatasiAzonositoImportData = SDAConvert.ToString(row["TanuloOktatasiAzonosito"]).ReplaceMultipleSpacesAndTrim(),
|
|
SzuletesiDatumaImportData = SDAConvert.ToDateTime(row["TanuloSzuletesiDatum"])?.ToString(Constants.ToStringPattern.HungarianDate),
|
|
GondviseloNeveImportData = SDAConvert.ToString(row["FelhasznaloNyomtatasiNeve"]).ReplaceMultipleSpacesAndTrim(),
|
|
GondviseloRokonsagiFokaImportData = SDAConvert.ToInt32(row["GondviseloRokonsagiFokId"]).GetDisplayName<RokonsagiFokEnum>(TanevId),
|
|
FelhasznaloNeveImportData = SDAConvert.ToString(row["FelhasznaloNev"]).ReplaceMultipleSpacesAndTrim(),
|
|
TipusEnum = Enums.ManualEnums.FelhasznaloBelepesExportImportTipusEnum.Gondviselo,
|
|
});
|
|
}
|
|
|
|
return result.Where(x => x.TipusEnum == Enums.ManualEnums.FelhasznaloBelepesExportImportTipusEnum.Gondviselo)
|
|
.OrderBy(x => x.NeveImportData)
|
|
.ToList();
|
|
}
|
|
|
|
public Dictionary<string, IList<string>> GetGondviseloBelepesiAdatokNelkulDropDownColumnSourceDictionary()
|
|
{
|
|
var dropDownColumnSourceDictionary = new Dictionary<string, IList<string>>();
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
|
{
|
|
var connectionType = new DalHandlerConnectionType(ConnectionType, dalHandler);
|
|
|
|
var helper = new ImportExportHelper(connectionType);
|
|
dropDownColumnSourceDictionary.Add(ImportExportFelhasznaloBelepesResource.ImportHeaderNameTanuloNeve, helper.GetTanuloList());
|
|
dropDownColumnSourceDictionary.Add(ImportExportFelhasznaloBelepesResource.ImportHeaderNameGondviseloNeve, helper.GetGondviseloList());
|
|
|
|
dropDownColumnSourceDictionary.Add(ImportExportFelhasznaloBelepesResource.ImportHeaderNameGondviseloRokonsagiFoka, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.RokonsagiFok));
|
|
});
|
|
|
|
return dropDownColumnSourceDictionary;
|
|
}
|
|
|
|
public EgyhaztartasbanElokCo GetEgyhaztartasbanElokData(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var rows = new List<EgyhaztartasbanElokRowCo>();
|
|
var felhasznalo = h.Felhasznalo().Get(felhasznaloId);
|
|
rows = felhasznalo.EgyHaztartasbanElok.Where(e => e.Torolt == false).Select(e => new EgyhaztartasbanElokRowCo
|
|
{
|
|
ID = e.ID,
|
|
Nev = e.Nev,
|
|
AnyjaNev = e.AnyjaNeve,
|
|
SzuletesiIdo = e.SzuletesiIdo,
|
|
SzuletesiHely = e.SzuletesiHely,
|
|
Taj = e.TajSzam,
|
|
RokonsagiFok = e.RokonsagiFokId,
|
|
Email = e.Email,
|
|
Telefon = e.Telefon
|
|
}).ToList();
|
|
|
|
var co = new EgyhaztartasbanElokCo { Sorok = rows };
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public void SaveEgyhaztartasbanElokData(EgyhaztartasbanElokCo co, int felhasznaloId, int? gondviseloId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
foreach (var item in co.Sorok)
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
|
|
if (item.ID.HasValue && item.isDeleted)
|
|
{
|
|
dal.DeleteEgyhaztartasbanElok(item.ID.Value);
|
|
}
|
|
else if (!item.ID.HasValue && !item.isDeleted)
|
|
{
|
|
var data = dal.GetEgyhaztartasbanElok();
|
|
|
|
data.Nev = item.Nev;
|
|
data.AnyjaNeve = item.AnyjaNev;
|
|
data.SzuletesiIdo = item.SzuletesiIdo.Value;
|
|
data.SzuletesiHely = item.SzuletesiHely;
|
|
data.TajSzam = item.Taj;
|
|
data.RokonsagiFokId = item.RokonsagiFok.Value;
|
|
data.Email = item.Email;
|
|
data.Telefon = item.Telefon;
|
|
data.RogzitoFelhasznaloId = felhasznaloId;
|
|
if (gondviseloId.HasValue)
|
|
{
|
|
data.RogzitoGondviseloId = gondviseloId.Value;
|
|
}
|
|
|
|
dal.InsertEgyhaztartasbanElok(data);
|
|
}
|
|
else
|
|
{
|
|
var data = dal.GetEgyhaztartasbanElok(item.ID.Value);
|
|
|
|
data.Nev = item.Nev;
|
|
data.AnyjaNeve = item.AnyjaNev;
|
|
data.SzuletesiIdo = item.SzuletesiIdo.Value;
|
|
data.SzuletesiHely = item.SzuletesiHely;
|
|
data.TajSzam = item.Taj;
|
|
data.RokonsagiFokId = item.RokonsagiFok.Value;
|
|
data.Email = item.Email;
|
|
data.Telefon = item.Telefon;
|
|
|
|
dal.FullUpdateEgyhaztartasbanElok(data);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public ProjektFelhasznaloCo GetProjektFelhasznaloData()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var userData = dal.Get(FelhasznaloId);
|
|
|
|
return new ProjektFelhasznaloCo()
|
|
{
|
|
NyomtatasiNev = userData.NyomtatasiNev,
|
|
OktatasiAzonosito = userData.OktatasiAzonosito,
|
|
IdpEgyediAzonosito = userData.IdpEgyediAzonosito.ToString()
|
|
};
|
|
});
|
|
}
|
|
|
|
public (string NyomtatasiNev, string OktatasiAzonosito) GetFelhasznaloNevOktAzonById(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var felhasznalo = dal.Get(felhasznaloId);
|
|
|
|
return (felhasznalo.NyomtatasiNev, felhasznalo.OktatasiAzonosito);
|
|
});
|
|
}
|
|
|
|
public XmlDocument GetUserProfileDocument(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var userProfile = h.Felhasznalo().GetUserProfile(userId);
|
|
var xmlDocument = new XmlDocument();
|
|
|
|
if (!string.IsNullOrWhiteSpace(userProfile))
|
|
{
|
|
xmlDocument.LoadXml(userProfile);
|
|
if (!xmlDocument.InnerXml.Trim().StartsWith("<UserProfile", StringComparison.Ordinal))
|
|
{
|
|
xmlDocument.InnerXml = string.Empty;
|
|
}
|
|
}
|
|
|
|
return xmlDocument;
|
|
});
|
|
}
|
|
|
|
public void SaveUserProfileDocument(XmlDocument xmlDocument, int userId)
|
|
{
|
|
var xml = xmlDocument.InnerXml;
|
|
|
|
if (!string.IsNullOrWhiteSpace(xml))
|
|
{
|
|
var request = new XmlDocument();
|
|
request.LoadXml(xml);
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo();
|
|
var user = dal.Get(userId);
|
|
dal.UpdateProfile(user, xml);
|
|
});
|
|
}
|
|
}
|
|
|
|
public bool GetProfilTipus(int userId, string profilTipus)
|
|
{
|
|
var xmlDocument = GetUserProfileDocument(userId);
|
|
var node = xmlDocument.SelectSingleNode("UserProfile/" + profilTipus);
|
|
|
|
if (node == null)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return bool.TryParse(node.InnerText, out var result) && result;
|
|
}
|
|
|
|
public void SetProfilTipus(int userId, string profilTipus, bool ertek)
|
|
{
|
|
var xmlDocument = GetUserProfileDocument(userId);
|
|
|
|
if (xmlDocument.SelectSingleNode("UserProfile") == null)
|
|
{
|
|
var el = xmlDocument.CreateElement("UserProfile");
|
|
xmlDocument.AppendChild(el);
|
|
}
|
|
if (xmlDocument.SelectSingleNode("UserProfile/" + profilTipus) == null)
|
|
{
|
|
xmlDocument.SelectSingleNode("UserProfile").AppendChild(xmlDocument.CreateNode(XmlNodeType.Element, profilTipus, string.Empty));
|
|
}
|
|
|
|
var node = xmlDocument.SelectSingleNode("UserProfile/" + profilTipus);
|
|
node.InnerXml = ertek.ToString();
|
|
|
|
SaveUserProfileDocument(xmlDocument, userId);
|
|
}
|
|
|
|
public string GetBankszamlaVezetoBankNeve(string bankszamlaSzam)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
return h.Felhasznalo().GetBankszamlaVezetoBankNeve(IntezmenyAzonosito, bankszamlaSzam);
|
|
});
|
|
}
|
|
|
|
}
|
|
}
|