public HttpResponseMessage ReturnSaleItems([FromBody] ReturnSaleModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,ReturnSaleController,returnItems,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage message; List <ErrorMessage> saleLineMessages; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var user = CacheManager.GetUser(userCode) ?? _loginManager.GetUser(userCode); if (model.SaleLines == null || model.SaleLines.Length <= 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.LineRequired, MessageType = MessageType.OkOnly } })); } var sale = _returnSaleManager.ReturnSaleItems(user, model.SaleTillNumber, model.TillNumber, model.SaleNumber, model.SaleLines, model.IsCorrection, model.ReasonType, model.ReasonCode, out message, out saleLineMessages); if (!string.IsNullOrEmpty(message.MessageStyle.Message)) { _performancelog.Debug($"End,ReturnSaleController,returnItems,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = message.MessageStyle })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var messages = new List <object>(); if (saleLineMessages.Count > 0) { messages.AddRange(saleLineMessages.Select(saleLineMessage => new { error = saleLineMessage.MessageStyle, })); } var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = messages.Count > 0 ? SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff, messages) : SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); _performancelog.Debug($"End,ReturnSaleController,returnItems,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); }
public HttpResponseMessage GetSale(int saleNumber, int tillNumber) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,ReturnSaleController,GetSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } ErrorMessage message; var sale = _returnSaleManager.GetSale(saleNumber, tillNumber, out message); if (!string.IsNullOrEmpty(message.MessageStyle.Message)) { _performancelog.Debug($"End,ReturnSaleController,GetSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.NotFound, new ErrorResponse { Error = message.MessageStyle })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); _performancelog.Debug($"End,ReturnSaleController,GetSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); }
public HttpResponseMessage DeactivateGivexCard([FromBody] ActivateGivexModel givexModel) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,GivexController,DeactivateGivexCard,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage errorMessage; HttpResponseMessage responseMessage; var cardNumber = givexModel.GivexCardNumber; if (!ValidateGivexCard(ref cardNumber, out responseMessage)) { return(responseMessage); } givexModel.GivexCardNumber = cardNumber; if (!ValidateStockCode(givexModel.StockCode, out responseMessage)) { return(responseMessage); } string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } Report giveReceipt; var sale = _givexManager.DeactivateGivexCard(givexModel.GivexCardNumber, givexModel.GivexPrice, userCode, givexModel.TillNumber, givexModel.SaleNumber, givexModel.StockCode, out giveReceipt, out errorMessage); if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message)) { return(Request.CreateResponse(errorMessage.StatusCode, new ErrorResponse { Error = errorMessage.MessageStyle })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); var response = new GivexResponseModel { Sale = saleModel, Receipt = giveReceipt }; _performancelog.Debug($"End,GivexController,DeactivateGivexCard,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, response)); }
public HttpResponseMessage InitializeSale(int tillNumber, int registerNumber) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,InitializeSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage message; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var sale = _saleManager.InitializeSale(tillNumber, registerNumber, userCode, out message); if (message?.MessageStyle?.Message != null) { return(Request.CreateResponse(HttpStatusCode.Conflict, message)); } if (sale != null) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButton = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButton, userCanWriteOff); _performancelog.Debug($"End,SaleController,InitializeSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } return(null); }
public HttpResponseMessage SearchLoyaltyCustomer(string searchTerm, int tillNumber, int saleNumber, int pageIndex = 1, int pageSize = 100) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,CustomerController,SearchLoyaltyCustomer,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); int totalResults; var customers = _customerManager.SearchLoyaltyCustomer(searchTerm, out totalResults, pageIndex, pageSize); if (totalResults == -999) { string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var firstOrDefault = customers.FirstOrDefault(); if (firstOrDefault != null) { var code = firstOrDefault.Code; ErrorMessage error; var sale = _saleManager.SetCustomer(code, saleNumber, tillNumber, userCode, 0, searchTerm, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = error.MessageStyle })); } if (sale != null) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); return(Request.CreateResponse(HttpStatusCode.Accepted, saleModel)); } } } if (totalResults == 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.CustomerNotExists, MessageType = MessageType.OkOnly } })); } var listCust = GetLoyaltyCustomerResponseModels(customers); _performancelog.Debug($"End,CustomerController,SearchLoyaltyCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, listCust)); }
public HttpResponseMessage DeleteUnCompletePrepay([FromBody] DeleteUnCompletePrepayModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,FuelPumpController,DeleteUnCompletePrepay,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var sale = _unCompletePrepayManager.DeleteUnCompletePrepay(model.PumpId, model.SaleNum, model.TillNumber, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.Conflict, new ErrorResponse { Error = error.MessageStyle, })); } object saleModel; var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { var message = new { error = error.MessageStyle, }; var messages = new List <object> { message }; saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff, messages); } else { saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); } _performancelog.Debug($"End,SaleController,DeleteUnCompletePrepay,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); }
public HttpResponseMessage AddFuelSaleFromBasket([FromBody] FuelBasketModel model) { // bool flag = false; //SaleModel s=null; WriteUDPData(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt") + "Inside if 550"); var dateStart = DateTime.Now; _performancelog.Debug($"Start,FuelPumpController,AddPrepay,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; var accessToken = Request.GetFirstHeaderValueOrDefault <string>("authToken"); if (accessToken == null) { return(Request.CreateResponse( HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error, MessageType = 0 } })); } var userCode = TokenValidator.GetUserCode(accessToken); WriteUDPData(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt") + "Inside 572"); var sale = _fuelPumpManager.AddFuelSaleFromBasket(model.SaleNumber, model.TillNumber, model.RegisterNumber, model.ActivePump, model.BasketValue, out error); WriteUDPData(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt") + "Inside if 574"); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.Conflict, new ErrorResponse { Error = error.MessageStyle, })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButton = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButton, userCanWriteOff); _performancelog.Debug($"End,FuelPumpController,AddPrepay,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); WriteUDPData(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt") + "Inside if 584"); // s = saleModel; return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); }
public HttpResponseMessage AddPrepay([FromBody] AddPrepayModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,FuelPumpController,AddPrepay,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; var accessToken = Request.GetFirstHeaderValueOrDefault <string>("authToken"); if (accessToken == null) { return(Request.CreateResponse( HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error, MessageType = 0 } })); } var userCode = TokenValidator.GetUserCode(accessToken); var sale = _fuelPrepayManager.AddPrepay(model.SaleNumber, model.TillNumber, model.ActivePump, model.Amount, model.FuelGrade, model.IsAmountCash, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.Conflict, new ErrorResponse { Error = error.MessageStyle, })); } if (sale != null) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButton = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButton, userCanWriteOff); _performancelog.Debug($"End,FuelPumpController,AddPrepay,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } return(null); }
public HttpResponseMessage UnSuspendSale(int saleNumber, int tillNumber) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,UnSuspendSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } if (saleNumber > 0) { ErrorMessage errorMessage; var sale = _suspendedSaleManger.UnsuspendSale(saleNumber, tillNumber, userCode, out errorMessage); if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message)) { return(Request.CreateResponse( HttpStatusCode.NotFound, new ErrorResponse { Error = errorMessage.MessageStyle })); } if (sale != null) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); _performancelog.Debug( $"End,SaleController,UnSuspendSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } } return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.SaleNotExist, MessageType = (MessageType)16 } })); }
public HttpResponseMessage RemoveSaleLineItem(int tillNumber, int saleNumber, int lineNumber) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,RemoveSaleLineItem,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var sale = _saleManager.RemoveSaleLineItem(userCode, tillNumber, saleNumber, lineNumber, out error, true, true); if (!string.IsNullOrEmpty(error?.MessageStyle?.Message)) { var statusCode = error.StatusCode == 0 ? HttpStatusCode.BadRequest : error.StatusCode; return(Request.CreateResponse( statusCode, new ErrorResponse { Error = error.MessageStyle, })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); _performancelog.Debug($"End,SaleController,RemoveSaleLineItem,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); }
public HttpResponseMessage IncreaseGivexCard([FromBody] ActivateGivexModel givexModel) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,GivexController,IncreaseGivexCard,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage errorMessage; HttpResponseMessage responseMessage; var offSet = _policyManager.LoadStoreInfo().OffSet; var cardNumber = givexModel.GivexCardNumber; if (!ValidateGivexCard(ref cardNumber, out responseMessage)) { return(responseMessage); } givexModel.GivexCardNumber = cardNumber; if (!ValidateStockCode(givexModel.StockCode, out responseMessage)) { return(responseMessage); } string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } if (Conversion.Val(givexModel.GivexPrice) <= 0) { var messageType = (int)MessageType.OkOnly + MessageType.Critical; return(Request.CreateResponse(HttpStatusCode.NotAcceptable, new ErrorResponse { Error = _resourceManager.CreateMessage(offSet, 32, 95, null, messageType), })); } Report giveReceipt; var sale = _givexManager.IncreaseGivexCard(givexModel.GivexCardNumber, givexModel.GivexPrice, userCode, givexModel.TillNumber, givexModel.SaleNumber, givexModel.StockCode, out giveReceipt, out errorMessage); if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message)) { return(Request.CreateResponse(errorMessage.StatusCode, new ErrorResponse { Error = errorMessage.MessageStyle })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); var response = new GivexResponseModel { Sale = saleModel, Receipt = giveReceipt }; _performancelog.Debug($"End,GivexController,IncreaseGivexCard,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, response)); }
public HttpResponseMessage SetCustomer(string customerCode, int tillNumber, int saleNumber, byte registerNumber) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,UpdateSaleLineItem,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var sale = _saleManager.SetCustomer(customerCode, saleNumber, tillNumber, userCode, registerNumber, string.Empty, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message) && sale == null) { return(Request.CreateResponse(error.StatusCode, new ErrorResponse { Error = error.MessageStyle, })); } else if (!string.IsNullOrEmpty(error.MessageStyle.Message) && sale != null) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); if (saleModel.SaleLineErrors == null) { saleModel.SaleLineErrors = new List <object>(); saleModel.SaleLineErrors.Add(new ErrorResponse { Error = error.MessageStyle, }); } else { saleModel.SaleLineErrors.Add(new ErrorResponse { Error = error.MessageStyle, }); } _performancelog.Debug($"End,SaleController,SetCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } if (error.MessageStyle != null && string.IsNullOrEmpty(error.MessageStyle.Message)) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); _performancelog.Debug($"End,SaleController,SetCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } return(null); }
public HttpResponseMessage UpdateSaleLineItem([FromBody] UpdateSaleLineModel saleLineModel) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,UpdateSaleLineItem,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } if (saleLineModel == null) { return(Request.CreateResponse( HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.InvalidDataEntered, MessageType = 0 } })); } // var sale = new Sale(); var sale = _saleManager.UpdateSaleLine(saleLineModel.SaleNumber, saleLineModel.TillNumber, saleLineModel.LineNumber, userCode, saleLineModel.Discount, saleLineModel.DiscountType, saleLineModel.Quantity, saleLineModel.Price, saleLineModel.ReasonCode, saleLineModel.ReasonType, saleLineModel.RegisterNumber, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message) && error.StatusCode != HttpStatusCode.OK) { return(Request.CreateResponse(error.StatusCode, new ErrorResponse { Error = error.MessageStyle, })); } if (sale != null) { object saleModel; if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { var message = new { error = error.MessageStyle, }; var messages = new List <object> { message }; var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff, messages); } else { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); } _performancelog.Debug($"End,SaleController,UpdateSaleLineItem,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } return(null); }
public HttpResponseMessage VerifyAndAddSaleLineItem([FromBody] AddSaleLineModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,SaleController,VerifyAndAddSaleLineItem,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } if (model == null) { return(Request.CreateResponse( HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Constants.InvalidRequest } })); } var stockMessage = _saleLineManager.CheckStockConditions(model.SaleNumber, model.TillNumber, model.StockCode, userCode, model.IsReturnMode, (float)model.Quantity, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(error.StatusCode, new ErrorResponse { Error = error.MessageStyle, })); } //if (stockMessage.AddStockPage.OpenAddStockPage || stockMessage.GiftCertPage.OpenGiftCertPage || stockMessage.GivexPage.OpenGivexPage || stockMessage.RestrictionPage.OpenRestrictionPage || !string.IsNullOrEmpty(stockMessage.QuantityMessage.Message) || !string.IsNullOrEmpty(stockMessage.RegularPriceMessage.Message)) if (stockMessage.AddStockPage.OpenAddStockPage || stockMessage.GiftCertPage.OpenGiftCertPage || stockMessage.GivexPage.OpenGivexPage || stockMessage.RestrictionPage.OpenRestrictionPage || stockMessage.PSInetPage.OpenPSInetPage || !string.IsNullOrEmpty(stockMessage.QuantityMessage.Message) || !string.IsNullOrEmpty(stockMessage.RegularPriceMessage.Message)) { return(Request.CreateResponse(HttpStatusCode.PartialContent, stockMessage)); } if (!stockMessage.CanManuallyEnterProduct && model.IsManuallyAdded) { return(Request.CreateResponse(HttpStatusCode.Conflict, new ErrorResponse { Error = new MessageStyle { Message = stockMessage.ManuallyEnterMessage, MessageType = 0 } })); } var sale = _saleManager.VerifyAddSaleLineItem(userCode, model.TillNumber, model.SaleNumber, model.RegisterNumber, model.StockCode, model.Quantity, model.IsReturnMode, model.GiftCard, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message) && error.StatusCode != HttpStatusCode.OK) { return(Request.CreateResponse(error.StatusCode, new ErrorResponse { Error = error.MessageStyle, })); } if (sale != null) { object saleModel; var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { var message = new { error = error.MessageStyle, }; var messages = new List <object> { message }; saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff, messages); } else { saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); } _performancelog.Debug($"End,SaleController,VerifyAndAddSaleLineItem,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } return(null); }
public HttpResponseMessage ReturnSale([FromBody] ReturnSaleModel model) { var dateStart = DateTime.Now; ErrorMessage message; List <ErrorMessage> saleLineMessages; _performancelog.Debug($"Start,ReturnSaleController,return,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var user = CacheManager.GetUser(userCode) ?? _loginManager.GetUser(userCode); Report fs; string fileName; var sale = _returnSaleManager.ReturnSale(user, model.SaleNumber, model.TillNumber, model.SaleTillNumber, model.IsCorrection, model.ReasonType, model.ReasonCode, out message, out saleLineMessages, out fs, out fileName); if (!string.IsNullOrEmpty(message.MessageStyle.Message)) { _performancelog.Debug( $"End,ReturnSaleController,return,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = message.MessageStyle })); } var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var messages = new List <object>(); if (saleLineMessages.Count > 0) { messages.AddRange(saleLineMessages.Select(saleLineMessage => new { error = saleLineMessage.MessageStyle, })); } var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = messages.Count > 0 ? SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff, messages) : SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); var returnSale = new ReturnSaleResponseModel { Sale = saleModel }; if (fs != null) { returnSale.Receipt = new ReportModel { ReportContent = fs.ReportName, ReportName = fs.ReportContent, Copies = 1 }; } _performancelog.Debug($"End,ReturnSaleController,return,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, returnSale)); }
public HttpResponseMessage AddFuelManually([FromBody] ManualFuelModel fuelModel) { ErrorMessage error; var accessToken = Request.GetFirstHeaderValueOrDefault <string>("authToken"); if (accessToken == null) { return(Request.CreateResponse( HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.Error } })); } var userCode = TokenValidator.GetUserCode(accessToken); if (fuelModel == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.InvalidRequest, MessageType = MessageType.OkOnly }, })); } var sale = _fuelPumpManager.AddFuelManually(fuelModel.SaleNumber, fuelModel.TillNumber, fuelModel.RegisterNumber, userCode, out error, fuelModel.Amount, fuelModel.Grade, fuelModel.PumpId, fuelModel.IsCashSelected); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.Conflict, new ErrorResponse { Error = error.MessageStyle, })); } if (sale != null) { object saleModel; var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { var message = new { error = error.MessageStyle, }; var messages = new List <object> { message }; saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff, messages); } else { saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); } return(Request.CreateResponse(HttpStatusCode.OK, saleModel)); } return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.InvalidRequest, MessageType = MessageType.OkOnly } })); }
public HttpResponseMessage GetCustomerByCard([FromBody] SearchBycardModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,CustomerController,GetCustomerByCard,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); MessageStyle message; if (string.IsNullOrEmpty(model.CardNumber)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.CardRequired, MessageType = MessageType.OkOnly } })); } var customer = _customerManager.SearchCustomerCard(model.CardNumber, model.IsLoyaltycard, out message); if (!string.IsNullOrEmpty(message.Message)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = message.Message, MessageType = MessageType.OkOnly } })); } if (customer == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = new MessageStyle { Message = Resource.CustomerNotExists, MessageType = MessageType.OkOnly } })); } string userCode; ErrorMessage error = new ErrorMessage(); HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var sale = _saleManager.SetCustomer(customer.Code, model.SaleNumber, model.TillNumber, userCode, 0, model.CardNumber, out error); if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse { Error = error.MessageStyle })); } if (sale != null) { var editLines = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode); var enableButtons = _saleManager.EnableCashButton(sale, userCode); var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode); var saleModel = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff); } var customerModel = GetLoyaltyCustomerResponseModel(customer); _performancelog.Debug($"End,CustomerController,GetCustomerByCard,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(Request.CreateResponse(HttpStatusCode.OK, customerModel)); }