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(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 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("
", "*"); 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; } } }