kreta/KretaWeb/Areas/Adminisztracio/Controllers/RendszerHibaErtesitesController.cs
2024-03-13 00:33:46 +01:00

1169 lines
72 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Client.Eugyintezes;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Configuration;
using Kreta.Web.Helpers;
using Kreta.Web.Logging.Abstractions;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Adminisztracio.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(TanevEnum.Mind, KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public class RendszerHibaErtesitesController : Controller
{
private IEugyintezesClientConfiguration EugyClientConfiguration { get; }
private IIdpConfiguration IdpConfiguration { get; }
private ITraceLogger TraceLogger { get; }
public RendszerHibaErtesitesController(IEugyintezesClientConfiguration eugyClientConfiguration, IIdpConfiguration idpConfiguration, ITraceLogger traceLogger)
{
EugyClientConfiguration = eugyClientConfiguration ?? throw new ArgumentNullException(nameof(eugyClientConfiguration));
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
TraceLogger = traceLogger;
}
public ActionResult Index()
{
if (!ClaimData.IsActivTanev && ClaimData.SelectedTanevID != ClaimData.KovTanevID)
{
return View("Empty");
}
AdminDashboardModel model = GetAdminDashboardModel();
return View("Index", model);
}
public ActionResult DownloadKIRAdattisztitasExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKIRAdattisztitasExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = RendszerErtesitesResource.KIRAdattisztitasExcelFileName };
return result;
}
public ActionResult DowloladHibasOktAzonExel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHibasOKtAzonExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = RendszerErtesitesResource.HibasOktAzonExcelName };
return result;
}
public ActionResult DownloadAdattisztitasAlkalmazottExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetAdattisztitasAlkalmazottExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format("{0}_{1}_{2}.xlsx", RendszerErtesitesResource.AdattisztitasAlkalmazottExcelName, ClaimData.IntezmenyAzonosito, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadDirtyEmail()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDirtyEmailExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DirtyEmailExcelName, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadCovidFertozott()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCovidFertozottekExcel(null);
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.CovidFertozottekExcelName, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadCovidBejelentettek()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCovidBejelentettekExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.CovidBejelntettekExcelName, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadNemRendelkezikOsztondijAlapAdattalExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetNemRendelkezikOsztondijAlapAdattalExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.NemRendelkezikOsztondijAlapAdattalExcelName, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadNemRendelkezikOsztondijUtalasAdattalExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetNemRendelkezikOsztondijUtalasAdattalExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.NemRendelkezikOsztondijUtalasAdattalExcelName, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadSapAdattisztasagExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSapAdattisztasagExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.SapAdattisztasagExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadAlkalmazottakAdatszinkronjaExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottakAdatszinkronjaExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.AlkalmazottakAdatszinkronjaExcel, DateTime.Now.ToString("yyyyMMdd")) };
return result;
}
public ActionResult GetEszkozIRTanarokExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozIRTanarokExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.EszkozIRTanarokExcel, DateTime.Now.ToString("yyyyMMdd")) };
return result;
}
public ActionResult GetEszkozIRNemTanarokExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozIRNemTanarokExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.EszkozIRNemTanarokExcel, DateTime.Now.ToString("yyyyMMdd")) };
return result;
}
public ActionResult GetEszkozIRAlkalmazottakFelhasznaloVagyNaploNelkulExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozIRAlkalmazottakFelhasznaloVagyNaploNelkulExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.EszkozIRAlkalmazottakFelhasznaloVagyNaploNelkulExcel, DateTime.Now.ToString("yyyyMMdd")) };
return result;
}
public ActionResult GetEszkozIRNemRegisztraltTanarokExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozIRNemRegisztraltTanarokExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.EszkozIRNemRegisztraltTanarokExcel, DateTime.Now.ToString("yyyyMMdd")) };
return result;
}
public ActionResult GetEszkozIRRegisztraltTanarokExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozIRRegisztraltTanarokExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.EszkozIRRegisztraltTanarokExcel, DateTime.Now.ToString("yyyyMMdd")) };
return result;
}
public ActionResult DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloFelhasznalonevExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloFelhasznalonevExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloFelhasznalonevExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsTorvenyesKepviseloExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsTorvenyesKepviseloExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsTorvenyesKepviseloExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamAszfNincsElfogadvaExcel()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamAszfNincsElfogadvaExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamAszfNincsElfogadvaExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
public ActionResult DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamSzuloElinditottaRegFolyamatotExcel()
{
var stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamSzuloElinditottaRegFolyamatotExcel();
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.DigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamSzuloElinditottaRegFolyamatotExcel, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
#region Helpers
private AdminDashboardModel GetAdminDashboardModel()
{
var model = new AdminDashboardModel();
DataSet adminisztracioDataSet;
DataSet naploDataSet;
DataSet statisztikaDataSet;
DataSet uzenetekDataSet;
DataSet egyediAzonositokDataSet;
bool isLEPModul;
var adminHelper = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType());
adminisztracioDataSet = adminHelper.GetAdminDashboardAdminisztracio();
naploDataSet = adminHelper.GetAdminDashboardNaplo();
statisztikaDataSet = adminHelper.GetAdminDashboardStatisztika();
uzenetekDataSet = adminHelper.GetAdminDashboardUzenet();
egyediAzonositokDataSet = adminHelper.GetDashboardUzenetByIntezmeny();
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
isLEPModul = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese);
model.AdminisztracioModel = ConvertAdminisztracioDataSetToModel(adminisztracioDataSet);
model.NaploModel = ConvertNaploDataSetToModel(naploDataSet);
model.StatisztikaModel = ConvertStatisztikaDataSetToModel(statisztikaDataSet);
model.DashboardUzenetek = ConvertDashboardUzenetDataSetToUzenetLista(uzenetekDataSet);
model.EgyediAzonositokByIntezmeny = ConvertToEgyediAzonositoLista(egyediAzonositokDataSet);
model.SzakkepzesiJuttatasokModel = GetSzakkepzesiJuttatasok();
model.Ugyek = GetUgyek();
model.AdminisztracioModel.isKlebelsberg = ClaimData.IsKlebelsberg;
model.AdminisztracioModel.IsLEPModulEngedelyezett = isLEPModul;
return BuildHTMLContent(model);
}
private AdminDashboardSzakkepzesiJuttatasokModel GetSzakkepzesiJuttatasok()
{
AdminDashboardSzakkepzesiJuttatasokModel model = new AdminDashboardSzakkepzesiJuttatasokModel();
model.IsSzakkepzoJuttatas = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
if (model.IsSzakkepzoJuttatas)
{
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var (NemRendelkezikOsztondijAlapAdattal, NemRendelkezikOsztondijUtalasAdattal) = tanuloHelper.GetSzakkepzesiJuttatasokTanulokDashboardAdatok();
model.NemRendelkezikOsztondijAlapAdattal = NemRendelkezikOsztondijAlapAdattal;
model.NemRendelkezikOsztondijUtalasAdattal = NemRendelkezikOsztondijUtalasAdattal;
}
return model;
}
private AdminDashboardTableModel GetUgyek()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var ugyek = string.Empty;
var eugyIsEnabled = helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.IsEnabled);
if (eugyIsEnabled)
{
var eugyClient = new EugyintezesClient(EugyClientConfiguration);
ugyek = eugyClient.GetUgyek(ClaimData.IntezmenyAzonosito, ClaimData.FelhasznaloIdpEgyediAzonosito, Core.Constants.General.EugyElemekSzamaBoardListaban);
}
return ConvertUgyek(ugyek);
}
private AdminDashboardTableModel ConvertUgyek(string ugyek)
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var result = new AdminDashboardTableModel
{
Url = Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey),
OpenInNewWindow = true,
IsEnabled = true,
Name = RendszerErtesitesResource.EUgyintezes,
Headers = new List<string>
{
RendszerErtesitesResource.Nev,
RendszerErtesitesResource.Osztaly,
RendszerErtesitesResource.Ugytipus,
RendszerErtesitesResource.BekuldesIdopontja,
},
Rows = new List<AdminDashboardTableRowModel>()
};
if (ClaimData.IsDefaultAdminUser || ClaimData.IsKretaTechnicalUser)
{
result.IsEnabled = false;
return result;
}
if (!string.IsNullOrWhiteSpace(ugyek))
{
List<Ugy> ugyList;
try
{
ugyList = JsonConvert.DeserializeObject<List<Ugy>>(ugyek) ?? new List<Ugy>();
}
catch (Exception ex)
{
ugyList = new List<Ugy>();
TraceLogger.Warn($"{RendszerErtesitesResource.EUgyintezesAltalVisszaadottUgyek} {ugyek}");
}
var rows = new List<AdminDashboardTableRowModel>();
foreach (var ugy in ugyList)
{
var row = new AdminDashboardTableRowModel
{
Columns = new List<string>
{
ugy.TanuloNev,
ugy.TanuloOsztaly,
ugy.UgyTipusKod,
SDAFormat.GetShortDateFormat(ugy.BekuldesIdopontja)
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private IList<AdminDashboardItemModel> ConvertDashboardUzenetDataSetToUzenetLista(DataSet ds)
{
IList<AdminDashboardItemModel> result = new List<AdminDashboardItemModel>();
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
var item = new AdminDashboardItemModel()
{
Name = SDAConvert.ToString(row["C_CIM"]),
Content = SDAConvert.ToString(row["C_TARTALOM"]),
Type = (AdminDashboardTipusEnum)SDAConvert.ToInt32(row["C_DASHBOARDUZENETKATEGORIAID"]),
Sorrend = SDAConvert.ToInt32(row["SORREND"]),
EgyediAzonosito = SDAConvert.ToString(row["C_EGYEDIAZONOSITO"])
};
result.Add(item);
}
}
return result.OrderBy(o => o.Sorrend).ToList();
}
private IList<string> ConvertToEgyediAzonositoLista(DataSet ds)
{
IList<string> result = new List<string>();
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
result.Add(row["C_EGYEDIAZONOSITO"].ToString());
}
}
return result;
}
private AdminDashboardAdminisztracioModel ConvertAdminisztracioDataSetToModel(DataSet ds)
{
AdminDashboardAdminisztracioModel model = new AdminDashboardAdminisztracioModel();
if (ds.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].Rows[0];
model.IntezmenyNev = SDAConvert.ToString(dr["IntezmenyNev"]);
model.IntezmenyAzonosito = SDAConvert.ToString(dr["IntezmenyAzonosito"]);
model.IntezmenyAlternativAzonosito = SDAConvert.ToString(dr["IntezmenyAlternativAzonosito"]);
model.TanevNev = SDAConvert.ToString(dr["TanevNev"]);
model.LicenceDatum = SDAConvert.ToDateTime(dr["LicenceDatum"]);
model.NincsFeladatellatasiHelyTipus = SDAConvert.ToInt32(dr["NincsFeladatellatasiHelyTipus"]);
model.NincsFeladatellatasiHelyMukodesiHely = SDAConvert.ToInt32(dr["NincsFeladatellatasiHelyMukodesiHely"]);
model.UresOsztaly = SDAConvert.ToInt32(dr["UresOsztaly"]);
model.UresCsoport = SDAConvert.ToInt32(dr["UresCsoport"]);
model.NincsEvfolyamOsztaly = SDAConvert.ToInt32(dr["NincsEvfolyamOsztaly"]);
model.NincsEvfolyamCsoport = SDAConvert.ToInt32(dr["NincsEvfolyamCsoport"]);
model.NincsTipusCsoport = SDAConvert.ToInt32(dr["NincsTipusCsoport"]);
model.NincsOsztalyOsztalyfonok = SDAConvert.ToInt32(dr["NincsOsztalyOsztalyfonok"]);
model.NincsNemAlkalmazott = SDAConvert.ToInt32(dr["NincsNemAlkalmazott"]);
model.NincsNemTanulo = SDAConvert.ToInt32(dr["NincsNemTanulo"]);
model.NincsMunkakorAlkalmazott = SDAConvert.ToInt32(dr["NincsMunkakorAlkalmazott"]);
model.NincsMunkaviszonyTipusAlkalmazott = SDAConvert.ToInt32(dr["NincsMunkaviszonyTipusAlkalmazott"]);
model.NincsBesorolasiFokozatAlkalmazott = SDAConvert.ToInt32(dr["NincsBesorolasiFokozatAlkalmazott"]);
model.NincsAnyanyelvTanulo = SDAConvert.ToInt32(dr["NincsAnyanyelvTanulo"]);
model.NincsAllampolgarsagaTanulo = SDAConvert.ToInt32(dr["NincsAllampolgarsagaTanulo"]);
model.NincsAktivCsengetesiRend = SDAConvert.ToInt32(dr["NincsAktivCsengetesiRend"]);
model.NincsKategoriaTantargy = SDAConvert.ToInt32(dr["NincsKategoriaTantargy"]);
model.NSzFHRosszMunkakor = SDAConvert.ToInt32(dr["NSzFHRosszMunkakor"]);
model.NincsEmailAlkalmazott = SDAConvert.ToInt32(dr["NincsEmailAlkalmazott"]);
model.NincsAlkalmazottSZTSZ = SDAConvert.ToInt32(dr["NincsAlkalmazottSZTSZ"]);
model.VanHibasEmailCim = SDAConvert.ToInt32(dr["VanHibasEmailCim"]) > 0;
model.VanKettosOsztalybesorolas = SDAConvert.ToInt32(dr["VanKettosOsztalybesorolas"]);
model.VanCovidFertozott = SDAConvert.ToInt32(dr["VanCovidFertozott"]) > 0;
model.VanCovidBejelentett = SDAConvert.ToInt32(dr["VanCovidBejelentett"]) > 0;
}
model.HibasanRogzitettOktatasiAzonositok = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetTanuloItemCoList(new Tanulo.Models.TanuloSearchModel() { IsHibasanRogzitettOktatasiAzonositok = true, FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria }.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev)).Count;
model.HibasanRogzitettTajSzamok = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetTanuloItemCoList(new Tanulo.Models.TanuloSearchModel() { IsHibasanRogzitettTajSzamok = true, FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria, Aktiv = true }.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev)).Count;
model.HibasanRogzitettAdoazonositoJelek = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetTanuloItemCoList(new Tanulo.Models.TanuloSearchModel() { IsHibasanRogzitettAdoazonositoJelek = true, FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria, Aktiv = true }.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev)).Count;
return model;
}
private AdminDashboardNaploModel ConvertNaploDataSetToModel(DataSet ds)
{
AdminDashboardNaploModel model = new AdminDashboardNaploModel();
if (ds.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].Rows[0];
model.IntezmenyNev = SDAConvert.ToString(dr["IntezmenyNev"]);
model.IntezmenyAzonosito = SDAConvert.ToString(dr["IntezmenyAzonosito"]);
model.IntezmenyAlternativAzonosito = SDAConvert.ToString(dr["IntezmenyAlternativAzonosito"]);
model.TanevNev = SDAConvert.ToString(dr["TanevNev"]);
model.ZarasiGond = SDAConvert.ToInt32(dr["ZarasiGond"]);
model.NincsBelepesAlkalmazott = SDAConvert.ToInt32(dr["NincsBelepesAlkalmazott"]);
model.NincsBelepesTanulo = SDAConvert.ToInt32(dr["NincsBelepesTanulo"]);
model.NincsBelepesGondviselo = SDAConvert.ToInt32(dr["NincsBelepesGondviselo"]);
model.NemLepettBeHonapAlkalmazott = SDAConvert.ToInt32(dr["NemLepettBeHonapAlkalmazott"]);
model.NemLepettBeKetHetAlkalmazott = SDAConvert.ToInt32(dr["NemLepettBeKetHetAlkalmazott"]);
}
model.NaploZarasTipusa = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<NaplozarasTipusaEnum>(RendszerBeallitasTipusEnum.Havi_vagy_heti_naplozaras);
model.NaploZarasanakBeallitasa = GetNaploZarasanakBeallitasa();
model.NaploFixDatumuZarasanakIdopontja = GetNaploFixDatumuZarasanakIdopontja();
return model;
}
private string GetNaploZarasanakBeallitasa()
{
string naploZarasanakBeallitasa = string.Empty;
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var naploZarasTipusa = systemSettingsHelper.GetSystemSettingValue<NaplozarasTipusaEnum>(RendszerBeallitasTipusEnum.Havi_vagy_heti_naplozaras);
var naploZarasHaviErtek = systemSettingsHelper.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Naplozaras_havi_ertek);
var naploZarasHetiErtek = systemSettingsHelper.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Naplozaras_heti_ertek);
switch (naploZarasTipusa)
{
case NaplozarasTipusaEnum.Havi:
naploZarasanakBeallitasa = string.Format(RendszerErtesitesResource.NaploZarasanakBeallitasaHavi, naploZarasHaviErtek);
break;
case NaplozarasTipusaEnum.Heti:
naploZarasanakBeallitasa = string.Format(RendszerErtesitesResource.NaploZarasanakBeallitasaHeti, naploZarasHetiErtek);
break;
case NaplozarasTipusaEnum.NincsMegadva:
naploZarasanakBeallitasa = RendszerErtesitesResource.NaploZarasanakBeallitasaNincsBeallitva;
break;
default:
break;
}
return naploZarasanakBeallitasa;
}
private string GetNaploFixDatumuZarasanakIdopontja()
{
var naploFixDatumuZarasanakIdopontja = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Naplozaras_eves_datuma);
return naploFixDatumuZarasanakIdopontja.HasValue ? naploFixDatumuZarasanakIdopontja.Value.ToString("yyyy.MM.dd.") : string.Empty;
}
private AdminDashboardStatisztikaModel ConvertStatisztikaDataSetToModel(DataSet ds)
{
AdminDashboardStatisztikaModel model = new AdminDashboardStatisztikaModel();
if (ds.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].Rows[0];
model.IntezmenyNev = SDAConvert.ToString(dr["IntezmenyNev"]);
model.IntezmenyAzonosito = SDAConvert.ToString(dr["IntezmenyAzonosito"]);
model.IntezmenyAlternativAzonosito = SDAConvert.ToString(dr["IntezmenyAlternativAzonosito"]);
model.TanevNev = SDAConvert.ToString(dr["TanevNev"]);
model.AktivTanevNeve = SDAConvert.ToString(dr["AktivTanevNeve"]);
model.AlkalmazottakSzama = SDAConvert.ToInt32(dr["AlkalmazottakSzama"]);
model.AktivTanulokSzama = SDAConvert.ToInt32(dr["AktivTanulokSzama"]);
model.TanulokSzama = SDAConvert.ToInt32(dr["TanulokSzama"]);
model.TermekSzama = SDAConvert.ToInt32(dr["TermekSzama"]);
model.EszkozokSzama = SDAConvert.ToInt32(dr["EszkozokSzama"]);
model.OsztalyokSzama = SDAConvert.ToInt32(dr["OsztalyokSzama"]);
model.CsoportokSzama = SDAConvert.ToInt32(dr["CsoportokSzama"]);
model.TtfOrakSzama = SDAConvert.ToDouble(dr["TtfOrakSzama"]);
}
return model;
}
public JsonResult AdattisztitasFrissitese()
{
DataSet adattisztitasAlkalmazottDataSet;
var helper = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType());
adattisztitasAlkalmazottDataSet = helper.GetAdminDashboardAdattisztitasAlkalmazott();
ConvertAdattisztitasAlkalmazottDataSetToModel(adattisztitasAlkalmazottDataSet);
return Json(new
{
adattisztitasUtolsoFrissites = AdminDashboardAdattisztitasAlkalmazottModel.AdattisztitasUtolsoFrissites.ToString(),
alkalmazottakSzama = AdminDashboardAdattisztitasAlkalmazottModel.AlkalmazottakSzama,
alkalmazottakOsszesHibai = AdminDashboardAdattisztitasAlkalmazottModel.AlkalmazottakOsszesHibai
}, JsonRequestBehavior.AllowGet);
}
private void ConvertAdattisztitasAlkalmazottDataSetToModel(DataSet ds)
{
if (ds.Tables[0].Rows.Count > 0)
{
AdminDashboardAdattisztitasAlkalmazottModel.AlkalmazottakSzama = ds.Tables[0].Rows.Count;
AdminDashboardAdattisztitasAlkalmazottModel.AlkalmazottakOsszesHibai = 0;
foreach (DataRow row in ds.Tables[0].Rows)
{
AdminDashboardAdattisztitasAlkalmazottModel.AlkalmazottakOsszesHibai += SDAConvert.ToInt32(row["HibakSzama"]);
}
AdminDashboardAdattisztitasAlkalmazottModel.AdattisztitasUtolsoFrissites = DateTime.Now;
}
}
#endregion Helpers
public AdminDashboardModel BuildHTMLContent(AdminDashboardModel model)
{
AdminDashboardAdminisztracioModel adminisztracioModel = model.AdminisztracioModel;
var uzenetek = new List<AdminDashboardItemModel>();
foreach (var uzenet in model.DashboardUzenetek)
{
if (Constants.AdminDashboardEgyediAzonositok.LICENCINFOWARN.Equals(uzenet.EgyediAzonosito) ||
Constants.AdminDashboardEgyediAzonositok.LICENCINFOERROR.Equals(uzenet.EgyediAzonosito))
{
#region LicenceInfo
if (adminisztracioModel.LicenceDatum.HasValue && adminisztracioModel.LicenceDatum.Value < DateTime.Now)
{
uzenet.Content = string.Format(uzenet.Content, adminisztracioModel.LicenceDatum.Value.ToShortDateString());
}
else if (adminisztracioModel.LicenceDatum.HasValue && adminisztracioModel.LicenceDatum.Value < DateTime.Now.AddDays(7))
{
uzenet.Content = string.Format(uzenet.Content, adminisztracioModel.LicenceDatum.Value.ToShortDateString());
}
else
{
continue;
}
#endregion LicenceInfo
}
else if (Constants.AdminDashboardEgyediAzonositok.ADMINHIBAK.Equals(uzenet.EgyediAzonosito) ||
Constants.AdminDashboardEgyediAzonositok.ADMINHIBAK_KK.Equals(uzenet.EgyediAzonosito))
{
#region Admin hibák
#region NSZFH
//Note: https://jira.ekreta.hu/browse/KRETA-6456
//bool isNSzFH = ApplicationData.SystemType == SystemType.NemzetiSzakkepzesiEsFelnottkepzesiHivatal;
//if (isNSzFH)
//{
// string NSZFHHtml = "";
// NSZFHHtml += GetContent("", RendszerErtesitesResource.NSzFHMunkakorContent);
// NSZFHHtml += "<table class='fullwidth'>";
// NSZFHHtml += GetRowWithUrl(
// RendszerErtesitesResource.NSzFHMunkakorNumberRow,
// Url.Action("Index", "Alkalmazott", new { area = "Alkalmazott", filter = "nemcsillagosmunkakor" }),
// adminisztracioModel.NSzFHRosszMunkakor.ToString());
// NSZFHHtml += "</table>";
// itemModel = new AdminDashboardItemModel
// {
// Name = RendszerErtesitesResource.NSzFHMunkakorTitle,
// Content = string.Format("<div class='content'>{0}</div>", NSZFHHtml),
// Type = adminisztracioModel.NSzFHRosszMunkakor > 0 ? AdminDashboardTipusEnum.Error : AdminDashboardTipusEnum.Success
// };
// Html.RenderPartial("AdminDashboardItem", itemModel);
//}
#endregion NSZFH
bool isAdminHibakRendben = true;
CustomStringBuilder adminHibakTable = "<table class='fullwidth'>";
if (adminisztracioModel.NincsAktivCsengetesiRend == 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetSingleRow(RendszerErtesitesResource.AdminHibakNincsAktivCsengetesiRend);
}
if (adminisztracioModel.NincsNemAlkalmazott != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsNemAlkalmazott,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsnem" }),
adminisztracioModel.NincsNemAlkalmazott.ToString());
}
if (adminisztracioModel.NincsNemTanulo != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsNemTanulo,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "nincsnem" }),
adminisztracioModel.NincsNemTanulo.ToString());
}
if (adminisztracioModel.UresOsztaly != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakUresOsztaly,
Url.Action("Index", Constants.Controllers.Osztaly, new { area = Constants.Areas.OsztalyCsoport, filter = "ures" }),
adminisztracioModel.UresOsztaly.ToString());
}
if (adminisztracioModel.UresCsoport != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakUresCsoport,
Url.Action("Index", Constants.Controllers.Csoport, new { area = Constants.Areas.OsztalyCsoport, filter = "ures" }),
adminisztracioModel.UresCsoport.ToString());
}
if (adminisztracioModel.NincsEvfolyamOsztaly != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsEvfolyamOsztaly,
Url.Action("Index", Constants.Controllers.Osztaly, new { area = Constants.Areas.OsztalyCsoport, filter = "nincsevfolyam" }),
adminisztracioModel.NincsEvfolyamOsztaly.ToString());
}
if (adminisztracioModel.NincsEvfolyamCsoport != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsEvfolyamCsoport,
Url.Action("Index", Constants.Controllers.Csoport, new { area = Constants.Areas.OsztalyCsoport, filter = "nincsevfolyam" }),
adminisztracioModel.NincsEvfolyamCsoport.ToString());
}
if (adminisztracioModel.NincsTipusCsoport != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsTipusCsoport,
Url.Action("Index", Constants.Controllers.Csoport, new { area = Constants.Areas.OsztalyCsoport, filter = "nincstipus" }),
adminisztracioModel.NincsTipusCsoport.ToString());
}
if (adminisztracioModel.NincsFeladatellatasiHelyMukodesiHely != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsFeladatellatasiHelyMukodesiHely,
Url.Action("Index", Constants.Controllers.Intezmeny, new { area = Constants.Areas.Intezmeny }),
adminisztracioModel.NincsFeladatellatasiHelyMukodesiHely.ToString());
}
if (adminisztracioModel.NincsFeladatellatasiHelyTipus != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsFeladatellatasiHelyTipus,
Url.Action("Index", Constants.Controllers.Intezmeny, new { area = Constants.Areas.Intezmeny }),
adminisztracioModel.NincsFeladatellatasiHelyTipus.ToString());
}
if (adminisztracioModel.NincsKategoriaTantargy != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsKategoriaTantargy,
Url.Action("Index", Constants.Controllers.Tantargyak, new { area = Constants.Areas.Tantargy, filter = "nincskategoria" }),
adminisztracioModel.NincsKategoriaTantargy.ToString());
}
if (adminisztracioModel.NincsBesorolasiFokozatAlkalmazott != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsBesorolasiFokozatTanar,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsbesorolas" }),
adminisztracioModel.NincsBesorolasiFokozatAlkalmazott.ToString());
}
if (adminisztracioModel.NincsMunkakorAlkalmazott != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsMunkakorTanar,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsmunkakor" }),
adminisztracioModel.NincsMunkakorAlkalmazott.ToString());
}
if (adminisztracioModel.NincsMunkaviszonyTipusAlkalmazott != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsMunkaviszonyTipusTanar,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsmunkaviszony" }),
adminisztracioModel.NincsMunkaviszonyTipusAlkalmazott.ToString());
}
if (adminisztracioModel.NincsOsztalyOsztalyfonok != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsOsztalyOsztalyfonok,
Url.Action("Index", Constants.Controllers.Osztaly, new { area = Constants.Areas.OsztalyCsoport, filter = "nincsosztalyfonok" }),
adminisztracioModel.NincsOsztalyOsztalyfonok.ToString());
}
if (adminisztracioModel.NincsAllampolgarsagaTanulo != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsAllampolgarsagaTanulo,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "nincsallampolgarsag" }),
adminisztracioModel.NincsAllampolgarsagaTanulo.ToString());
}
if (adminisztracioModel.NincsAnyanyelvTanulo != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakNincsAnyanyelvTanulo,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "nincsanyanyelv" }),
adminisztracioModel.NincsAnyanyelvTanulo.ToString());
}
if (adminisztracioModel.VanKettosOsztalybesorolas > 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakKettosOsztalybesorolasuTanulo,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "vanKettosOsztalybesorolas" }),
adminisztracioModel.VanKettosOsztalybesorolas.ToString());
}
if (adminisztracioModel.NincsEmailAlkalmazott != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NincsEmailTanar,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsEmail" }),
adminisztracioModel.NincsEmailAlkalmazott.ToString());
}
if (Constants.AdminDashboardEgyediAzonositok.ADMINHIBAK_KK.Equals(uzenet.EgyediAzonosito) && adminisztracioModel.NincsAlkalmazottSZTSZ != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NincsAlkalmazottSZTSZ,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsSztsz" }),
adminisztracioModel.NincsAlkalmazottSZTSZ.ToString());
}
if (adminisztracioModel.HibasanRogzitettOktatasiAzonositok != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakHibasanRogzitettOktatasiAzonositok,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "hibasanRogzitettOktatasiAzonositok" }),
adminisztracioModel.HibasanRogzitettOktatasiAzonositok.ToString());
}
if (adminisztracioModel.HibasanRogzitettTajSzamok != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakHibasanRogzitettTajSzamok,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "hibasanRogzitettTajSzamok" }),
adminisztracioModel.HibasanRogzitettTajSzamok.ToString());
}
if (adminisztracioModel.HibasanRogzitettAdoazonositoJelek != 0)
{
isAdminHibakRendben = false;
adminHibakTable += GetRowWithUrl(
RendszerErtesitesResource.AdminHibakHibasanRogzitettAdoazonositoJelek,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "hibasanRogzitettAdoazonositoJelek" }),
adminisztracioModel.HibasanRogzitettAdoazonositoJelek.ToString());
}
adminHibakTable += "</table>";
if (!isAdminHibakRendben)
{
adminHibakTable += string.Format("<div class='contentDescription'>{0}</div>", RendszerErtesitesResource.AdminHibakLeiras);
}
uzenet.Content = isAdminHibakRendben ? RendszerErtesitesResource.MindenRendben : adminHibakTable.ToString();
uzenet.Type = isAdminHibakRendben ? AdminDashboardTipusEnum.Success : AdminDashboardTipusEnum.Warning;
#endregion Admin hibák
}
else if (Constants.AdminDashboardEgyediAzonositok.KLEBERSBERG.Equals(uzenet.EgyediAzonosito))
{
#region KlebelsbergKozpont hibás OktAzon
if (model.AdminisztracioModel.isKlebelsberg)
{
uzenet.Content = string.Format(uzenet.Content, Url.Action("DowloladHibasOktAzonExel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
}
else
{
continue;
}
#endregion KlebelsbergKozpont hibás OktaAzon
}
else if (Constants.AdminDashboardEgyediAzonositok.NAPLOHIBAK.Equals(uzenet.EgyediAzonosito))
{
#region Napló hibák
bool isNaploHibakRendben = true;
string naploHibakTable = "<table class='fullwidth'>";
AdminDashboardNaploModel naploModel = model.NaploModel;
if (naploModel.ZarasiGond != 0)
{
isNaploHibakRendben = false;
if (ClaimData.IsActivTanev)
{
naploHibakTable += GetSingleRowWithUrl(
RendszerErtesitesResource.NaploHibakZarasiGond,
Url.Action("Index", Constants.Controllers.SystemSettings, new { area = Constants.Areas.Adminisztracio }));
}
else
{
naploHibakTable += GetSingleRow(RendszerErtesitesResource.NaploHibakZarasiGond);
}
}
if (naploModel.NincsBelepesAlkalmazott != 0)
{
isNaploHibakRendben = false;
naploHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NaploHibakNincsBelepesTanar,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nincsbelepesalkalmazott" }),
naploModel.NincsBelepesAlkalmazott.ToString());
}
if (naploModel.NincsBelepesTanulo != 0)
{
isNaploHibakRendben = false;
naploHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NaploHibakNincsBelepesTanulo,
Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "nincsbelepestanulo" }),
naploModel.NincsBelepesTanulo.ToString());
}
if (naploModel.NincsBelepesGondviselo != 0)
{
isNaploHibakRendben = false;
naploHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NaploHibakNincsBelepesGondviselo,
Url.Action("Index", Constants.Controllers.Felhasznalok, new { area = Constants.Areas.Felhasznalok, filter = "nincsbelepesgondviselo" }),
naploModel.NincsBelepesGondviselo.ToString());
}
if (naploModel.NemLepettBeKetHetAlkalmazott != 0)
{
isNaploHibakRendben = false;
naploHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NaploHibakNemLepettBeKetHetTanar,
Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "nembelepettalkalmazottkethet" }),
naploModel.NemLepettBeKetHetAlkalmazott.ToString());
}
if (!string.IsNullOrWhiteSpace(naploModel.NaploZarasanakBeallitasa))
{
isNaploHibakRendben = false;
naploHibakTable += GetRowWithUrlAndStyle(
RendszerErtesitesResource.NaploZarasanakBeallitasa,
Url.Action("Index", Constants.Controllers.SystemSettings, new { area = Constants.Areas.Adminisztracio }),
naploModel.NaploZarasanakBeallitasa,
naploModel.NaploZarasTipusa.Equals(NaplozarasTipusaEnum.NincsMegadva) ? "color: red;" : string.Empty);
}
if (!string.IsNullOrWhiteSpace(naploModel.NaploFixDatumuZarasanakIdopontja))
{
isNaploHibakRendben = false;
naploHibakTable += GetRowWithUrl(
RendszerErtesitesResource.NaploFixDatumuZarasanakIdopontja,
Url.Action("Index", Constants.Controllers.SystemSettings, new { area = Constants.Areas.Adminisztracio }),
naploModel.NaploFixDatumuZarasanakIdopontja);
}
naploHibakTable += "</table>";
if (!isNaploHibakRendben)
{
naploHibakTable += string.Format("<div class='contentDescription'>{0}</div>", RendszerErtesitesResource.NaploHibakLeiras);
}
uzenet.Content = isNaploHibakRendben ? RendszerErtesitesResource.MindenRendben : naploHibakTable;
if (naploModel.NaploZarasTipusa.Equals(NaplozarasTipusaEnum.NincsMegadva))
{
uzenet.Type = AdminDashboardTipusEnum.Error;
}
else if (isNaploHibakRendben && (naploModel.NaploZarasTipusa.Equals(NaplozarasTipusaEnum.Havi) || naploModel.NaploZarasTipusa.Equals(NaplozarasTipusaEnum.Heti)))
{
uzenet.Type = AdminDashboardTipusEnum.Success;
}
else
{
uzenet.Type = AdminDashboardTipusEnum.Warning;
}
#endregion Napló hibák
}
else if (Constants.AdminDashboardEgyediAzonositok.STATISZTIKA.Equals(uzenet.EgyediAzonosito))
{
#region Statisztika
string statisztikaHtml = "<table class='fullwidth'>";
AdminDashboardStatisztikaModel statisztikaModel = model.StatisztikaModel;
statisztikaHtml += GetRow(RendszerErtesitesResource.StatisztikaAktivTanevNeve, statisztikaModel.AktivTanevNeve);
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaTanarokSzama, Url.Action("Index", Constants.Controllers.Alkalmazott, new { area = Constants.Areas.Alkalmazott, filter = "AktivAlkalmazottak" }), statisztikaModel.AlkalmazottakSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaAktivTanulokSzama, Url.Action("AktivTanulok", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo }), statisztikaModel.AktivTanulokSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaTanulokSzama, Url.Action("Index", Constants.Controllers.Tanulo, new { area = Constants.Areas.Tanulo, filter = "minden" }), statisztikaModel.TanulokSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaOsztalyokSzama, Url.Action("Index", Constants.Controllers.Osztaly, new { area = Constants.Areas.OsztalyCsoport, filter = "minden" }), statisztikaModel.OsztalyokSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaCsoportokSzama, Url.Action("Index", Constants.Controllers.Csoport, new { area = Constants.Areas.OsztalyCsoport, filter = "minden" }), statisztikaModel.CsoportokSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaTtfOrakSzama, Url.Action("Index", Constants.Controllers.Tantargyfelosztas, new { area = Constants.Areas.Tantargy, filter = "minden" }), statisztikaModel.TtfOrakSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaTermekSzama, Url.Action("Index", Constants.Controllers.Terem, new { area = Constants.Areas.Intezmeny }), statisztikaModel.TermekSzama.ToString());
statisztikaHtml += GetRowWithUrl(RendszerErtesitesResource.StatisztikaEszkozokSzama, Url.Action("Index", Constants.Controllers.Eszkozok, new { area = Constants.Areas.Intezmeny }), statisztikaModel.EszkozokSzama.ToString());
statisztikaHtml += "</table>";
uzenet.Content = statisztikaHtml;
#endregion Statisztika
}
else if (Constants.AdminDashboardEgyediAzonositok.ADATTISZTITAS.Equals(uzenet.EgyediAzonosito))
{
string adattisztitasHtml = "<table class='fullwidth'>";
adattisztitasHtml += "<tr style='font-weight:bold'><td>Adatkör</td><td class='textAlignRight'>Adattisztasági mutató</td></tr>";
adattisztitasHtml += GetRowForAdattisztitas(
RendszerErtesitesResource.AdattisztitasAlkalmazott,
Url.Action("DownloadAdattisztitasAlkalmazottExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
adattisztitasHtml += GetSingleRow(RendszerErtesitesResource.AdattisztitasDiak);
adattisztitasHtml += GetSingleRow(RendszerErtesitesResource.AdattisztitasIntezmeny);
adattisztitasHtml += GetSingleRow(RendszerErtesitesResource.AdattisztitasTerem);
adattisztitasHtml += GetSingleRow(RendszerErtesitesResource.AdattisztitasOsztaly);
adattisztitasHtml += GetSingleRow(RendszerErtesitesResource.AdattisztitasCsoport);
adattisztitasHtml += GetSingleRow(RendszerErtesitesResource.AdattisztitasGondviselo);
adattisztitasHtml += GetSingleRow("<button id='adattisztitasGomb' type='button' data-role='button' class='k-button ignore-ajaxhelper' role='button' aria-disabled='false' tabindex='0'>Frissítés</button>");
adattisztitasHtml += GetSingleRow("<div class='kendoTooltip'>" + "<span>Utolsó frissítés: " + "</span>" + "<span id='adattisztitasIdo'>" + "</span>" + "</div>");
adattisztitasHtml += "</table>";
uzenet.Content += adattisztitasHtml;
}
else if (Constants.AdminDashboardEgyediAzonositok.RENDSZERFRISSITESI.Equals(uzenet.EgyediAzonosito))
{
string shortMainVersion = KretaVersion.Instance.ShortMainVersion;
string nextUpdateDateTimeText = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKovTelepitesDatum().ToString("yyyy.MM.dd. HH:mm");
uzenet.Content = string.Format(uzenet.Content, shortMainVersion, new MvcHtmlString(nextUpdateDateTimeText));
}
else if (Constants.AdminDashboardEgyediAzonositok.GYIK_AKTIVTANEV.Equals(uzenet.EgyediAzonosito))
{
if (model.StatisztikaModel.AktivTanevNeve != "2017/2018")
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.GYIK_REGITANEV.Equals(uzenet.EgyediAzonosito))
{
if (model.StatisztikaModel.AktivTanevNeve == "2017/2018")
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.KKEFOP324.Equals(uzenet.EgyediAzonosito))
{
continue;
}
else if (Constants.AdminDashboardEgyediAzonositok.LEPMODUL.Equals(uzenet.EgyediAzonosito))
{
if (!model.AdminisztracioModel.IsLEPModulEngedelyezett)
{
continue;
}
else
{
uzenet.Content = string.Format(uzenet.Content, Url.Action("LEPSzakmaiUtmutato", Constants.Controllers.Nyomtatvanyok, new { area = Constants.Areas.Nyomtatvanyok }));
}
}
else if (Constants.AdminDashboardEgyediAzonositok.LEPMODULNEMELERHETO.Equals(uzenet.EgyediAzonosito))
{
if (!model.EgyediAzonositokByIntezmeny.Contains(uzenet.EgyediAzonosito))
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.DIRTYEMAILWARN.Equals(uzenet.EgyediAzonosito))
{
if (adminisztracioModel.VanHibasEmailCim)
{
uzenet.Content = string.Format(uzenet.Content, Url.Action("DownloadDirtyEmail", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
}
else
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.OSZTONDIJALAPADATOK.Equals(uzenet.EgyediAzonosito))
{
AdminDashboardSzakkepzesiJuttatasokModel szakkepzesiJuttatasokModel = model.SzakkepzesiJuttatasokModel;
if (szakkepzesiJuttatasokModel.IsSzakkepzoJuttatas && ClaimData.IsAdministrator)
{
string osztondijAlapadatokHtml = "<table class='fullwidth'>";
osztondijAlapadatokHtml += GetRowWithUrl(RendszerErtesitesResource.NemRendelkezikOsztondijAlapAdattal, Url.Action("DownloadNemRendelkezikOsztondijAlapAdattalExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio, filter = "nincsOsztondijAlapAdat" }), szakkepzesiJuttatasokModel.NemRendelkezikOsztondijAlapAdattal.ToString());
osztondijAlapadatokHtml += "</table>";
osztondijAlapadatokHtml += string.Format("<div class='contentDescription'>{0}</div>", RendszerErtesitesResource.NemRendelkezikOsztondijAlapAdattalSzoveg);
uzenet.Content = osztondijAlapadatokHtml;
}
else
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.OSZTONDIJUTALAS.Equals(uzenet.EgyediAzonosito))
{
AdminDashboardSzakkepzesiJuttatasokModel szakkepzesiJuttatasokModel = model.SzakkepzesiJuttatasokModel;
if (szakkepzesiJuttatasokModel.IsSzakkepzoJuttatas && ClaimData.IsAdministrator)
{
string osztondijUtalasHtml = "<table class='fullwidth'>";
osztondijUtalasHtml += GetRowWithUrl(RendszerErtesitesResource.NemRendelkezikOsztondijUtalasAdattal, Url.Action("DownloadNemRendelkezikOsztondijUtalasAdattalExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio, filter = "nincsOsztondijUtalasAdat" }), szakkepzesiJuttatasokModel.NemRendelkezikOsztondijUtalasAdattal.ToString());
osztondijUtalasHtml += "</table>";
osztondijUtalasHtml += string.Format("<div class='contentDescription'>{0}</div>", RendszerErtesitesResource.NemRendelkezikOsztondijUtalasAdattalSzoveg);
uzenet.Content = osztondijUtalasHtml;
}
else
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.COVIDINFO.Equals(uzenet.EgyediAzonosito))
{
if (adminisztracioModel.VanCovidFertozott)
{
uzenet.Content = string.Format(uzenet.Content, Url.Action("DownloadCovidFertozott", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
}
else
{
uzenet.Content = RendszerErtesitesResource.AzIntezmenybenMegNincsAzonositottEset;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.COVIDBEJELENTETT.Equals(uzenet.EgyediAzonosito))
{
if (adminisztracioModel.VanCovidBejelentett)
{
DateTime? legutolsoBejelentesDatuma = null;
DataSet covidBejelentettek = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCovidBejelentettekDS();
if (covidBejelentettek != null && covidBejelentettek.Tables.Count > 0 && covidBejelentettek.Tables[0].Rows.Count > 0)
{
legutolsoBejelentesDatuma = covidBejelentettek.Tables[0].Rows.Cast<DataRow>().Max(row => SDAConvert.ToDateTime(row["BejelentesDatuma"]));
}
uzenet.Content = string.Format(uzenet.Content, !legutolsoBejelentesDatuma.HasValue ? string.Empty : string.Format("<strong>Legutóbbi bejelentés ideje: {0} </strong>", legutolsoBejelentesDatuma.Value.ToString(Kreta.Core.Constants.ToStringPattern.HungarianDate)), Url.Action("DownloadCovidBejelentettek", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
}
else
{
uzenet.Content = RendszerErtesitesResource.AzOnIntezmenybenMegNemJeleztekAGondviselok;
}
}
else if (model.Ugyek.IsEnabled)
{
if (ClaimData.IsAdministrator)
{
model.Ugyek.IsEnabled = false;
}
else
{
continue;
}
}
if (Constants.AdminDashboardEgyediAzonositok.DEFAULTADMIN == uzenet.EgyediAzonosito)
{
if (!ClaimData.IsDefaultAdminUser)
{
continue;
}
}
else if (Constants.AdminDashboardEgyediAzonositok.SAPADATTISZTASAGIMUTATO.Equals(uzenet.EgyediAzonosito))
{
uzenet.Content = string.Format(uzenet.Content, Url.Action("DownloadSapAdattisztasagExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
}
else if (Constants.AdminDashboardEgyediAzonositok.ALKALMAZOTTAKADATSZINKRONJA.Equals(uzenet.EgyediAzonosito))
{
uzenet.Content = string.Format(uzenet.Content, Url.Action("DownloadAlkalmazottakAdatszinkronjaExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio }));
}
else if (Constants.AdminDashboardEgyediAzonositok.ESZKOZIGENYLESGONDVISELOREPORTOK.Equals(uzenet.EgyediAzonosito))
{
#region Eszközigénylés gondviselő
var feltarGondviseloEnabled = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.FeltarGondviselo, IntezmenyConfigTipusEnum.IsEnabled);
if (feltarGondviseloEnabled)
{
uzenet.Type = AdminDashboardTipusEnum.Warning;
uzenet.Content = string.Format(uzenet.Content
, Url.Action("DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsSzuloGondviseloFelhasznalonevExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamNincsTorvenyesKepviseloExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamAszfNincsElfogadvaExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("DownloadDigitalisOktatasEgyenloHozzaferesFeltetel9EvfolyamSzuloElinditottaRegFolyamatotExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
);
}
else
{
continue;
}
#endregion Eszközigénylés gondviselő
}
else if (Constants.AdminDashboardEgyediAzonositok.ESZKOZIGENYLESPEDAGOGUSREPORTOK.Equals(uzenet.EgyediAzonosito))
{
if (!ClaimData.FeltarAlkalmazottEnabled)
{
continue;
}
uzenet.Type = AdminDashboardTipusEnum.Warning;
uzenet.Content = string.Format(uzenet.Content
, Url.Action("GetEszkozIRTanarokExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("GetEszkozIRNemTanarokExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("GetEszkozIRAlkalmazottakFelhasznaloVagyNaploNelkulExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("GetEszkozIRNemRegisztraltTanarokExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
, Url.Action("GetEszkozIRRegisztraltTanarokExcel", Constants.Controllers.RendszerHibaErtesites, new { area = Constants.Areas.Adminisztracio })
);
}
uzenet.Content = string.Format("<div class='content'>{0}</div>", uzenet.Content);
uzenetek.Add(uzenet);
}
var modelView = new AdminDashboardModel
{
AdminisztracioModel = model.AdminisztracioModel,
DashboardUzenetek = uzenetek,
EgyediAzonositokByIntezmeny = model.EgyediAzonositokByIntezmeny,
NaploModel = model.NaploModel,
StatisztikaModel = model.StatisztikaModel,
SzakkepzesiJuttatasokModel = model.SzakkepzesiJuttatasokModel,
Ugyek = model.Ugyek
};
return modelView;
}
private string GetContent(string header, string content)
{
const string rowTemplate = "<div class='contentHeader'>{0}</div><div class='contentContent'>{1}</div>";
var result = string.Format(rowTemplate, header, content);
return result;
}
private string GetRow(string text, string value)
{
const string rowTemplate = "<tr><td>{0}:</td><td class='textAlignRight'>{1}</td></tr>";
var result = string.Format(rowTemplate, text, value);
return result;
}
private string GetRowWithUrl(string text, string url, string value)
{
const string rowTemplate = "<tr><td>{0}:</td><td class='textAlignRight'><a class='redirectionLink' href='{1}'>{2}</a></td></tr>";
var result = string.Format(rowTemplate, text, url, value);
return result;
}
private string GetRowWithUrlAndStyle(string text, string url, string value, string style)
{
const string rowTemplate = "<tr><td>{0}:</td><td class='textAlignRight'><a class='redirectionLink' href='{1}' style='{3}'>{2}</a></td></tr>";
var result = string.Format(rowTemplate, text, url, value, style);
return result;
}
private string GetSingleRow(string text)
{
const string rowTemplate = "<tr><td colspan='2'>{0}</td></tr>";
var result = string.Format(rowTemplate, text);
return result;
}
private string GetSingleRowWithUrl(string text, string url)
{
const string rowTemplate = "<tr><td colspan='2'><a class='redirectionLink' href='{1}' target='_blank'>{0}</a></td></tr>";
var result = string.Format(rowTemplate, text, url);
return result;
}
private string GetRowForAdattisztitas(string text, string url)
{
const string rowTemplate = "<tr><td>{0}</td><td class='textAlignRight'><a class='redirectionLink' href='{1}'><span id='adattisztitas{0}'></span> <span style='text-transform:lowercase'>{0},</span> <span id='adattisztitas{0}Hiba'></span> hiba</a></td></tr>";
var result = string.Format(rowTemplate, text, url);
return result;
}
}
}