/// <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); }