using System.Web.Mvc; using Neo.Legitimate.Applications.Models; using Neo.Legitimate.Data.Models; using Pilotfish.Afx.Mvc; using System.Collections.Generic; using Neo.Legitimate.Common; using System.Linq; using System; using Neo.Legitimate.Common.Helpers; namespace Neo.Legitimate.Applications.Controllers { public partial class ApplicationsController : Neo.Legitimate.Common.ControllerBase { #region Action Results #region CashupUserPage public ActionResult CashupUserPage(long userID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.CashupModule)) { return RedirectToAction("Default", "Applications"); } var database = new LegitimateDatabase(); Pr_GetUserDetails_Result userDetails = new Pr_GetUserDetails_Result(); userDetails = database.GetUserDetails(userID); var model = new CashupUserPageModel { ReceiptsAwaitingCashup = database.GetNonBatchedReceiptDetails(userID), RecentCashups = database.GetRecentCashups(userID), CashierName = userDetails.KnownAs, UserID = userID }; ViewBag.Controller = "Applications"; ViewBag.Page = "CashupUserPage"; return View("CashupUserPage", model); } #endregion #endregion #region JSON endpoints #region ReprintReceipt [HttpPost] public JsonResult ReprintReceipt(long receiptDetailID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_ApplicationRequest_ReprintReceipt)) { throw new Exception("Security error"); } var database = new LegitimateDatabase(); ReceiptDetail receiptDetail = null; var errorMessage = ""; try { receiptDetail = database.GetReceiptDetail(receiptDetailID, Profile.UserID); database.WriteAuditEntry(Convert.ToInt32(Profile.UserID), "application", "deleted", "Re-printed receipt", false, false, "ReceiptDetails", receiptDetailID); } catch (Exception ex) { errorMessage = ex.Message; } var results = new { ReceiptDetail = receiptDetail, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion #region GenerateReceiptBatch [HttpPost] public JsonResult GenerateReceiptBatch(long userID) { var database = new LegitimateDatabase(); var errorMessage = ""; var receiptBatchID = database.GenerateReceiptBatch(userID, out errorMessage); var result = new { ReceiptBatchID = receiptBatchID, ErrorMessage = errorMessage }; return Json(result, JsonSerializerOptions.FormatDateTime); } #endregion #endregion } }