private async Task SaveBasePrices() { try { DisableControls(); Caption = ApplicationConstants.SettingInProgress; ErrorMessageWithCaption response; if (IsGrouped) { response = await _fuelPumpBusinessLogic.SaveGroupBasePrices(FuelPrices.ToEntity()); } else { response = await _fuelPumpBusinessLogic.SaveBasePrices(FuelPrices.ToEntity()); } PrepareCaptions(response); await PerformPrint(new List <Report> { response.PriceReport, response.FuelPriceReport }); } // Catching here to reset Captions in case when any popus is generated catch (Exception) { Caption = Caption2 = string.Empty; EnableControls(); throw; } }
private async Task SavePrices() { try { if (IsGrouped) { var success = await _fuelPumpBusinessLogic.VerifyGroupBasePrices(FuelPrices.ToEntity()); if (success) { // Don't need to wait on Fuel prices page if (!CacheBusinessLogic.StayOnFuelPricePage) { NavigateService.Instance.NavigateToHome(); if (CacheBusinessLogic.IsFuelOnlySystem) { MessengerInstance.Send <FuelOnlySystemMessage>(new FuelOnlySystemMessage()); } SaveBasePrices(); } else { await SaveBasePrices(); } } } else { var success = await _fuelPumpBusinessLogic.VerifyBasePrices(FuelPrices.ToEntity()); if (success) { await SaveBasePrices(); } } } catch (PumpsOfflineException ex) { _log.Info(ex.Message, ex); ShowConfirmationMessage(ex.Message, async() => { await SaveBasePrices(); }); } catch (SwitchUserException ex) { _log.Info(ex.Message, ex); ShowNotification(ex.Error.Message, SwitchUserAndSavePrices, null, ApplicationConstants.ButtonWarningColor); } catch (ApiDataException ex) { _log.Info(ex.Message, ex); ShowNotification(ex.Message, null, null, ApplicationConstants.ButtonWarningColor); } catch (Exception ex) { _log.Info(ex.Message, ex); } }
public SaveBasePricesSerializeAction(IFuelPumpRestClient fuelPumpRestClient, ICacheManager cacheManager, FuelPrices prices) : base("SaveBasePrices") { _fuelPumpRestClient = fuelPumpRestClient; _cacheManager = cacheManager; _contract = new FuelPricesContract { isReadTotalizerChecked = prices.IsReadTotalizerChecked, isPricesToDisplayChecked = prices.IsPricesToDisplayChecked, isReadTankDipChecked = prices.IsReadTankDipChecked, tillNumber = _cacheManager.TillNumberForSale, fuelPrices = (from f in prices.Prices select new FuelPriceContract { cashPrice = f.CashPrice, creditPrice = f.CreditPrice, grade = f.Grade, gradeId = f.GradeId, level = f.Level, levelId = f.LevelId, taxExemptedCashPrice = f.TaxExemptedCashPrice, taxExemptedCreditPrice = f.TaxExemptedCreditPrice, tier = f.Tier, tierId = f.TierId, row = f.Row }).ToList() }; }
public async Task <bool> VerifyGroupBasePrices(FuelPrices fuelPrices) { var action = new VerifyGroupBasePricesSerializeAction(_fuelPumpRestClient, _cacheManager, fuelPrices); await PerformTask(action); return((bool)action.ResponseValue); }
public async Task <ErrorMessageWithCaption> SaveGroupBasePrices(FuelPrices fuelPrices) { var action = new SaveGroupBasePricesSerializeAction(_fuelPumpRestClient, _cacheManager, fuelPrices); await PerformTask(action); return((ErrorMessageWithCaption)action.ResponseValue); }
private void SetPostPay(SetPostPayMessage obj) { _setPostPayMessage = obj; _bottleReturnSale = null; _isVoidSaleToBeCompleted = false; _lineNumberToBeDeleted = 0; _fuelPrices = null; _pumpId = 0; }
public VerifyGroupBasePricesSerializeAction(IFuelPumpRestClient fuelPumpRestClient, ICacheManager cacheManager, FuelPrices fuelPrices) : base("VerifyGroupBasePrices") { _fuelPumpRestClient = fuelPumpRestClient; _cacheManager = cacheManager; _fuelPrices = fuelPrices; }
private void SwitchUserAndSavePrices() { CacheBusinessLogic.FramePriorSwitchUserNavigation = "SaveFuelPrices"; NavigateService.Instance.NavigateToLogout(); MessengerInstance.Send(new SaveFuelPricesMessage { FuelPrices = FuelPrices.ToEntity() }); }
private void SendToVoidSaleOnSwitchUser(Reasons reasons) { _fuelPrices = null; _bottleReturnSale = null; _isVoidSaleToBeCompleted = true; _lineNumberToBeDeleted = 0; _pumpId = 0; _setPostPayMessage = null; }
private void SendToDeleteSaleLineOnSwitchUser(int saleLine) { _fuelPrices = null; _bottleReturnSale = null; _isVoidSaleToBeCompleted = false; _lineNumberToBeDeleted = saleLine; _pumpId = 0; _setPostPayMessage = null; }
private void SaveFuelPrices(SaveFuelPricesMessage message) { _fuelPrices = message?.FuelPrices; _bottleReturnSale = null; _isVoidSaleToBeCompleted = false; _lineNumberToBeDeleted = 0; _pumpId = 0; _setPostPayMessage = null; }
private void AddManualFuel(AddManualFuelMessage obj) { _bottleReturnSale = null; _isVoidSaleToBeCompleted = false; _lineNumberToBeDeleted = 0; _fuelPrices = null; _pumpId = obj.PumpId; _setPostPayMessage = null; }
private async void CompleteSaveFuelPrices(FuelPrices prices) { FuelPrices = prices.ToModel(); await SavePrices(); CacheBusinessLogic.FramePriorSwitchUserNavigation = string.Empty; CacheBusinessLogic.AuthKey = CacheBusinessLogic.PreviousAuthKey; MessengerInstance.Send(false, "LoadAllPolicies"); }
private void SendToBottleReturnOnSaleComplete(BottleReturnSaleModel sale) { // TODO: Ipsit - Not the proper way of injecting the Bottle return dependency // in the code for messenging _bottleReturnSale = sale; _isVoidSaleToBeCompleted = false; _lineNumberToBeDeleted = 0; _fuelPrices = null; _pumpId = 0; _setPostPayMessage = null; }
public async Task <ErrorMessageWithCaption> SaveGroupBasePrices(FuelPrices fuelPrices) { try { _cacheBusinessLogic.AreFuelPricesSaved = false; return(await _fuelPumpSerializeManager.SaveGroupBasePrices(fuelPrices)); } finally { _cacheBusinessLogic.AreFuelPricesSaved = true; } }
public static FuelPricesModel ToModel(this FuelPrices prices) { if (prices == null) { return(null); } return(new FuelPricesModel { Prices = new ObservableCollection <FuelPriceModel> (from p in prices.Prices select new FuelPriceModel { Row = p.Row, CashPrice = p.CashPrice, CreditPrice = p.CreditPrice, Grade = p.Grade, GradeId = p.GradeId, Level = p.Level, LevelId = p.LevelId, TaxExemptedCashPrice = p.TaxExemptedCashPrice, TaxExemptedCreditPrice = p.TaxExemptedCreditPrice, Tier = p.Tier, TierId = p.TierId }), IsGrouped = prices.IsGrouped, Report = prices.Report.ReportContent, CanReadTotalizer = prices.CanReadTotalizer, CanSelectPricesToDisplay = prices.CanSelectPricesToDisplay, Caption = prices.Caption, IsCashPriceEnabled = prices.IsCashPriceEnabled, IsCreditPriceEnabled = prices.IsCreditPriceEnabled, IsErrorEnabled = prices.IsErrorEnabled, IsExitEnabled = prices.IsExitEnabled, IsPricesToDisplayChecked = prices.IsPricesToDisplayChecked, IsPricesToDisplayEnabled = prices.IsPricesToDisplayEnabled, IsReadTankDipChecked = prices.IsReadTankDipChecked, IsReadTankDipEnabled = prices.IsReadTankDipEnabled, IsReadTotalizerChecked = prices.IsReadTotalizerChecked, IsReadTotalizerEnabled = prices.IsReadTotalizerEnabled, IsTaxExemptedCashPriceEnabled = prices.IsTaxExemptedCashPriceEnabled, IsTaxExemptedCreditPriceEnabled = prices.IsTaxExemptedCreditPriceEnabled, IsTaxExemptionVisible = prices.IsTaxExemptionVisible, }); }
/// <summary> /// Method to switch user /// </summary> /// <returns></returns> private async Task SwitchUser() { var startTime = DateTime.Now; IsSwitchUserStarted = true; SwitchUserStartTime = DateTime.Now; try { var flag = IsSwitchUserInitiatedForUnathorizedAccess(); var response = await _logoutBussinesslogic.SwitchUserAsync(UserName, Password, flag); _invalidLoginAttempts = 0; // TODO: Move code of saving auth key to BL // TODO: If user closes without Switch user then it will create issue CacheBusinessLogic.AuthKey = response; switch (CacheBusinessLogic.FramePriorSwitchUserNavigation) { case "Reports": case "PaymentByFleet": case "PaymentByAccount": case "SwitchUserToCashDraw": NavigateService.Instance.RedirectToHome(); MessengerInstance.Send(new CloseKeyboardMessage()); break; case "PerformManualSale": MessengerInstance.Send(false, "LoadAllPolicies"); await Task.Delay(1000); NavigateService.Instance.RedirectToHome(); NavigateService.Instance.NavigateToManualFuelSale(); MessengerInstance.Send(new FuelManualPumpMessage { PumpId = _pumpId }); break; default: { MessengerInstance.Send(false, "LoadAllPolicies"); if (_lineNumberToBeDeleted != 0) { MessengerInstance.Send(_lineNumberToBeDeleted, "CompleteDeleteSaleLine"); _lineNumberToBeDeleted = 0; } else if (_bottleReturnSale != null) { MessengerInstance.Send(_bottleReturnSale, "CompleteBottleReturn"); _bottleReturnSale = null; } else if (_isVoidSaleToBeCompleted) { MessengerInstance.Send(_isVoidSaleToBeCompleted, "CompleteVoidSale"); _isVoidSaleToBeCompleted = false; } else if (_fuelPrices != null) { MessengerInstance.Send(_fuelPrices); _fuelPrices = null; } else if (_setPostPayMessage != null) { MessengerInstance.Send(_setPostPayMessage.Value, "SetPostPay"); _setPostPayMessage = null; } } NavigateService.Instance.RedirectToHome(); MessengerInstance.Send(new CloseKeyboardMessage()); break; } } catch (ApiDataException ex) { if (ex.Message.Contains("Invalid Password") || ex.Message.Contains("No Such User")) { if (++_invalidLoginAttempts == MaxInvalidAttemps) { ShowNotification(ApplicationConstants.MaxLoginAttemptsReached, ShutDownApplication, ShutDownApplication, ApplicationConstants.ButtonWarningColor); return; } } ShowNotification(ex.Message, ReInitialize, ReInitialize, ApplicationConstants.ButtonWarningColor); } finally { var endTime = DateTime.Now; if (IsSwitchUserStarted) { OperationsCompletedInSwitchUser++; } } }
public void CompressedNaturalGas() { var result = FuelPrices.CompressedNaturalGas(); Assert.IsNotNull(result); }
public async Task <bool> VerifyGroupBasePrices(FuelPrices fuelPrices) { return(await _fuelPumpSerializeManager.VerifyGroupBasePrices(fuelPrices)); }
private void SetPrice(FuelPriceModel fuelPrice) { if (fuelPrice == null) { return; } try { Convert.ToDecimal(fuelPrice.CashPrice, CultureInfo.InvariantCulture); Convert.ToDecimal(fuelPrice.CreditPrice, CultureInfo.InvariantCulture); if (FuelPrices.IsTaxExemptionVisible) { if (fuelPrice.TaxExemptedCashPrice != "N/A") { Convert.ToDecimal(fuelPrice.TaxExemptedCashPrice, CultureInfo.InvariantCulture); } if (fuelPrice.TaxExemptedCreditPrice != "N/A") { Convert.ToDecimal(fuelPrice.TaxExemptedCreditPrice, CultureInfo.InvariantCulture); } } } catch (Exception ex) { // Eating exception when prices are not in correct format return; } PerformAction(async() => { if (IsGrouped) { var reponse = await _fuelPumpBusinessLogic.SetGroupBasePrice(FuelPrices.ToEntity().Prices, fuelPrice.Row); FuelPrices.Prices = reponse.ToModel().Prices; FuelPrices.Report = reponse?.Report.ReportContent; } else { var reponse = await _fuelPumpBusinessLogic.SetBasePrice(fuelPrice.ToEntity()); var model = reponse?.ToModel(); var price = FuelPrices.Prices.FirstOrDefault(x => x.GradeId == model?.GradeId && x.TierId == model?.TierId && x.LevelId == model?.LevelId); var index = FuelPrices.Prices.IndexOf(price); if (index != -1) { FuelPrices.Prices[index] = model; } } }); }
public void Diesel() { var result = FuelPrices.Diesel(); Assert.IsNotNull(result); }
public void E85() { var result = FuelPrices.E85(); Assert.IsNotNull(result); }
public void Regular() { var result = FuelPrices.Regular(); Assert.IsNotNull(result); }
public void Premium() { var result = FuelPrices.Premium(); Assert.IsNotNull(result); }
public void Midgrade() { var result = FuelPrices.Midgrade(); Assert.IsNotNull(result); }
public void LPG() { var result = FuelPrices.LPG(); Assert.IsNotNull(result); }
public void Electric() { var result = FuelPrices.Electric(); Assert.IsNotNull(result); }