Exemple #1
0
        private void AddEntry()
        {
            if (_entryModel.Id != 0)
            {
                _entryModel.Id             = Id;
                _entryModel.EntryDate      = SelectedDate.ToShortDateString();
                _entryModel.PricePerLiter  = PricePerLiter;
                _entryModel.AmountOffuel   = AmountOfFuel;
                _entryModel.DrivenDistance = DrivenDistance;

                _entryModel.ConsumptationPerHundredKilometer =
                    EntryCalculator.CalculateAverageForHundredKilometer(AmountOfFuel, DrivenDistance);

                _entryModel.CostPerHundredKilometer =
                    EntryCalculator.CalculateAverageForHundredKilometer(EntryCalculator.CalculateTotalFuelCosts(AmountOfFuel, PricePerLiter),
                                                                        DrivenDistance);
                _entryModel.TotalAmount = EntryCalculator.CalculateTotalFuelCosts(AmountOfFuel, PricePerLiter);

                SqLiteDataAccessCarRefuelTrackerModule.UpdateEntryInDatabase(_entryModel);
            }
            else
            {
                _entryModel.EntryDate      = SelectedDate.ToShortDateString();
                _entryModel.PricePerLiter  = PricePerLiter;
                _entryModel.AmountOffuel   = AmountOfFuel;
                _entryModel.DrivenDistance = DrivenDistance;
                _entryModel.ConsumptationPerHundredKilometer =
                    EntryCalculator.CalculateAverageForHundredKilometer(AmountOfFuel, DrivenDistance);

                _entryModel.CostPerHundredKilometer =
                    EntryCalculator.CalculateAverageForHundredKilometer(EntryCalculator.CalculateTotalFuelCosts(AmountOfFuel, PricePerLiter),
                                                                        DrivenDistance);

                _entryModel.TotalAmount = EntryCalculator.CalculateTotalFuelCosts(AmountOfFuel, PricePerLiter);
                _entryModel.CarId       = _carModel.Id;
                SqLiteDataAccessCarRefuelTrackerModule.SaveEntryInDatabase(_entryModel);
            }

            _eventAggregator.GetEvent <NewsEvent>().Publish("EntryClosed");
            Close?.Invoke();
        }