init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
409
Kreta.BusinessLogic/Helpers/TanuloErtekelesMondatbankHelper.cs
Normal file
409
Kreta.BusinessLogic/Helpers/TanuloErtekelesMondatbankHelper.cs
Normal file
|
@ -0,0 +1,409 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccess.Interfaces;
|
||||
using Kreta.DataAccessManual;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.BusinessLogic.Helpers
|
||||
{
|
||||
public class TanuloErtekelesMondatbankHelper : LogicBase
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public const int MagatartasTantargyId = -2;
|
||||
|
||||
public const int SzorgalomTantargyId = -1;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public TanuloErtekelesMondatbankHelper(IConnectionType connectionType) : base(connectionType) { }
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
public DataSet GetTanuloErtekelesMondatbankGrid(TanuloErtekelesMondatbankSearchCO tanuloErtekelesMondatbankSearchCO)
|
||||
{
|
||||
var evfolyamTipusIds = tanuloErtekelesMondatbankSearchCO.EvfolyamTipusIdList.Count > 0 ? string.Join(",", tanuloErtekelesMondatbankSearchCO.EvfolyamTipusIdList) : null;
|
||||
var tanuloErtekelesTipusIds = tanuloErtekelesMondatbankSearchCO.TanuloErtekelesTipusIdList.Count > 0 ? string.Join(",", tanuloErtekelesMondatbankSearchCO.TanuloErtekelesTipusIdList) : null;
|
||||
var tantargyTipusIdJSON = tanuloErtekelesMondatbankSearchCO.TantargyIdList.Count > 0 ? JsonConvert.SerializeObject(tanuloErtekelesMondatbankSearchCO.TantargyIdList) : null;
|
||||
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
DataSet dataSet = h.TanuloErtekelesMondatbankDal(GridParameters).GetTanuloErtekelesMondatbankSzuresData(TanevId, evfolyamTipusIds, tanuloErtekelesTipusIds, tantargyTipusIdJSON, tanuloErtekelesMondatbankSearchCO.RovidNev, tanuloErtekelesMondatbankSearchCO.Szoveg);
|
||||
foreach (DataRow dataRow in dataSet.Tables[0].Rows.Cast<DataRow>().ToList())
|
||||
{
|
||||
dataRow["Szoveg"] = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(dataRow["Szoveg"].ToString());
|
||||
}
|
||||
return dataSet;
|
||||
});
|
||||
}
|
||||
|
||||
public DataSet GetMondatbankSelectListData(int tanuloErtekelesTipusId, int tipusId, int? tantargyId, int? evfolyamTipusId)
|
||||
{
|
||||
DataSet dataSet = new DataSet();
|
||||
|
||||
DataTable dataTable = new DataTable();
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupId", typeof(int)));
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupRovidNev", typeof(string)));
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupSzoveg", typeof(string)));
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupSzovegNemet", typeof(string)));
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupSzovegHorvat", typeof(string)));
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupSzovegRoman", typeof(string)));
|
||||
dataTable.Columns.Add(new DataColumn("MondatbankSelectPopupSzovegSzerb", typeof(string)));
|
||||
|
||||
List<TanuloErtekelesMondatbankItemCo> tanuloErtekelesMondatbankItemCos = GetTanuloErtekelesMondatbankCoList(tanuloErtekelesTipusId, tipusId, tantargyId, evfolyamTipusId);
|
||||
foreach (TanuloErtekelesMondatbankItemCo item in tanuloErtekelesMondatbankItemCos)
|
||||
{
|
||||
DataRow dataRow = dataTable.NewRow();
|
||||
dataRow["MondatbankSelectPopupId"] = item.Id;
|
||||
dataRow["MondatbankSelectPopupRovidNev"] = item.RovidNev;
|
||||
dataRow["MondatbankSelectPopupSzoveg"] = item.Szoveg;
|
||||
dataRow["MondatbankSelectPopupSzovegNemet"] = item.SzovegNemet;
|
||||
dataRow["MondatbankSelectPopupSzovegHorvat"] = item.SzovegHorvat;
|
||||
dataRow["MondatbankSelectPopupSzovegRoman"] = item.SzovegRoman;
|
||||
dataRow["MondatbankSelectPopupSzovegSzerb"] = item.SzovegSzerb;
|
||||
dataTable.Rows.Add(dataRow);
|
||||
}
|
||||
|
||||
dataSet.Tables.Add(dataTable);
|
||||
return dataSet;
|
||||
}
|
||||
|
||||
public List<TanuloErtekelesMondatbankItemCo> GetTanuloErtekelesMondatbankCoList(int? tanuloErtekelesTipusId = null, int? tipusId = null, int? tantargyId = null, int? evfolyamTipusId = null)
|
||||
{
|
||||
DataSet dataSet = null;
|
||||
List<int> nemzetiDokumentumNyelvek = null;
|
||||
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
||||
{
|
||||
dataSet = dalHandler.TanuloErtekelesMondatbankDal(GridParameters).GetTanuloErtekelesMondatbankData(TanevId, tanuloErtekelesTipusId, tipusId, tantargyId, evfolyamTipusId);
|
||||
nemzetiDokumentumNyelvek = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, dalHandler)).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
||||
});
|
||||
|
||||
var result = new List<TanuloErtekelesMondatbankItemCo>();
|
||||
foreach (DataRow row in dataSet.Tables[0].Rows)
|
||||
{
|
||||
int id = SDAConvert.ToInt32(row["Id"]);
|
||||
int? nyelvId = SDAConvert.ToNullableInt32(row["NyelvId"]);
|
||||
string szovegNyelv = SDAConvert.ToString(row["SzovegNyelv"]).ReplaceMultipleSpacesAndTrim();
|
||||
TanuloErtekelesMondatbankItemCo item = result.SingleOrDefault(x => x.Id == id);
|
||||
if (item == null)
|
||||
{
|
||||
string rovidNev = SDAConvert.ToString(row["RovidNev"]).ReplaceMultipleSpacesAndTrim();
|
||||
string szoveg = SDAConvert.ToString(row["Szoveg"]).ReplaceMultipleSpacesAndTrim();
|
||||
string tanuloErtekelesTipusNev = !string.IsNullOrWhiteSpace(SDAConvert.ToString(row["TanuloErtekelesTipusId_DNAME"])) ? SDAConvert.ToString(row["TanuloErtekelesTipusId_DNAME"]) : CommonResource.Mind;
|
||||
string tantargyNev = !string.IsNullOrWhiteSpace(SDAConvert.ToString(row["TantargyNev"]).ReplaceMultipleSpacesAndTrim()) ? SDAConvert.ToString(row["TantargyNev"]).ReplaceMultipleSpacesAndTrim() : CommonResource.Mind;
|
||||
string evfolyamTipusNev = !string.IsNullOrWhiteSpace(SDAConvert.ToString(row["EvfolyamTipusId_DNAME"])) ? SDAConvert.ToString(row["EvfolyamTipusId_DNAME"]) : CommonResource.Mind;
|
||||
|
||||
item = new TanuloErtekelesMondatbankItemCo
|
||||
{
|
||||
Id = id,
|
||||
RovidNev = rovidNev,
|
||||
RovidNevComparableString = rovidNev?.ToComparableString(),
|
||||
Szoveg = szoveg,
|
||||
SzovegComparableString = szoveg?.ToComparableString(),
|
||||
TanuloErtekelesTipusId = SDAConvert.ToNullableInt32(row["TanuloErtekelesTipusId"]) ?? 0,
|
||||
TanuloErtekelesTipusNev = tanuloErtekelesTipusNev,
|
||||
TanuloErtekelesTipusNevComparableString = tanuloErtekelesTipusNev?.ToComparableString(),
|
||||
TipusId = SDAConvert.ToInt32(row["TipusId"]),
|
||||
TipusNev = SDAConvert.ToString(row["TipusId_DNAME"]),
|
||||
TantargyId = SDAConvert.ToNullableInt32(row["TantargyId"]) ?? 0,
|
||||
TantargyNev = tantargyNev,
|
||||
TantargyNevComparableString = tantargyNev?.ToComparableString(),
|
||||
EvfolyamTipusId = SDAConvert.ToNullableInt32(row["EvfolyamTipusId"]) ?? 0,
|
||||
EvfolyamTipusNev = evfolyamTipusNev,
|
||||
EvfolyamTipusNevComparableString = evfolyamTipusNev?.ToComparableString(),
|
||||
Importalt = SDAConvert.ToBooleanFromTF(row["Importalt"])
|
||||
};
|
||||
result.Add(item);
|
||||
}
|
||||
|
||||
if (nemzetiDokumentumNyelvek.Any())
|
||||
{
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet) && nyelvId.IsEntityId() && nyelvId == (int)AnyanyelvEnum.nemet)
|
||||
{
|
||||
item.SzovegNemet = szovegNyelv;
|
||||
}
|
||||
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat) && nyelvId.IsEntityId() && nyelvId == (int)AnyanyelvEnum.horvat)
|
||||
{
|
||||
item.SzovegHorvat = szovegNyelv;
|
||||
}
|
||||
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman) && nyelvId.IsEntityId() && nyelvId == (int)AnyanyelvEnum.roman)
|
||||
{
|
||||
item.SzovegRoman = szovegNyelv;
|
||||
}
|
||||
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb) && nyelvId.IsEntityId() && nyelvId == (int)AnyanyelvEnum.szerb)
|
||||
{
|
||||
item.SzovegSzerb = szovegNyelv;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public TanuloErtekelesMondatbankItemCo GetTanuloErtekelesMondatbankItemById(int id)
|
||||
{
|
||||
IErtekelesMondatbank ertekelesMondatbank = null;
|
||||
TanuloErtekelesMondatbankItemCo result = null;
|
||||
|
||||
List<int> nemzetiDokumentumNyelvek = null;
|
||||
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
||||
{
|
||||
ertekelesMondatbank = dalHandler.TanuloErtekelesMondatbankDal().Get(id);
|
||||
nemzetiDokumentumNyelvek = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, dalHandler)).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
||||
result = new TanuloErtekelesMondatbankItemCo(ertekelesMondatbank, nemzetiDokumentumNyelvek, TanevId);
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public void SaveTanuloErtekelesMondatbankItem(TanuloErtekelesMondatbankItemCo co)
|
||||
{
|
||||
Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
ITanuloErtekelesMondatbankDal dal = h.TanuloErtekelesMondatbankDal();
|
||||
|
||||
bool isNew = !co.Id.IsEntityId();
|
||||
var entity = isNew ? dal.Get() : dal.Get(co.Id.Value);
|
||||
|
||||
entity.RovidNev = co.RovidNev.ReplaceMultipleSpacesAndTrim();
|
||||
string ertekelesSzovegFormazott = RichTextLogic.GetLegalHtmlString(co.Szoveg.Trim(), RichTextLogic.LegalFastReportHtmlTagList, true);
|
||||
entity.Szoveg = ertekelesSzovegFormazott;
|
||||
entity.ErtekelesTipusa = co.TanuloErtekelesTipusId;
|
||||
entity.EvfolyamTipusa = co.EvfolyamTipusId;
|
||||
if (co.TantargyId.IsEntityId())
|
||||
{
|
||||
entity.TantargyId = co.TantargyId.Value;
|
||||
}
|
||||
else if (entity.Tantargy != null)
|
||||
{
|
||||
entity.Tantargy = null;
|
||||
}
|
||||
|
||||
entity.TipusId = co.TipusId;
|
||||
|
||||
if (isNew)
|
||||
{
|
||||
dal.Insert(entity);
|
||||
}
|
||||
else
|
||||
{
|
||||
dal.FullUpdate(entity);
|
||||
}
|
||||
|
||||
List<int> nemzetiDokumentumNyelvek = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
||||
if (nemzetiDokumentumNyelvek.Any() && entity.ErtekelesTipusa.IsEntityId() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(entity.ErtekelesTipusa.Value))
|
||||
{
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet))
|
||||
{
|
||||
InsertOrUpdateMondatbankNyelv(dal, entity, AnyanyelvEnum.nemet, co.SzovegNemet);
|
||||
}
|
||||
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat))
|
||||
{
|
||||
InsertOrUpdateMondatbankNyelv(dal, entity, AnyanyelvEnum.horvat, co.SzovegHorvat);
|
||||
}
|
||||
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman))
|
||||
{
|
||||
InsertOrUpdateMondatbankNyelv(dal, entity, AnyanyelvEnum.roman, co.SzovegRoman);
|
||||
}
|
||||
|
||||
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb))
|
||||
{
|
||||
InsertOrUpdateMondatbankNyelv(dal, entity, AnyanyelvEnum.szerb, co.SzovegSzerb);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void InsertOrUpdateMondatbankNyelv(ITanuloErtekelesMondatbankDal dal, IErtekelesMondatbank entity, AnyanyelvEnum nyelvEnum, string szoveg)
|
||||
{
|
||||
IErtekelesMondatbankNyelv nyelvEntity = entity.ErtekelesMondatbankNyelv.FirstOrDefault(x => x.NyelvId == (int)nyelvEnum);
|
||||
if (nyelvEntity != null)
|
||||
{
|
||||
nyelvEntity.Szoveg = szoveg;
|
||||
if (string.IsNullOrWhiteSpace(nyelvEntity.Szoveg) && string.IsNullOrWhiteSpace(nyelvEntity.RovidNev))
|
||||
{
|
||||
dal.DeleteNyelv(nyelvEntity);
|
||||
}
|
||||
else
|
||||
{
|
||||
dal.FullUpdateNyelv(nyelvEntity);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(szoveg))
|
||||
{
|
||||
nyelvEntity = dal.GetNyelv();
|
||||
|
||||
nyelvEntity.Szoveg = szoveg;
|
||||
nyelvEntity.NyelvId = (int)nyelvEnum;
|
||||
nyelvEntity.ErtekelesMondatbankId = entity.ID;
|
||||
nyelvEntity.TanevId = entity.TanevId;
|
||||
nyelvEntity.IntezmenyId = entity.IntezmenyId;
|
||||
|
||||
dal.InsertNyelv(nyelvEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public (int count, string errorMessage) ModifyTanuloErtekelesMondatbankItems(TanuloErtekelesMondatbankTobbesItemCo tanuloErtekelesMondatbankTobbesItemCo)
|
||||
{
|
||||
string errorMsg = string.Empty;
|
||||
var counter = 0;
|
||||
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
ITanuloErtekelesMondatbankDal dal = h.TanuloErtekelesMondatbankDal();
|
||||
|
||||
foreach (var id in tanuloErtekelesMondatbankTobbesItemCo.SelectedIdList)
|
||||
{
|
||||
try
|
||||
{
|
||||
ModifyTanuloErtekelesMondatbankTobbesItem(dal, id, tanuloErtekelesMondatbankTobbesItemCo);
|
||||
counter++;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
errorMsg += $"{ex.Message}{Environment.NewLine}";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(errorMsg))
|
||||
return (counter, string.Format(ErrorResource.NSorModositasSikeres, counter));
|
||||
|
||||
if (counter > 0)
|
||||
{
|
||||
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorModositasSikeres, counter);
|
||||
}
|
||||
return (counter, errorMsg);
|
||||
});
|
||||
}
|
||||
|
||||
private void ModifyTanuloErtekelesMondatbankTobbesItem(ITanuloErtekelesMondatbankDal dal, int id, TanuloErtekelesMondatbankTobbesItemCo co)
|
||||
{
|
||||
bool needUpdate = false;
|
||||
|
||||
var entity = dal.Get(id);
|
||||
|
||||
if (co.RovidNev != null)
|
||||
{
|
||||
entity.RovidNev = co.RovidNev.ReplaceMultipleSpacesAndTrim();
|
||||
needUpdate = true;
|
||||
}
|
||||
if (co.Szoveg != null)
|
||||
{
|
||||
entity.Szoveg = co.Szoveg.Trim();
|
||||
needUpdate = true;
|
||||
}
|
||||
|
||||
if (co.TanuloErtekelesTipusId != null)
|
||||
{
|
||||
entity.ErtekelesTipusa = co.TanuloErtekelesTipusId != 0 ? co.TanuloErtekelesTipusId : null;
|
||||
needUpdate = true;
|
||||
}
|
||||
|
||||
if (co.EvfolyamTipusId != null)
|
||||
{
|
||||
entity.EvfolyamTipusa = co.EvfolyamTipusId != 0 ? co.EvfolyamTipusId : null;
|
||||
needUpdate = true;
|
||||
}
|
||||
|
||||
if (co.TantargyId != null)
|
||||
{
|
||||
if (co.TantargyId.IsEntityId())
|
||||
{
|
||||
entity.TantargyId = co.TantargyId.Value;
|
||||
needUpdate = true;
|
||||
}
|
||||
else if (entity.Tantargy != null)
|
||||
{
|
||||
entity.Tantargy = null;
|
||||
needUpdate = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (entity.TipusId != co.TipusId)
|
||||
{
|
||||
entity.TipusId = co.TipusId;
|
||||
needUpdate = true;
|
||||
}
|
||||
|
||||
if (needUpdate)
|
||||
{
|
||||
dal.FullUpdate(entity);
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteTanuloErtekelesMondatbankItem(ITanuloErtekelesMondatbankDal dal, int id)
|
||||
{
|
||||
dal.Delete(id);
|
||||
}
|
||||
|
||||
public (int count, string errorMessage) DeleteTanuloErtekelesMondatbankItems(List<int> idList)
|
||||
{
|
||||
string errorMsg = string.Empty;
|
||||
var counter = 0;
|
||||
return Dal.CustomConnection.Run(ConnectionType, h =>
|
||||
{
|
||||
ITanuloErtekelesMondatbankDal dal = h.TanuloErtekelesMondatbankDal();
|
||||
|
||||
foreach (var id in idList)
|
||||
{
|
||||
try
|
||||
{
|
||||
DeleteTanuloErtekelesMondatbankItem(dal, id);
|
||||
counter++;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
errorMsg += $"{ex.Message}{Environment.NewLine}";
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(errorMsg))
|
||||
return (counter, string.Format(ErrorResource.NSorTorlesSikeres, counter));
|
||||
|
||||
if (counter > 0)
|
||||
{
|
||||
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorTorlesSikeres, counter);
|
||||
}
|
||||
return (counter, errorMsg);
|
||||
});
|
||||
}
|
||||
|
||||
public static int GetTanuloErtekelesMondatbankTipusIdByTantargyId(int? tantargyId)
|
||||
{
|
||||
switch (tantargyId)
|
||||
{
|
||||
case MagatartasTantargyId:
|
||||
return (int)ErtMondatbankTipusEnum.Magatartas;
|
||||
case SzorgalomTantargyId:
|
||||
return (int)ErtMondatbankTipusEnum.Szorgalom;
|
||||
default:
|
||||
return (int)ErtMondatbankTipusEnum.Tantargy;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue