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 PurificationReceiptManagement public ActionResult PurificationReceiptManagement(string receiptNumber) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ReceiptManagement)) { return RedirectToAction("Default", "Applications"); } var database = new LegitimateDatabase(); if(receiptNumber == "-1") { var model = new PurificationReceiptManagementModel { DefaultPrinterName = Profile.Settings["DefaultPrinterName"], ReceiptNumber = "" }; ViewBag.Controller = "Applications"; ViewBag.Page = "PurificationReceiptManagement"; return View("PurificationReceiptManagement", model); } else { var model = new PurificationReceiptManagementModel { DefaultPrinterName = Profile.Settings["DefaultPrinterName"], ReceiptNumber = receiptNumber }; ViewBag.Controller = "Applications"; ViewBag.Page = "PurificationReceiptManagement"; return View("PurificationReceiptManagement", model); } } #endregion #endregion #region JSON endpoints #region Purification_ReceiptManagement_SearchByReceiptNumber [HttpPost] public JsonResult Purification_ReceiptManagement_SearchByReceiptNumber(string ReceiptNumber) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ReceiptManagement)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); dynamic response = new ExpandoObject(); Pr_GetReceipt_Result receipt = new Pr_GetReceipt_Result(); try { receipt = database.Purification_GetReceipt(ReceiptNumber); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Receipt = receipt, Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #region Purification_ReceiptManagement_SetReceiptToZero [HttpPost] public JsonResult Purification_ReceiptManagement_SetReceiptToZero(long? ReceiptDetailID, string reason) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ReceiptManagement)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); try { database.Purification_SetReceiptToZero(ReceiptDetailID, reason, Profile.UserID); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #region Purification_ReceiptManagement_AddReceiptToApplication [HttpPost] public JsonResult Purification_ReceiptManagement_AddReceiptToApplication(long? ReceiptDetailID, string applicationReferenceNumber, string reason) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_ReceiptManagement)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); try { database.AddReceiptToApplication(ReceiptDetailID, applicationReferenceNumber, reason, Profile.UserID); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #endregion } }