using System.Web.Mvc; using Neo.Legitimate.Applications.Models; using Neo.Legitimate.Data.Models; using Pilotfish.Afx.Mvc; using Neo.Legitimate.Common; using System; using System.Linq; namespace Neo.Legitimate.Applications.Controllers { public partial class ApplicationsController : Neo.Legitimate.Common.ControllerBase { #region Action Results #region PurificationBypassedLicences public ActionResult PurificationBypassedLicences() { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_Managebypassedexpiredlicencelist)) { return RedirectToAction("Default", "Applications"); } var database = new LegitimateDatabase(); var model = new PurificationBypassedLicencesModel { BypassedLicences = database.GetBypassedLicences() }; ViewBag.Controller = "Applications"; ViewBag.Page = "PurificationBypassedLicences"; return View("PurificationBypassedLicences", model); } #endregion #endregion #region JSON endpoints [HttpPost] public JsonResult SaveBypassedApplication(string licenceNumber, short issueNumber, string reason, string applicationNumber, long sourceApplicationID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_Managebypassedexpiredlicencelist)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); try { if (SecurityHelper.UserHasRole(Profile.Roles, Role.DataPurification)) { database.Purification_UpdateBypassedExpiredLicence(licenceNumber, issueNumber, reason, applicationNumber, sourceApplicationID, Profile.UserID); success = true; } else { errorMessage = "Security error"; } } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion } }