Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
        /// <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");
            }
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        /// <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");
            }
        }
Ejemplo n.º 5
0
        /// <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");
            }
        }
Ejemplo n.º 6
0
        /// <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;
            }
        }
Ejemplo n.º 8
0
        /// <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");
            }
        }