This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,137 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Felhasznalok.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using OfficeOpenXml;
namespace Kreta.Web.Areas.Felhasznalok.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class FelhasznalokController : Controller
{
public ActionResult Index(string filter)
{
var model = FelhasznalokSearchModel.SetFilterFelhasznalokSearchModel(filter);
model.FeladatEllatasiHelyId = ClaimData.FelhelySzuro;
return View("Index", model);
}
public ActionResult Export([FromUri] FelhasznalokSearchModel model)
{
var stream = new MemoryStream();
var co = FelhasznalokSearchModel.ConvertModelToCo(model);
var icHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var hrModulEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.HRModul, IntezmenyConfigTipusEnum.IsEnabled);
var dataSet = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).FelhasznaloKereses(co, hrModulEnabled);
var dataTable = dataSet.Tables[0];
ExportLogic.TryCreateHeaderIfNotExist(dataTable);
using (var excel = new ExcelPackage(stream))
{
var workSheet = excel.Workbook.Worksheets.Add(FelhasznalokResource.Export);
(string nameFrom, string nameTo, Type type)[] map = new[]
{
("FelhasznaloNyomtatasiNeveElotagNelkul", FelhasznalokResource.FelhasznaloNyomtatasiNeve, typeof(string)),
("OktatasiAzonosito", FelhasznalokResource.OktatasiAzonosito, typeof(string)),
("FelhasznaloTipusa", FelhasznalokResource.FelhasznaloTipusa, typeof(string)),
("FelhasznaloNev", FelhasznalokResource.FelhasznaloNev, typeof(string)),
("UtolsoBelepes", FelhasznalokResource.BelepesiDatum, typeof(string)),
("UtolsoBelepesMobil", FelhasznalokResource.BelepesiDatumMobil, typeof(string)),
("JelszovaltoztatasIdeje", FelhasznalokResource.JelszoModositasIdeje, typeof(string)),
("Jogosultsag", FelhasznalokResource.Jogosultsag, typeof(string)),
("CsokkentettGondviselo_BNAME", FelhasznalokResource.CsokkentettGondviselo, typeof(string)),
("TorvenyesKepviselo_BNAME", FelhasznalokResource.TorvenyesKepviselo, typeof(string)),
("Tanulo", FelhasznalokResource.TanuloNeve, typeof(string)),
("Osztaly", FelhasznalokResource.TanuloOsztalyfonokOsztalya, typeof(string)),
("IsAktiv", FelhasznalokResource.Aktiv, typeof(string))
};
workSheet.Cells[1, 1].LoadFromDataTable(ExportLogic.MapDataTable(dataTable, map), true);
ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, map.Length]);
workSheet.Cells.AutoFitColumns();
excel.Save();
}
stream.Position = 0;
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = FelhasznalokResource.Export + "_" + DateTime.Now.ToString("yyyy_MM_dd") + ".xlsx" };
return result;
}
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
public ActionResult AzonositoGeneralasPopup(bool isTanulo, bool isGondviselo, bool isAlkalmazott, List<int> idList = null, bool generaltFileLetoltes = true, bool emailKuldes = true)
{
var hozzaferesModel = new FelhasznalokJelszoGeneralasModel
{
IdList = idList,
ConfirmText = "A kijelölt felhasználó(k)nak új jelszó lesz generálva. Biztosan folytatja?",
EmailKuldes = emailKuldes,
GeneraltFileLetoltes = generaltFileLetoltes,
IsTanulo = isTanulo,
IsGondviselo = isGondviselo,
IsAlkalmazott = isAlkalmazott
};
var model = new PopUpModel(hozzaferesModel, "JelszoGeneralasModal");
model.AddBtn(model, "hozzaferes_generalas_Nem", CommonResource.Nem, "KretaWindowHelper.destroyAllWindow");
var postFix = "";
if (isTanulo)
{ postFix = "Tanulo"; }
else if (isGondviselo)
{ postFix = "Gondviselo"; }
model.AddBtn(model, "hozzaferes_generalas_Igen", CommonResource.Igen, "FelhasznaloHelper.setUjJelszoIgenyles" + postFix);
return PartialView(Constants.General.PopupView, model);
}
public ActionResult EmailErrorFileDownload(string emailErrors)
{
var data = emailErrors.Replace("<br />", "*");
var splittedString = data.Split('*');
var dataTable = new DataTable();
dataTable.Columns.Add("Column1");
foreach (var s in splittedString)
{
dataTable.Rows.Add(s);
}
var stream = new MemoryStream();
using (var excel = new ExcelPackage(stream))
{
var workSheet = excel.Workbook.Worksheets.Add(FelhasznalokResource.HibasEmail);
(string nameFrom, string nameTo, Type type)[] map = new[]
{
("Column1", "Column1", typeof(string)),
};
workSheet.Cells[1, 1].LoadFromDataTable(ExportLogic.MapDataTable(dataTable, map), true);
workSheet.Cells.AutoFitColumns();
excel.Save();
}
stream.Position = 0;
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = FelhasznalokResource.EmailError + "_" + DateTime.Now.ToString("yyyy_MM_dd") + ".xlsx" };
return result;
}
}
}