init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,594 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.HelperClasses.ImportCo;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.ImportExport;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Enums.ManualEnums.ImportExport;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.ImportExport.Models.CommonModels;
|
||||
using Kreta.Web.Areas.ImportExport.Models.GondviseloImportExport;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.ImportExport.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class GondviseloImportExportController : BaseImportExportController
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private const string TovabbUrl = @"/Tanulo/Tanulo";
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Properties
|
||||
|
||||
public static string TelefonszamGridName => "TelefonszamGrid";
|
||||
public static string TelefonszamGridRowTemplateName => "TelefonszamGridRowTemplate";
|
||||
|
||||
public static string EmailGridName => "EmailGrid";
|
||||
public static string EmailGridRowTemplateName => "EmailGridRowTemplate";
|
||||
|
||||
public static string CimGridName => "CimGrid";
|
||||
public static string CimGridRowTemplateName => "CimGridRowTemplate";
|
||||
|
||||
public static string GridName => "GondviseloGrid";
|
||||
public static string GridRowTemplateName => "GondviseloGridRowTemplate";
|
||||
|
||||
public static string JavascriptHelperClassName => "GondviseloImportExportHelper";
|
||||
|
||||
public static string ConrtollerName => "GondviseloImportExport";
|
||||
|
||||
#endregion Properties
|
||||
|
||||
#region Constructors
|
||||
|
||||
public GondviseloImportExportController(IUploadFileValidator uploadFileValidator)
|
||||
{
|
||||
UploadFileValidator = uploadFileValidator ?? throw new ArgumentNullException(nameof(uploadFileValidator));
|
||||
}
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new GondviseloImportExportModel
|
||||
{
|
||||
MaxAllowedFileSizeInBytes = UploadFileValidator.Configuration.ImportMaxAllowedFileSizeInBytes,
|
||||
AllowedFileExtensions = UploadFileValidator.Configuration.ImportAllowedFileExtensions,
|
||||
BelepesiAdatokKikuldeseEmailben = ClaimData.IsActivTanev ? true : (bool?)null,
|
||||
FajlLetolteseHozzaferesGeneralasaUtan = ClaimData.IsActivTanev ? true : (bool?)null,
|
||||
};
|
||||
return View(model);
|
||||
}
|
||||
|
||||
#region Sablon
|
||||
|
||||
public ActionResult DownloadTemplate()
|
||||
{
|
||||
MemoryStream memoryStream = new GondviseloImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTemplate();
|
||||
return new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = ImportExportGondviseloResource.ImportSablonFileName };
|
||||
}
|
||||
|
||||
#endregion Sablon
|
||||
|
||||
#region Export
|
||||
|
||||
[HttpPost]
|
||||
[MvcValidateAjaxAntiForgeryToken]
|
||||
public string Export()
|
||||
{
|
||||
MemoryStream memoryStream = new GondviseloImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetExport();
|
||||
return GetExportFileString(memoryStream);
|
||||
}
|
||||
|
||||
public string NemImportalhatoSorokExport()
|
||||
{
|
||||
MemoryStream memoryStream = new GondviseloImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNemImportalhatoSorokExport();
|
||||
return GetExportFileString(memoryStream);
|
||||
}
|
||||
|
||||
#endregion Export
|
||||
|
||||
#region Import
|
||||
|
||||
public JsonResult UploadFile(HttpPostedFileBase importFile, int importMuvelet, bool fajlLetolteseHozzaferesGeneralasaUtan, bool belepesiAdatokKikuldeseEmailben)
|
||||
{
|
||||
if (!ClaimData.IsActivTanev)
|
||||
{
|
||||
fajlLetolteseHozzaferesGeneralasaUtan = false;
|
||||
belepesiAdatokKikuldeseEmailben = false;
|
||||
}
|
||||
|
||||
UploadFileValidator.ValidateImportFile(importFile);
|
||||
|
||||
var errorResult = new List<string>();
|
||||
|
||||
Dictionary<int, string> importHeaderList = GondviseloImportExportHelper.ImportHeaderList;
|
||||
List<List<string>> importData = ImportExportHelper.GetImportDataFromExcel(importFile.InputStream, importHeaderList, out List<string> fileErrorResultList);
|
||||
errorResult.AddRange(fileErrorResultList);
|
||||
|
||||
if (errorResult.Count > 0)
|
||||
{
|
||||
JsonResult errorJson = ThrowCustomError(errorResult);
|
||||
return errorJson;
|
||||
}
|
||||
|
||||
new GondviseloImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SetImportCo(importData, importMuvelet, fajlLetolteseHozzaferesGeneralasaUtan, belepesiAdatokKikuldeseEmailben, ClaimData.IsSzirIntezmeny);
|
||||
|
||||
return Json(null);
|
||||
}
|
||||
|
||||
public ActionResult OpenImportPreviewPopup()
|
||||
{
|
||||
GondviseloImportCo importCo = new GondviseloImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ImportCo;
|
||||
List<GondviseloItemCo> coList = importCo.GondviseloCoList;
|
||||
|
||||
var importInfoModel = new GondviseloImportInfoModel
|
||||
{
|
||||
ImportInfoSummaryList = new ImportInfoSummaryListModel
|
||||
{
|
||||
ImportInfoSummaryModelList = new List<ImportInfoSummaryModel>
|
||||
{
|
||||
GetEmailImportInfoSummary(importCo, coList.Select(x => x.EmailList.FirstOrDefault()).Where(x => x != null).ToList()),
|
||||
GetTelefonImportInfoSummary(importCo, coList.Select(x => x.TelefonList.FirstOrDefault()).Where(x => x != null).ToList()),
|
||||
GetCimImportInfoSummary(importCo, coList.Select(x => x.AllandoLakcim).Where(x => x != null).ToList()),
|
||||
GetGondviseloImportInfoSummary(importCo, coList)
|
||||
}
|
||||
},
|
||||
TelefonImportItemList = new TelefonImportItemListModel
|
||||
{
|
||||
ImportItemModelList = GetTelefonImportItemModelList(importCo.TelefonGondviseloImportJsonItemList, coList)
|
||||
},
|
||||
EmailImportItemList = new EmailImportItemListModel
|
||||
{
|
||||
ImportItemModelList = GetEmailImportItemModelList(importCo.EmailGondviseloImportJsonItemList, coList)
|
||||
},
|
||||
CimImportItemList = new CimImportItemListModel
|
||||
{
|
||||
ImportItemModelList = GetCimImportItemModelList(importCo.CimGondviseloImportJsonItemList, coList)
|
||||
},
|
||||
MainImportItemList = new GondviseloImportItemListModel
|
||||
{
|
||||
ImportItemModelList = GetGondviseloImportItemModelList(importCo, coList)
|
||||
},
|
||||
NemImportalhatoItemList = new GondviseloImportNemImportalhatoItemListModel
|
||||
{
|
||||
NemImportalhatoItemModelList = GetNemImportalhatoItemModelList(importCo.NemImportalhatoItemList)
|
||||
}
|
||||
};
|
||||
|
||||
var popUpModel = new PopUpModel(importInfoModel, ImportPreviewPopupName);
|
||||
popUpModel.AddCancelBtn(popUpModel, "KretaWindowHelper.destroyAllWindow");
|
||||
popUpModel.AddBtn(popUpModel, "ImportBtnOk", CommonResource.Importalas, $"{JavascriptHelperClassName}.import", "BtnOk", setDisabledAfterClick: true);
|
||||
popUpModel.AddBtn(popUpModel, "NemImportalhatoSorokExportBtnOk", ImportExportCommonResource.NemImportalhatoSorokExportalasa, $"{JavascriptHelperClassName}.nemImportalhatoSorokExport", "BtnOk");
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
|
||||
protected static ImportInfoSummaryModel GetTelefonImportInfoSummary(GondviseloImportCo importCo, List<TelefonItemCo> coList)
|
||||
{
|
||||
List<TelefonGondviseloImportJsonItemCo> importJsonItemList = importCo.TelefonGondviseloImportJsonItemList;
|
||||
int updateRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Update) ?? 0;
|
||||
int unchangedRowCount = 0;
|
||||
switch (importCo.ImportMuvelet)
|
||||
{
|
||||
case (int)ImportMuveletEnum.Insert:
|
||||
unchangedRowCount = coList.Count;
|
||||
break;
|
||||
|
||||
case (int)ImportMuveletEnum.InsertAndUpdate:
|
||||
unchangedRowCount = coList.Count - updateRowCount;
|
||||
break;
|
||||
}
|
||||
|
||||
var importInfoSummary = new ImportInfoSummaryModel
|
||||
{
|
||||
ImportName = ImportExportGondviseloResource.Telefon,
|
||||
InsertRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Insert).ToString() ?? "0",
|
||||
UpdateRowCount = updateRowCount.ToString(),
|
||||
DeleteRowCount = "-",
|
||||
UnchangedRowCount = unchangedRowCount.ToString(),
|
||||
InvalidRowCount = importCo.NemImportalhatoItemList.Count.ToString()
|
||||
};
|
||||
return importInfoSummary;
|
||||
}
|
||||
|
||||
protected static ImportInfoSummaryModel GetEmailImportInfoSummary(GondviseloImportCo importCo, List<EmailItemCo> coList)
|
||||
{
|
||||
List<EmailGondviseloImportJsonItemCo> importJsonItemList = importCo.EmailGondviseloImportJsonItemList;
|
||||
int updateRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Update) ?? 0;
|
||||
int unchangedRowCount = 0;
|
||||
switch (importCo.ImportMuvelet)
|
||||
{
|
||||
case (int)ImportMuveletEnum.Insert:
|
||||
unchangedRowCount = coList.Count;
|
||||
break;
|
||||
|
||||
case (int)ImportMuveletEnum.InsertAndUpdate:
|
||||
unchangedRowCount = coList.Count - updateRowCount;
|
||||
break;
|
||||
}
|
||||
|
||||
var importInfoSummary = new ImportInfoSummaryModel
|
||||
{
|
||||
ImportName = ImportExportGondviseloResource.Email,
|
||||
InsertRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Insert).ToString() ?? "0",
|
||||
UpdateRowCount = updateRowCount.ToString(),
|
||||
DeleteRowCount = "-",
|
||||
UnchangedRowCount = unchangedRowCount.ToString(),
|
||||
InvalidRowCount = importCo.NemImportalhatoItemList.Count.ToString()
|
||||
};
|
||||
return importInfoSummary;
|
||||
}
|
||||
|
||||
protected static ImportInfoSummaryModel GetCimImportInfoSummary(GondviseloImportCo importCo, List<CimItemCo> coList)
|
||||
{
|
||||
List<CimGondviseloImportJsonItemCo> importJsonItemList = importCo.CimGondviseloImportJsonItemList;
|
||||
int updateRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Update) ?? 0;
|
||||
int unchangedRowCount = 0;
|
||||
switch (importCo.ImportMuvelet)
|
||||
{
|
||||
case (int)ImportMuveletEnum.Insert:
|
||||
unchangedRowCount = coList.Count;
|
||||
break;
|
||||
|
||||
case (int)ImportMuveletEnum.InsertAndUpdate:
|
||||
unchangedRowCount = coList.Count - updateRowCount;
|
||||
break;
|
||||
}
|
||||
|
||||
var importInfoSummary = new ImportInfoSummaryModel
|
||||
{
|
||||
ImportName = ImportExportGondviseloResource.Cim,
|
||||
InsertRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Insert).ToString() ?? "0",
|
||||
UpdateRowCount = updateRowCount.ToString(),
|
||||
DeleteRowCount = "-",
|
||||
UnchangedRowCount = unchangedRowCount.ToString(),
|
||||
InvalidRowCount = importCo.NemImportalhatoItemList.Count.ToString()
|
||||
};
|
||||
return importInfoSummary;
|
||||
}
|
||||
|
||||
private static ImportInfoSummaryModel GetGondviseloImportInfoSummary(GondviseloImportCo importCo, IList<GondviseloItemCo> coList)
|
||||
{
|
||||
List<GondviseloImportJsonItemCo> importJsonItemList = importCo.MainImportJsonItemList;
|
||||
int insertRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Insert) ?? 0;
|
||||
|
||||
int updateRowCount = importJsonItemList?.Count(x => x.Operation == (int)ImportItemOperationEnum.Update) ?? 0;
|
||||
int unchangedRowCount = 0;
|
||||
switch (importCo.ImportMuvelet)
|
||||
{
|
||||
case (int)ImportMuveletEnum.Insert:
|
||||
unchangedRowCount = coList.Count;
|
||||
break;
|
||||
|
||||
case (int)ImportMuveletEnum.InsertAndUpdate:
|
||||
unchangedRowCount = coList.Count - updateRowCount;
|
||||
break;
|
||||
}
|
||||
|
||||
int invalidRowCount = importCo.NemImportalhatoItemList.Count;
|
||||
var importInfoSummary = new ImportInfoSummaryModel
|
||||
{
|
||||
ImportName = ImportExportGondviseloResource.ImportDefaultSheetName,
|
||||
InsertRowCount = insertRowCount.ToString(),
|
||||
UpdateRowCount = updateRowCount.ToString(),
|
||||
DeleteRowCount = "-",
|
||||
UnchangedRowCount = unchangedRowCount.ToString(),
|
||||
InvalidRowCount = invalidRowCount.ToString()
|
||||
};
|
||||
return importInfoSummary;
|
||||
}
|
||||
|
||||
protected List<TelefonImportItemModel> GetTelefonImportItemModelList(List<TelefonGondviseloImportJsonItemCo> importJsonItemList, List<GondviseloItemCo> gondviseloItemCoList)
|
||||
{
|
||||
var importItemModelList = new List<TelefonImportItemModel>();
|
||||
if (importJsonItemList == null)
|
||||
{
|
||||
if (gondviseloItemCoList.Count == 0)
|
||||
{
|
||||
return importItemModelList;
|
||||
}
|
||||
|
||||
importJsonItemList = new List<TelefonGondviseloImportJsonItemCo>();
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az excel-ből jöttek!
|
||||
foreach (TelefonGondviseloImportJsonItemCo importJsonItem in importJsonItemList)
|
||||
{
|
||||
importItemModelList.Add(new TelefonImportItemModel
|
||||
{
|
||||
FelhasznaloElotag = importJsonItem.FelhasznaloElotag ?? string.Empty,
|
||||
FelhasznaloVezeteknev = importJsonItem.FelhasznaloVezeteknev ?? string.Empty,
|
||||
FelhasznaloKeresztnev = importJsonItem.FelhasznaloKeresztnev ?? string.Empty,
|
||||
GondviseloNev = importJsonItem.Nev ?? string.Empty,
|
||||
GondviseloRokonsagiFokNev = importJsonItem.RokonsagiFokNev ?? string.Empty,
|
||||
TipusNev = importJsonItem.TipusNev ?? string.Empty,
|
||||
Telefonszam = importJsonItem.Telefonszam ?? string.Empty,
|
||||
Operation = importJsonItem.Operation
|
||||
});
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az adatbázisból jöttek!
|
||||
foreach (TelefonItemCo co in gondviseloItemCoList.Select(x => x.TelefonList.FirstOrDefault()).Where(x => x != null))
|
||||
{
|
||||
if (!importJsonItemList.Select(x => x.Id).Contains(co.Id))
|
||||
{
|
||||
importItemModelList.Add(new TelefonImportItemModel
|
||||
{
|
||||
FelhasznaloElotag = co.FelhasznaloElotag ?? string.Empty,
|
||||
FelhasznaloVezeteknev = co.FelhasznaloVezeteknev ?? string.Empty,
|
||||
FelhasznaloKeresztnev = co.FelhasznaloKeresztnev ?? string.Empty,
|
||||
GondviseloNev = co.GondviseloNev ?? string.Empty,
|
||||
GondviseloRokonsagiFokNev = co.GondviseloRokonsagiFokNev ?? string.Empty,
|
||||
TipusNev = co.TipusNev ?? string.Empty,
|
||||
Telefonszam = co.Telefonszam ?? string.Empty,
|
||||
Operation = (int)ImportItemOperationEnum.Default
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return importItemModelList
|
||||
.OrderBy(x => x.FelhasznaloVezeteknev)
|
||||
.ThenBy(x => x.FelhasznaloKeresztnev)
|
||||
.ThenBy(x => x.GondviseloNev)
|
||||
.ThenByDescending(x => x.OperationText).ToList();
|
||||
}
|
||||
|
||||
protected List<EmailImportItemModel> GetEmailImportItemModelList(List<EmailGondviseloImportJsonItemCo> importJsonItemList, List<GondviseloItemCo> gondviseloItemCoList)
|
||||
{
|
||||
var importItemModelList = new List<EmailImportItemModel>();
|
||||
if (importJsonItemList == null)
|
||||
{
|
||||
if (gondviseloItemCoList.Count == 0)
|
||||
{
|
||||
return importItemModelList;
|
||||
}
|
||||
|
||||
importJsonItemList = new List<EmailGondviseloImportJsonItemCo>();
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az excel-ből jöttek!
|
||||
foreach (EmailGondviseloImportJsonItemCo importJsonItem in importJsonItemList)
|
||||
{
|
||||
importItemModelList.Add(new EmailImportItemModel
|
||||
{
|
||||
FelhasznaloElotag = importJsonItem.FelhasznaloElotag ?? string.Empty,
|
||||
FelhasznaloVezeteknev = importJsonItem.FelhasznaloVezeteknev ?? string.Empty,
|
||||
FelhasznaloKeresztnev = importJsonItem.FelhasznaloKeresztnev ?? string.Empty,
|
||||
GondviseloNev = importJsonItem.Nev ?? string.Empty,
|
||||
GondviseloRokonsagiFokNev = importJsonItem.RokonsagiFokNev ?? string.Empty,
|
||||
TipusNev = importJsonItem.TipusNev ?? string.Empty,
|
||||
EmailCim = importJsonItem.EmailCim ?? string.Empty,
|
||||
Operation = importJsonItem.Operation
|
||||
});
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az adatbázisból jöttek!
|
||||
foreach (EmailItemCo co in gondviseloItemCoList.Select(x => x.EmailList.FirstOrDefault()).Where(x => x != null))
|
||||
{
|
||||
if (!importJsonItemList.Select(x => x.Id).Contains(co.Id))
|
||||
{
|
||||
importItemModelList.Add(new EmailImportItemModel
|
||||
{
|
||||
FelhasznaloElotag = co.FelhasznaloElotag ?? string.Empty,
|
||||
FelhasznaloVezeteknev = co.FelhasznaloVezeteknev ?? string.Empty,
|
||||
FelhasznaloKeresztnev = co.FelhasznaloKeresztnev ?? string.Empty,
|
||||
GondviseloNev = co.GondviseloNev ?? string.Empty,
|
||||
GondviseloRokonsagiFokNev = co.GondviseloRokonsagiFokNev ?? string.Empty,
|
||||
TipusNev = co.TipusNev ?? string.Empty,
|
||||
EmailCim = co.EmailCim ?? string.Empty,
|
||||
Operation = (int)ImportItemOperationEnum.Default
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return importItemModelList
|
||||
.OrderBy(x => x.FelhasznaloVezeteknev)
|
||||
.ThenBy(x => x.FelhasznaloKeresztnev)
|
||||
.ThenBy(x => x.GondviseloNev)
|
||||
.ThenByDescending(x => x.OperationText).ToList();
|
||||
}
|
||||
|
||||
protected List<CimImportItemModel> GetCimImportItemModelList(List<CimGondviseloImportJsonItemCo> importJsonItemList, List<GondviseloItemCo> gondviseloItemCoList)
|
||||
{
|
||||
var importItemModelList = new List<CimImportItemModel>();
|
||||
if (importJsonItemList == null)
|
||||
{
|
||||
if (gondviseloItemCoList.Count == 0)
|
||||
{
|
||||
return importItemModelList;
|
||||
}
|
||||
|
||||
importJsonItemList = new List<CimGondviseloImportJsonItemCo>();
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az excel-ből jöttek!
|
||||
foreach (CimGondviseloImportJsonItemCo importJsonItem in importJsonItemList)
|
||||
{
|
||||
importItemModelList.Add(new CimImportItemModel
|
||||
{
|
||||
FelhasznaloElotag = importJsonItem.FelhasznaloElotag ?? string.Empty,
|
||||
FelhasznaloVezeteknev = importJsonItem.FelhasznaloVezeteknev ?? string.Empty,
|
||||
FelhasznaloKeresztnev = importJsonItem.FelhasznaloKeresztnev ?? string.Empty,
|
||||
GondviseloNev = importJsonItem.Nev ?? string.Empty,
|
||||
GondviseloRokonsagiFokNev = importJsonItem.RokonsagiFokNev ?? string.Empty,
|
||||
TipusNev = importJsonItem.TipusNev ?? string.Empty,
|
||||
Ajto = importJsonItem.Ajto ?? string.Empty,
|
||||
Emelet = importJsonItem.Emelet ?? string.Empty,
|
||||
Hazszam = importJsonItem.Hazszam ?? string.Empty,
|
||||
Iranyitoszam = importJsonItem.Iranyitoszam ?? string.Empty,
|
||||
Kozterulet = importJsonItem.Kozterulet ?? string.Empty,
|
||||
KozteruletJellegNev = importJsonItem.KozterulegJellegeNev ?? string.Empty,
|
||||
Telepules = importJsonItem.Helyseg ?? string.Empty,
|
||||
Operation = importJsonItem.Operation
|
||||
});
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az adatbázisból jöttek!
|
||||
foreach (CimItemCo co in gondviseloItemCoList.Select(x => x.AllandoLakcim).Where(x => x != null))
|
||||
{
|
||||
if (!importJsonItemList.Select(x => x.Id).Contains(co.Id))
|
||||
{
|
||||
importItemModelList.Add(new CimImportItemModel
|
||||
{
|
||||
FelhasznaloElotag = Kreta.BusinessLogic.Extensions.NameExtensions.CleanElotag(co.FelhasznaloElotag) ?? string.Empty,
|
||||
FelhasznaloVezeteknev = co.FelhasznaloVezeteknev ?? string.Empty,
|
||||
FelhasznaloKeresztnev = co.FelhasznaloKeresztnev ?? string.Empty,
|
||||
GondviseloNev = Kreta.BusinessLogic.Extensions.NameExtensions.GetNevSorrendben("F", co.GondviseloNevElotag, co.GondviseloVezeteknev, co.GondviseloKeresztnev) ?? string.Empty,
|
||||
GondviseloRokonsagiFokNev = co.GondviseloRokonsagiFokNev ?? string.Empty,
|
||||
TipusNev = co.TipusNev ?? string.Empty,
|
||||
Ajto = co.Ajto ?? string.Empty,
|
||||
Emelet = co.Emelet ?? string.Empty,
|
||||
Hazszam = co.Hazszam ?? string.Empty,
|
||||
Iranyitoszam = co.Iranyitoszam ?? string.Empty,
|
||||
Kozterulet = co.Kozterulet ?? string.Empty,
|
||||
KozteruletJellegNev = co.KozteruletJellegNev ?? string.Empty,
|
||||
Telepules = co.Telepules ?? string.Empty,
|
||||
Operation = (int)ImportItemOperationEnum.Default
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return importItemModelList
|
||||
.OrderBy(x => x.FelhasznaloVezeteknev)
|
||||
.ThenBy(x => x.FelhasznaloKeresztnev)
|
||||
.ThenBy(x => x.GondviseloNev)
|
||||
.ThenByDescending(x => x.OperationText).ToList();
|
||||
}
|
||||
|
||||
protected List<GondviseloImportItemModel> GetGondviseloImportItemModelList(GondviseloImportCo importCo, List<GondviseloItemCo> coList)
|
||||
{
|
||||
var importItemModelList = new List<GondviseloImportItemModel>();
|
||||
List<GondviseloImportJsonItemCo> importJsonItemList = importCo.MainImportJsonItemList;
|
||||
if (importJsonItemList == null)
|
||||
{
|
||||
if (!coList.Any())
|
||||
{
|
||||
return importItemModelList;
|
||||
}
|
||||
|
||||
importJsonItemList = new List<GondviseloImportJsonItemCo>();
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat a az elemeket, amik az excel-ből jöttek!
|
||||
foreach (GondviseloImportJsonItemCo importJsonItem in importJsonItemList)
|
||||
{
|
||||
importItemModelList.Add(new GondviseloImportItemModel
|
||||
{
|
||||
TanuloElotag = importJsonItem.FelhasznaloElotag ?? string.Empty,
|
||||
TanuloVezeteknev = importJsonItem.FelhasznaloVezeteknev ?? string.Empty,
|
||||
TanuloKeresztnev = importJsonItem.FelhasznaloKeresztnev ?? string.Empty,
|
||||
TanuloOktatasiAzonosito = importJsonItem.FelhasznaloOktatasiAzonosito ?? string.Empty,
|
||||
GondviseloElotag = importJsonItem.Elotag ?? string.Empty,
|
||||
GondviseloVezeteknev = importJsonItem.Vezeteknev ?? string.Empty,
|
||||
GondviseloKeresztnev = importJsonItem.Keresztnev ?? string.Empty,
|
||||
RokonsagiFokNev = importJsonItem.RokonsagiFokNev ?? string.Empty,
|
||||
TorvenyesKepviselo = SDAConvert.ToBooleanFromTF(importJsonItem.IsTorvenyesKepviselo).GetDisplayName() ?? string.Empty,
|
||||
Operation = importJsonItem.Operation
|
||||
});
|
||||
}
|
||||
|
||||
//NOTE: Hozzáadjuk azokat az elemeket, amik az adatbázisból jöttek!
|
||||
foreach (GondviseloItemCo co in coList)
|
||||
{
|
||||
if (!importJsonItemList.Select(x => x.Id).Contains(co.Id))
|
||||
{
|
||||
var operation = (int)ImportItemOperationEnum.Default;
|
||||
importItemModelList.Add(new GondviseloImportItemModel
|
||||
{
|
||||
TanuloElotag = co.FelhasznaloElotag ?? string.Empty,
|
||||
TanuloVezeteknev = co.FelhasznaloVezeteknev ?? string.Empty,
|
||||
TanuloKeresztnev = co.FelhasznaloKeresztnev ?? string.Empty,
|
||||
TanuloOktatasiAzonosito = co.FelhasznaloOktatasiAzonosito ?? string.Empty,
|
||||
GondviseloElotag = co.Elotag ?? string.Empty,
|
||||
GondviseloVezeteknev = co.VezetekNev ?? string.Empty,
|
||||
GondviseloKeresztnev = co.KeresztNev ?? string.Empty,
|
||||
RokonsagiFokNev = co.RokonsagiFokNev ?? string.Empty,
|
||||
TorvenyesKepviselo = co.IsTorvenyesKepviselo.GetDisplayName(),
|
||||
Operation = operation
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return importItemModelList
|
||||
.OrderBy(x => x.TanuloVezeteknev)
|
||||
.ThenBy(x => x.TanuloKeresztnev)
|
||||
.ThenBy(x => x.GondviseloVezeteknev)
|
||||
.ThenBy(x => x.GondviseloKeresztnev)
|
||||
.ThenByDescending(x => x.OperationText).ToList();
|
||||
}
|
||||
|
||||
private List<GondviseloImportNemImportalhatoItemModel> GetNemImportalhatoItemModelList(List<GondviseloImportItemCo> nemImportalhatoItemList)
|
||||
{
|
||||
var nemImportalhatoItemModelList = new List<GondviseloImportNemImportalhatoItemModel>();
|
||||
foreach (GondviseloImportItemCo nemImportalhatoItem in nemImportalhatoItemList)
|
||||
{
|
||||
nemImportalhatoItemModelList.Add(new GondviseloImportNemImportalhatoItemModel
|
||||
{
|
||||
TanuloNeveImportData = nemImportalhatoItem.TanuloNeveImportData,
|
||||
TanuloOktatasiAzonositoImportData = nemImportalhatoItem.TanuloOktatasiAzonositoImportData,
|
||||
GondviseloNevElotagImportData = nemImportalhatoItem.GondviseloNevElotagImportData,
|
||||
GondviseloVezeteknevImportData = nemImportalhatoItem.GondviseloVezeteknevImportData,
|
||||
GondviseloKeresztnevImportData = nemImportalhatoItem.GondviseloKeresztnevImportData,
|
||||
GondviseloRokonsagiFokaImportData = nemImportalhatoItem.GondviseloRokonsagiFokaImportData,
|
||||
GondviseloTelefonszamaImportData = nemImportalhatoItem.GondviseloTelefonszamaImportData,
|
||||
GondviseloEmailCimeImportData = nemImportalhatoItem.GondviseloEmailCimeImportData,
|
||||
CimAjtoImportData = nemImportalhatoItem.CimAjtoImportData,
|
||||
EmailTipusImportData = nemImportalhatoItem.EmailTipusImportData,
|
||||
CimEmeletImportData = nemImportalhatoItem.CimEmeletImportData,
|
||||
CimHazszamImportData = nemImportalhatoItem.CimHazszamImportData,
|
||||
CimHelysegNevImportData = nemImportalhatoItem.CimHelysegNevImportData,
|
||||
CimIranyitoszamImportData = nemImportalhatoItem.CimIranyitoszamImportData,
|
||||
CimKozteruletJellegeImportData = nemImportalhatoItem.CimKozteruletJellegeImportData,
|
||||
CimKozteruletNevImportData = nemImportalhatoItem.CimKozteruletNevImportData,
|
||||
CimOrszagImportData = nemImportalhatoItem.CimOrszagImportData,
|
||||
CimTipusaImportData = nemImportalhatoItem.CimTipusaImportData,
|
||||
TelefonTipusImportData = nemImportalhatoItem.TelefonTipusImportData,
|
||||
TorvenyesKepviseloImportData = nemImportalhatoItem.TorvenyesKepviseloImportData,
|
||||
ErrorList = string.Join(Environment.NewLine, nemImportalhatoItem.ErrorList)
|
||||
});
|
||||
}
|
||||
|
||||
return nemImportalhatoItemModelList.OrderBy(x => x.TanuloNeveImportData).ToList();
|
||||
}
|
||||
|
||||
public ActionResult Import()
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new GondviseloImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
GondviseloImportCo importCo = helper.ImportCo;
|
||||
BelepesiAdatokListCO belepesiAdatokListCo = helper.Import(new { ImportJson = importCo }, importCo.IsEmailKuldes, ClaimData.IsActivTanev, ClaimData.KovTanevID.HasValue, ClaimData.IsSzirIntezmeny);
|
||||
|
||||
string file = string.Empty;
|
||||
if (importCo.IsGeneraltFileLetoltes)
|
||||
{
|
||||
var nevmodel = new NyomtatvanyNevGeneralasModel { TanevID = ClaimData.AktivTanevID };
|
||||
var fileName = CommonExtensions.NevGeneralas("BelepesiAdatok", nevmodel);
|
||||
|
||||
file = BelepesiAdatokPdfLogic.GetFileLetoltesUrl(new HozzaferesGeneralasaHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).ConvertBelepesiAdatokCoToDataset(belepesiAdatokListCo, false), Core.Constants.FrxNames.HozzatartozoJelszoAdatok, fileName);
|
||||
}
|
||||
|
||||
return Json(new { belepesiAdatokListCo.EmailErrors, file, tovabbUrl = TovabbUrl });
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
#endregion Import
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue