/// <summary> /// Apply Regular Price /// </summary> /// <param name="priceCheck"></param> /// <param name="userCode">User code</param> /// <param name="error">Error</param> /// <returns>Stock price check</returns> public StockPriceCheck ApplyRegularPrice(RegularPriceCheck priceCheck, string userCode, out ErrorMessage error) { if (priceCheck.RegularPrice > 9999.99) { priceCheck.RegularPrice = 9.99; } double price = 0; var stockItem = _stockService.GetStockItem(priceCheck.StockCode); if (stockItem == null) { var offSet = _policyManager.LoadStoreInfo().OffSet; error = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 39, 91, priceCheck.StockCode) }; return(null); } var vendorId = stockItem.Vendor; bool activeVendorPrice = _stockService.IsActiveVendorPrice(priceCheck.StockCode, vendorId); _stockService.DeletePreviousPrices(priceCheck.StockCode, "R", activeVendorPrice, vendorId); _stockService.AddUpdateRegularPrice(priceCheck.StockCode, ref vendorId, ref price, priceCheck.RegularPrice); _stockService.TrackPriceChange(priceCheck.StockCode, price, priceCheck.RegularPrice, "PC", 1, userCode, vendorId); var result = GetStockPriceDetails(priceCheck.StockCode, priceCheck.TillNumber, priceCheck.SaleNumber, priceCheck.RegisterNumber, userCode, out error); Register register = new Register(); _mainManager.SetRegister(ref register, priceCheck.RegisterNumber); if (register.Customer_Display) { result.CustomerDisplay = _mainManager.DisplayMsgLcd(register, _mainManager.FormatLcdString(register, result.Description, result.RegularPriceText), ""); } return(result); }
public HttpResponseMessage ApplyRegularPrice([FromBody] RegularPriceCheckModel model) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,PriceCheckController,ApplyRegularPrice,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); ErrorMessage error; string userCode; HttpResponseMessage httpResponseMessage; if (GetUserCode(out userCode, out httpResponseMessage)) { return(httpResponseMessage); } var regularPrice = new RegularPriceCheck { RegularPrice = model.RegularPrice, RegisterNumber = model.RegisterNumber, StockCode = model.StockCode, TillNumber = model.TillNumber, SaleNumber = model.SaleNumber }; var result = _priceCheckManager.ApplyRegularPrice(regularPrice, userCode, out error); _performancelog.Debug($"End,PriceCheckController,ApplyRegularPrice,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); if (!string.IsNullOrEmpty(error?.MessageStyle?.Message)) { var statusCode = error.StatusCode == 0 ? HttpStatusCode.BadRequest : error.StatusCode; return(Request.CreateResponse( statusCode, new ErrorResponse { Error = error.MessageStyle, })); } return(Request.CreateResponse(HttpStatusCode.OK, result)); }