/// <summary> /// Berechnet das Tanken. Wieviel Liter Treibstoff bezogen wird und wie teuer es ist /// </summary> /// <param name="source"></param> /// <param name="e"></param> public void Refuel(Object source, ElapsedEventArgs e) { try { Tank tank = _activeTap.Fuel.TankList.First(t => t.VolumeLiter >= 0.25); if (tank != null) { tank.VolumeLiter = tank.VolumeLiter - 0.25f; } else { StopRefuel(); MessageService.AddWarningMessage("Zu wenig Treibstoff", "Es ist zu wenig Treibstoff vorhanden, um weiter zu tanken können. Gehen Sie bitte an die Kasse und zahlen Sie das bereits getankte."); return; } } catch (Exception ex) { StopRefuel(); MessageService.AddErrorMessage("Fehler", ex.Message); return; } Liter = Liter + 0.25; ToPayValue = Convert.ToDecimal(Liter) * ActiveTap.Fuel.PricePerLiter; }
/// <summary> /// speichert alle Quittungen welche in diesem Objekt existieren /// </summary> public void SaveReceiptChanges() { try { //RECEIPT using (StreamWriter sr = new StreamWriter(@"..\..\Data\config\receiptConfig.json")) { dynamic baseJson = new JObject(); JArray receiptJsonArray = new JArray(); foreach (Receipt receipt in receipts) { dynamic receiptJson = new JObject(); receiptJson.Id = receipt.Id; receiptJson.Date = receipt.Date.ToString("yyyy'/'MM'/'dd HH:mm:ss"); receiptJson.RelatedFuel = receipt.RelatedFuel.Name; receiptJson.RelatedLiter = receipt.RelatedLiter; receiptJson.Sum = receipt.Sum; receiptJsonArray.Add(receiptJson); } baseJson.receipts = receiptJsonArray; sr.Write(baseJson.ToString()); } } catch (Exception) { MessageService.AddErrorMessage("Bitte überprüfe Sie ihr receiptConfig.json", "Receipt kann nicht abgespeichert werden"); } }
public CoinContainer(int coinValue, int maximunCoins) { _coinsValue = coinValue; _maximunCoins = maximunCoins; Coin[] coins = GasStation.GetInstance().GetCoins().Where(c => c.GetValue() == coinValue).ToArray(); for (int i = 0; i < coins.Count(); i++) { try { _coins[i] = coins[i]; } catch (IndexOutOfRangeException ex) { MessageService.AddErrorMessage("Fehler", $"{ex.Message}\r\n{ex.Source}\r\n{ex.StackTrace}"); } } //for (int i = 0; i < 20; i++) //{ // _coins[i] = new Coin(_coinsValue); //} _percentFilling = 100.0 / _maximunCoins * _coins.Where(x => x != null).Count(); }
/// <summary> /// speichert alle Treibstoffsorten welche in diesem Objekt existieren /// </summary> public void SaveFuelChanges() { try { //FUEL using (StreamWriter sr = new StreamWriter(@"..\..\Data\config\fuelConfig.json")) { dynamic baseJson = new JObject(); JArray fuelJsonArray = new JArray(); foreach (Fuel fuel in fuels) { dynamic fuelJson = new JObject(); fuelJson.Name = fuel.Name; fuelJson.PricePerLiter = fuel.PricePerLiter.ToString(); fuelJsonArray.Add(fuelJson); } baseJson.fuels = fuelJsonArray; sr.Write(baseJson.ToString()); } } catch (Exception) { MessageService.AddErrorMessage("Bitte überprüfe Sie ihr fuelConfig.json", "Fuel kann nicht abgespeichert werden"); } }
/// <summary> /// speichert alle Tanks welche in diesem Objekt existieren /// </summary> public void SaveTankChanges() { try { //TANK using (StreamWriter sr = new StreamWriter(@"..\..\Data\config\tankConfig.json")) { dynamic baseJson = new JObject(); JArray tankJsonArray = new JArray(); foreach (Tank tank in tanks) { dynamic tankJson = new JObject(); tankJson.Number = tank.Number; tankJson.Name = tank.Name; tankJson.FuelName = tank.FuelName; tankJson.AvailibleLiter = tank.AvailibleLiter.ToString(); tankJson.VolumeLiter = tank.VolumeLiter.ToString(); tankJson.MinAmount = tank.MinAmount.ToString(); tankJsonArray.Add(tankJson); } baseJson.tanks = tankJsonArray; sr.Write(baseJson.ToString()); } } catch (Exception) { MessageService.AddErrorMessage("Bitte überprüfe Sie ihr tankConfig.json", "Tank kann nicht abgespeichert werden"); } }
/// <summary> /// speichert alle Zapfsäulen welche in diesem Objekt existieren /// </summary> public void SaveGasPumpChanges() { try { //GASPUMP using (StreamWriter sr = new StreamWriter(@"..\..\Data\config\gasPumpConfig.json")) { dynamic baseJson = new JObject(); JArray gasPumpJsonArray = new JArray(); foreach (GasPump gasPump in gasPumps) { dynamic gasPumpJson = new JObject(); gasPumpJson.GasPumpNumber = gasPump.GasPumpNumber; gasPumpJson.Status = gasPump.Status; gasPumpJsonArray.Add(gasPumpJson); } baseJson.gasPumps = gasPumpJsonArray; sr.Write(baseJson.ToString()); } } catch (Exception) { MessageService.AddErrorMessage("Bitte überprüfe Sie ihr gasPumpConfig.json", "GASPUMP kann nicht abgespeichert werden"); } }
/// <summary> /// Schliesst die Zahlung ab, sofern genug Geld eingeworfen wurde. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _btnFertig_Click(object sender, RoutedEventArgs e) { GasPump selectedGasPump = (GasPump)GasPumpComboBox.SelectedItem; int[] outputCoins = new int[1]; try { outputCoins = Context.FinishInput(selectedGasPump); if (outputCoins[0] == -1) { _tbxAnzeige.Text += $"\r\nEs wurde noch zu wenig Geld eingeworfen. Es fehlen noch {selectedGasPump.ToPayValue - decimal.Parse(Context.GetValueInput().ToString()) / 100} Franken."; } else { _tbxAnzeige.Text += "\r\nAusgabe:\r\n"; RenderNumberOfCoins(outputCoins); DisableButtons(); IReceipt receipt = Context.CreateReceipt(selectedGasPump); selectedGasPump.ToPayValue = 0; ReceiptDisplay receiptDisplay = new ReceiptDisplay(); receiptDisplay.Context = receipt; receiptDisplay.Show(); } } catch (Exception ex) { if (ex.Message.StartsWith("Es kann leider kein Rückgeld gegeben werden.")) { MessageService.AddWarningMessage("Fehler", $"{ex.Message}\r\n{ex.Source}\r\n{ex.StackTrace}"); } else { MessageService.AddErrorMessage("Fehler", ex.Message); } return; } }
/// <summary> /// speichert alle Münzen welche in diesem Objekt existieren /// </summary> public void SaveCoinChanges() { try { //Coin using (StreamWriter sr = new StreamWriter(@"..\..\Data\config\coinConfig.json")) { dynamic baseJson = new JObject(); JArray coinJsonArray = new JArray(); foreach (Coin coin in coins) { coinJsonArray.Add(coin.GetValue()); } baseJson.coins = coinJsonArray; sr.Write(baseJson.ToString()); } } catch (Exception) { MessageService.AddErrorMessage("Bitte überprüfe Sie ihr coinConfig.json", "Coin kann nicht abgespeichert werden"); } }