public CarRefuelTrackerOverviewViewModel(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; AvailableCars = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars("Show All")); RegisterCommands(); _eventAggregator.GetEvent <NewsEvent>().Subscribe(CarCreated); }
private void HandleNewsEvents(string parameter) { if (parameter.Equals("EntryClosed")) { Entries = new ObservableCollection <EntryModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadEntrysForCar(Id, DateTime.Now.Year.ToString())); } }
private void CarCreated(string parameter) { if (parameter.Equals("CarSaved") || parameter.Equals("Cancel")) { AvailableCars = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars("Show All")); } }
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(); }
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); } }
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(); }
private void DeleteCar() { SqLiteDataAccessCarRefuelTrackerModule.DeleteCar(SelectedCarModel); AvailableCars = new ObservableCollection <CarModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadCars("Show All")); SelectedCarModel = AvailableCars.FirstOrDefault(); }
private void RefreshCarModelList() { AvailableCarModels = new ObservableCollection <ModelTypeModel>(SqLiteDataAccessCarRefuelTrackerModule.ModelsFromBrands(SelectedBrand.Id)); }
private void RefreshFuelTypeList() { AvailableFuelTypes = new ObservableCollection <FuelTypeModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadAllFuelTypes()); }
private void RefreshBrandModelList() { AvailableBrands = new ObservableCollection <BrandModel>(SqLiteDataAccessCarRefuelTrackerModule.LoadAllBrands()); }
private void DeleteEntry() { SqLiteDataAccessCarRefuelTrackerModule.DeleteEntryFromDatabase(SelectedEntryModel); UpdateEntryList(); }
private void RemoveBrand() { SqLiteDataAccessCarRefuelTrackerModule.RemoveBrandFromDataBase(SelectedBrand); RefreshBrandModelList(); }
private void RemoveFuelType() { SqLiteDataAccessCarRefuelTrackerModule.RemoveFuelTypeFromDatabase(SelectedFuelType); RefreshFuelTypeList(); }