using Neo.Afx.Services.Workflows; using Neo.LegitimateLicences.Common; using Neo.LegitimateLicences.Data.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Neo.Afx.ViewModels; using Neo.Afx.Services.Integration; using Neo.LegitimateLicences.Common.Helpers; using Neo.Afx.Mvc; using System.Dynamic; namespace Neo.LegitimateLicences.Purification.Controllers { public partial class PurificationController : Neo.LegitimateLicences.Common.ControllerBase { #region Action Results #region ApplicationAllowedNewLicences public ActionResult ChangeApplicationType() { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Common.SecurableEnum.ApplicationsModule_Purification_ChangeApplicationType)) { return RedirectToAction("Default", "Dashboard"); } var database = new LegitimateDatabase(); var model = new PurificationChangeApplicationTypeModel { ApplicationTypesForConversion = new List() }; WebHelper.SetLastPageVisited(HttpContext, "Purification/ChangeApplicationType"); ViewBag.Controller = "Purification"; ViewBag.Page = "ChangeApplicationType"; return View("ChangeApplicationType", model); } #endregion #endregion #region JSON endpoints #region PurificationChangeApplicationType_SearchByApplicationNumber [HttpPost] public JsonResult PurificationChangeApplicationType_SearchByApplicationNumber(string applicationNumber) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.ApplicationsModule_Purification_ChangeApplicationType)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); var data = new List(); try { data = database.Purification_GetApplicationTypesForConversion(applicationNumber, Profile.UserID); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Results = data, Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #region PurificationChangeApplicationType_ChangeApplicationRequestType [HttpPost] public JsonResult PurificationChangeApplicationType_ChangeApplicationRequestType(long applicationDetailID, short newApplicationRequestTypeID, string reason) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.ApplicationsModule_Purification_ChangeApplicationType)) { throw new Exception("Security error"); } if(applicationDetailID < 1 || newApplicationRequestTypeID < 1 || String.IsNullOrEmpty(reason)) { throw new Exception("Invalid values"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); var data = new List(); try { database.Purification_ConvertApplicationType(applicationDetailID, newApplicationRequestTypeID, reason, Profile.UserID); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Results = data, Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #endregion } }