using System; using System.Collections.Generic; using System.Web.Mvc; using Neo.Legitimate.Applications.Models; using Neo.Legitimate.Data.Models; using Pilotfish.Afx.Mvc; using Pilotfish.Afx.Services.Integration; using Pilotfish.Afx.ViewModels; using Neo.Legitimate.Common; using System.Linq; using System.Dynamic; namespace Neo.Legitimate.Applications.Controllers { public partial class ApplicationsController : Neo.Legitimate.Common.ControllerBase { #region Action Results #region PurificationApplicationChangeType public ActionResult PurificationApplicationChangeType() { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ChangeApplicationType)) { return RedirectToAction("Default", "Applications"); } var database = new LegitimateDatabase(); var model = new PurificationApplicationChangeTypeModel(); ViewBag.Controller = "Applications"; ViewBag.Page = "PurificationApplicationChangeType"; return View("PurificationApplicationChangeType", model); } #endregion #endregion #region JSON endpoints #region Purification_ApplicationChangeType_SearchByApplicationNumber [HttpPost] public JsonResult Purification_ApplicationChangeType_SearchByApplicationNumber(string ApplicationNumber) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ChangeApplicationType)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var searchResults = new PurificationApplicationChangeTypeSearchResult(); var database = new LegitimateDatabase(); dynamic response = new ExpandoObject(); long? itemID = -1L; try { searchResults.ApplicationTypes = database.Purification_GetApplicationTypesForConversion(ApplicationNumber); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } //response.ItemID = itemID; response.SearchResults = searchResults.ApplicationTypes; var results = new { ResponseObject = response, Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #region Purification_ApplicationChangeType_ChangeApplicationType [HttpPost] public JsonResult Purification_ApplicationChangeType_ChangeApplicationType(long? ApplicationRequestDetailID, int ApplicationRequestTypeID, string ReferenceNumber, string Title, string Reason) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ChangeApplicationType)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); try { database.Purification_ConvertApplicationType(ApplicationRequestDetailID, ApplicationRequestTypeID, Reason); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #endregion } }