137 lines
6.3 KiB
C#
137 lines
6.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|