init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,196 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanarImportController : Controller
|
||||
{
|
||||
private IFeatureContext FeatureContext { get; }
|
||||
|
||||
private IUploadFileValidator UploadFileValidator { get; }
|
||||
|
||||
public TanarImportController(IFeatureContext featureContext, IUploadFileValidator uploadFileValidator)
|
||||
{
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
UploadFileValidator = uploadFileValidator ?? throw new ArgumentNullException(nameof(uploadFileValidator));
|
||||
}
|
||||
|
||||
// GET: Adminisztracio/TanarImport
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new TanarKIRImportModel
|
||||
{
|
||||
KirLoginModel = new KIRLoginModel()
|
||||
{
|
||||
OmAzonosito = ClaimData.OrganizationCode,
|
||||
},
|
||||
KIRImportEnabled = FeatureContext.IsEnabled(Core.Constants.FeatureName.KIRImport),
|
||||
MaxAllowedFileSizeInBytes = UploadFileValidator.Configuration.ImportMaxAllowedFileSizeInBytes,
|
||||
AllowedFileExtensions = UploadFileValidator.Configuration.ImportAllowedFileExtensions
|
||||
};
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenKIRTanarImportPopup(TanarKIRImportModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var kirHelper = new KirHelper(ConnectionTypeExtensions.GetSessionConnectionType(), model.KirLoginModel.OmAzonosito, model.KirLoginModel.FelhasznaloNev, jelszo: model.KirLoginModel.Jelszo);
|
||||
|
||||
var tanaresTanuloKIRImportModel = new TanarKIRImportModel
|
||||
{
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
FeladatellatasiHelyId = model.FeladatellatasiHelyId,
|
||||
KIRImportModel = new KIRImportModel
|
||||
{
|
||||
OmAzonosito = model.KirLoginModel.OmAzonosito,
|
||||
KirToken = kirHelper.KirToken,
|
||||
TelephelyList = kirHelper.GetTelephelyList().ToSelectListItemList(),
|
||||
FelhasznaloNev = model.KirLoginModel.FelhasznaloNev
|
||||
},
|
||||
KirLoginModel = new KIRLoginModel
|
||||
{
|
||||
OmAzonosito = model.KirLoginModel.OmAzonosito,
|
||||
FelhasznaloNev = model.KirLoginModel.FelhasznaloNev
|
||||
},
|
||||
};
|
||||
var pm = new PopUpModel(tanaresTanuloKIRImportModel, "KIRTanarImportModal");
|
||||
pm.AddCancelBtn(pm, "KretaWindowHelper.destroyAllWindow");
|
||||
pm.AddBtn(pm, "BtnKIRImport", 3486 /*Importálás*/, "KIRTanarImportHelper.KIRImport");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
public ActionResult KIRImport(TanarKIRImportModel model, int feladatellatasiHelyId)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var kirHelper = new KirHelper(ConnectionTypeExtensions.GetSessionConnectionType(), model.KIRImportModel.OmAzonosito, model.KIRImportModel.FelhasznaloNev, kirToken: model.KIRImportModel.KirToken);
|
||||
|
||||
var tanarList = kirHelper.GetPedagogusList(model.KIRImportModel.TelephelyKod.Value);
|
||||
|
||||
var egysegesImportHelper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
egysegesImportHelper.ExecuteKIRTanarImport(tanarList);
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanarImportPopUp(int feladatellatasiHelyId)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var tanarokFeltolteseModel = new TanarokFeltolteseModel
|
||||
{
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
FeladatellatasiHelyId = feladatellatasiHelyId,
|
||||
Errors = helper.TanarKIRAdatok.Validate()
|
||||
};
|
||||
|
||||
var model = new PopUpModel(tanarokFeltolteseModel, "TanarokFeltolteseModal");
|
||||
model.AddCancelBtn(model, "KretaWindowHelper.destroyAllWindow");
|
||||
|
||||
if (tanarokFeltolteseModel.Errors.Count == 0)
|
||||
{
|
||||
model.AddOkBtn(model, "KIRTanarFeltoltesHelper.Save");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult UploadKIRTanarFile(HttpPostedFileBase importTanarFile)
|
||||
{
|
||||
UploadFileValidator.ValidateImportFile(importTanarFile);
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.ExecuteKIRTanarImportFile(importTanarFile.InputStream, importTanarFile.FileName, ClaimData.IsSzakkepzoIntezmeny);
|
||||
}
|
||||
catch (KretaInvalidFileFormatException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
|
||||
return Content(string.Empty);
|
||||
}
|
||||
|
||||
public ActionResult SaveTanarok(int feladatellatasiHelyId)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
helper.SaveImportaltTanarok(feladatellatasiHelyId);
|
||||
|
||||
return Json(new { tovabbUrl = @"/Alkalmazott/Alkalmazott" });
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
public ActionResult GetPreLoadedTeachers(DataSourceRequest request)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
return Json(helper.GetImportaltTanarok().ToDataSourceResult(), JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
public ActionResult DownloadTemplate()
|
||||
{
|
||||
string filePath = Kreta.Web.Classes.Utils.GetExcelTemplateFilePath(Constants.ImportExport.AlkalmazottImportSablonNev);
|
||||
|
||||
if (filePath == null)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlNemLetezik);
|
||||
}
|
||||
|
||||
return File(filePath, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.AlkalmazottImportSablonNev);
|
||||
}
|
||||
|
||||
public ActionResult ExportAktualisAdatok()
|
||||
{
|
||||
var memoryStream = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ExportTanarAktualisAdatok();
|
||||
return new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = $"{AlkalmazottResource.Alkalmazottak_Export}.{Constants.ImportExport.FileFormatXlsx}" };
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue