public HttpResponseMessage PaymentByExactCash([FromBody] PaymentModel paymentModel) { var dateStart = DateTime.Now; _performancelog.Debug( $"Start,PaymentController,PaymentByExactCash,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } string fileName = string.Empty; Report receipt = null; ErrorMessage errorMessage; CustomerDisplay lcdMsg; var sale = _paymentManager.ByCashExact(paymentModel.TillNumber, paymentModel.SaleNumber, userCode, ref receipt, ref fileName, out errorMessage, out lcdMsg); if (!string.IsNullOrEmpty(errorMessage?.MessageStyle?.Message)) { return(Request.CreateResponse(errorMessage.StatusCode, new ErrorResponse { Error = errorMessage.MessageStyle })); } var recieptModel = new ReportModel { ReportName = receipt.ReportName, ReportContent = receipt.ReportContent, Copies = 1 }; var tillLimitExeceeded = _paymentManager.CheckTillLimit(sale.TillNumber); var completePaymentResponseModel = new CompletePaymentResponseModel { NewSale = new NewSale { SaleNumber = sale.Sale_Num, TillNumber = sale.TillNumber, Customer = sale.Customer.Name }, LimitExceedMessage = tillLimitExeceeded, PaymentReceipt = recieptModel, CustomerDisplays = new List <CustomerDisplay> { lcdMsg, sale.CustomerDisplay } }; _performancelog.Debug( $"End,PaymentController,PaymentByExactCash,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, completePaymentResponseModel)); }
public HttpResponseMessage RunAway([FromBody] TransactionCompleteModel paymentModel) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,PaymentController,RnAway,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage errorMessage; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } Report receipt = null; var newSale = _paymentManager.RunAway(paymentModel.SaleNumber, paymentModel.TillNumber, userCode, ref receipt, out errorMessage); if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message)) { return(Request.CreateResponse(errorMessage.StatusCode, new ErrorResponse { Error = errorMessage.MessageStyle })); } CompletePaymentResponseModel completePaymentResponseModel = null; if (receipt != null) { completePaymentResponseModel = new CompletePaymentResponseModel { NewSale = new NewSale { SaleNumber = newSale.Sale_Num, TillNumber = newSale.TillNumber, Customer = newSale.Customer.Name }, PaymentReceipt = new ReportModel { ReportName = receipt.ReportName, ReportContent = receipt.ReportContent, Copies = 1 }, CustomerDisplays = new List <CustomerDisplay> { newSale.CustomerDisplay } }; } _performancelog.Debug($"End,PaymentController,RunAway,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, completePaymentResponseModel)); }
public HttpResponseMessage CompletePayout([FromBody] PayoutModel payoutModel) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,PayoutController,CompletePayout,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } if (payoutModel == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.InvalidInformation, MessageType = MessageType.OkOnly } })); } var po = new Payout { Sale_Num = payoutModel.SaleNumber, Gross = payoutModel.Amount, Return_Reason = new Return_Reason { Reason = payoutModel.ReasonCode }, Vendor = new Vendor { Code = payoutModel.VendorCode }, }; ErrorMessage error; bool openDrawer; var fs = _payoutManager.SaveVendorPayout(po, payoutModel.TillNumber, userCode, payoutModel.RegisterNumber, payoutModel.Taxes, out openDrawer, out error); _performancelog.Debug($"End,PayoutController,CompletePayout,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.NotFound, new ErrorResponse { Error = error.MessageStyle, })); } var newSale = _saleManager.InitializeSale(payoutModel.TillNumber, payoutModel.RegisterNumber, userCode, out error); var completePaymentResponseModel = new CompletePaymentResponseModel { NewSale = new NewSale { SaleNumber = newSale.Sale_Num, TillNumber = newSale.TillNumber, Customer = newSale.Customer.Name }, OpenCashDrawer = openDrawer, CustomerDisplays = new List <CustomerDisplay> { newSale.CustomerDisplay } }; try { completePaymentResponseModel.PaymentReceipt = new ReportModel { ReportName = fs.ReportName, ReportContent = fs.ReportContent, Copies = fs.Copies }; _performancelog.Debug($"End,PayoutController,CompletePayout,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, completePaymentResponseModel)); } catch { _performancelog.Debug($"End,PayoutController,CompletePayout,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.NotFound, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error, MessageType = 0 } })); } }
public HttpResponseMessage VoidSale([FromBody] VoidSaleModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,VoidSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } Report fs; var sale = _suspendedSaleManger.VoidSale(userCode, model.SaleNumber, model.TillNumber, model.VoidReason, out error, out fs); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(error.StatusCode, new ErrorResponse { Error = error.MessageStyle, })); } var completePaymentResponseModel = new CompletePaymentResponseModel { NewSale = new NewSale { SaleNumber = sale.Sale_Num, TillNumber = sale.TillNumber, Customer = sale.Customer.Name }, CustomerDisplays = new List <CustomerDisplay> { sale.CustomerDisplay } }; try { if (fs != null) { completePaymentResponseModel.PaymentReceipt = new ReportModel { ReportName = fs.ReportName, ReportContent = fs.ReportContent }; } _performancelog.Debug($"End,SaleController,VoidSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, completePaymentResponseModel)); } catch { _performancelog.Debug($"End,SaleController,VoidSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.NotFound, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error, MessageType = 0 } })); } }