Exemple #1
0
 public CarRefuelTrackerOverviewViewModel(IEventAggregator eventAggregator)
 {
     _eventAggregator = eventAggregator;
     AvailableCars    = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars("Show All"));
     RegisterCommands();
     _eventAggregator.GetEvent <NewsEvent>().Subscribe(CarCreated);
 }
Exemple #2
0
 private void HandleNewsEvents(string parameter)
 {
     if (parameter.Equals("EntryClosed"))
     {
         Entries = new ObservableCollection <EntryModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadEntrysForCar(Id, DateTime.Now.Year.ToString()));
     }
 }
Exemple #3
0
 private void CarCreated(string parameter)
 {
     if (parameter.Equals("CarSaved") || parameter.Equals("Cancel"))
     {
         AvailableCars = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars("Show All"));
     }
 }
Exemple #4
0
        private void SaveCar()
        {
            CarModel carToSave = new CarModel
            {
                Id           = Id,
                IsActive     = IsActive,
                Brand        = SelectedBrand,
                BrandId      = SelectedBrand.Id,
                ModelType    = SelectedModelType,
                ModelId      = SelectedModelType.Id,
                FuelType     = SelectedFuelType,
                TypeoffuelId = SelectedFuelType.Id,
                Entries      = Entries
            };

            if (carToSave.Id > 0)
            {
                SqLiteDataAccessCarRefuelTrackerModule.UpdateCar(carToSave);
            }
            else
            {
                SqLiteDataAccessCarRefuelTrackerModule.SaveCar(carToSave);
            }

            _eventAggregator.GetEvent <ObjectEvent>().Publish("CarSaved");
            _eventAggregator.GetEvent <ObjectEvent>().Publish(carToSave);
            CloseCarDetails();
        }
 private void UpdateEntryList()
 {
     if (CarModel != null)
     {
         AllEntrysForSelectedCar = new ObservableCollection <EntryModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadEntrysForCar(CarModel.Id, SelectedYear));
         CalculateAverages();
     }
 }
        private void AddModelType()
        {
            ModelTypeModel modelType = new ModelTypeModel {
                ModelName = TxtModelName
            };

            modelType.Id = SqLiteDataAccessCarRefuelTrackerModule.AddModel(modelType, _brandModel).Id;
            _eventAggregator.GetEvent <ObjectEvent>().Publish(modelType);
            Close?.Invoke();
        }
        private void AddFuelType()
        {
            FuelTypeModel fuelTypeModelToAdd = new FuelTypeModel {
                TypeOfFuel = TxtFuelTypeName
            };

            fuelTypeModelToAdd.Id = SqLiteDataAccessCarRefuelTrackerModule.AddFuelType(fuelTypeModelToAdd).Id;
            _eventAggregator.GetEvent <ObjectEvent>().Publish(fuelTypeModelToAdd);
            LogHelper.WriteToLog(appLogger, $"Fueltype {TxtFuelTypeName} added", LogState.Info);
            Close?.Invoke();
        }
        private void AddBrand()
        {
            BrandModel modelToAdd = new BrandModel {
                BrandName = TxtBrandName
            };

            modelToAdd.Id = SqLiteDataAccessCarRefuelTrackerModule.AddBrand(modelToAdd).Id;
            _eventAggregator.GetEvent <ObjectEvent>().Publish(modelToAdd);
            LogHelper.WriteToLog(appLogger, $"Brand {TxtBrandName} added", LogState.Info);
            Close?.Invoke();
        }
Exemple #9
0
 public void LoadCars()
 {
     AvailableCars = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars(SelectedYear));
     foreach (CarModel car in AvailableCars)
     {
         car.CarName = $"{car.Brand.BrandName} {car.ModelType.ModelName}";
         car.AveragePricePerLiter           = AverageCalculator.CalculateAveragePricePerLiter(car.Entries);
         car.TotalFuelAmount                = AverageCalculator.CalculateTotalFuelAmount(car.Entries);
         car.TotalRefuelCosts               = AverageCalculator.CalculateTotalRefuelCosts(car.Entries);
         car.TotalDrivenDistance            = AverageCalculator.CalculateTotalDrivenDistance(car.Entries);
         car.AverageConsumption             = AverageCalculator.CalculateTotalAverageConsumption(car.Entries);
         car.AverageCostsOfHundredKilometer = AverageCalculator.CalculateTotalAverageCostsOfHundredKilometer(car.Entries);
     }
 }
Exemple #10
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();
        }
Exemple #11
0
 private void DeleteCar()
 {
     SqLiteDataAccessCarRefuelTrackerModule.DeleteCar(SelectedCarModel);
     AvailableCars    = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars("Show All"));
     SelectedCarModel = AvailableCars.FirstOrDefault();
 }
Exemple #12
0
 private void RefreshCarModelList()
 {
     AvailableCarModels = new ObservableCollection <ModelTypeModel>(SqLiteDataAccessCarRefuelTrackerModule.ModelsFromBrands(SelectedBrand.Id));
 }
Exemple #13
0
 private void RefreshFuelTypeList()
 {
     AvailableFuelTypes = new ObservableCollection <FuelTypeModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadAllFuelTypes());
 }
Exemple #14
0
 private void RefreshBrandModelList()
 {
     AvailableBrands = new ObservableCollection <BrandModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadAllBrands());
 }
 private void DeleteEntry()
 {
     SqLiteDataAccessCarRefuelTrackerModule.DeleteEntryFromDatabase(SelectedEntryModel);
     UpdateEntryList();
 }
Exemple #16
0
 private void RemoveBrand()
 {
     SqLiteDataAccessCarRefuelTrackerModule.RemoveBrandFromDataBase(SelectedBrand);
     RefreshBrandModelList();
 }
Exemple #17
0
 private void RemoveFuelType()
 {
     SqLiteDataAccessCarRefuelTrackerModule.RemoveFuelTypeFromDatabase(SelectedFuelType);
     RefreshFuelTypeList();
 }