private async Task NewErrandMotorbike(Component problem, Fuel fuel, string modelName, string regNumber, int odoMeter) { if (VehicleComboBox.SelectedIndex == 3) { Component component = (Component)TypeOfProblemList.SelectedItem; VehiclesAsEnum vehicle = (VehiclesAsEnum)VehicleComboBox.SelectedItem; Task <bool> result = manageStock.RemoveComponents(component, vehicle); bool inStock = result.Result; if (inStock == true) { Guid vehicleId = await manageVehicles.NewMotorbike(modelName, regNumber, odoMeter, fuel); await manageErrands.NewErrand(Errands, DescriptionBox.Text, problem, vehicleId); MessageBox.Show(_errandSuccess); } else if (inStock == false) { MessageBox.Show(_notEnoughComponents); ClearAll(); } } }
private void Button_Click(object sender, RoutedEventArgs e) { int.TryParse(AmountBox.Text, out int amount); if (TypeOfProblemList.SelectedIndex == -1 || VehicleComboBox.SelectedIndex == -1 || amount <= 0) { MessageBox.Show(_purchaseFail); ClearAll(); PrintAllDropDown(); return; } else { Component component = (Component)TypeOfProblemList.SelectedItem; VehiclesAsEnum vehicle = (VehiclesAsEnum)VehicleComboBox.SelectedItem; manageStock.AddComponents(component, vehicle, amount); MessageBox.Show(_purchaseSuccess); ClearAll(); PrintAllDropDown(); PrintStockStatus(); return; } }
public async void AddComponents(Component component, VehiclesAsEnum vehicle, int amount) { switch (vehicle) { case VehiclesAsEnum.Bil: Dictionary <string, int> CarComponents = new Dictionary <string, int>(); CarComponents = dataAccess.GetData(FileName.CarComponents); CarComponents[component.ToString()] += amount; await dataAccess.SaveData(CarComponents, FileName.CarComponents); break; case VehiclesAsEnum.Buss: Dictionary <string, int> BusComponents = new Dictionary <string, int>(); BusComponents = dataAccess.GetData(FileName.BusComponents); BusComponents[component.ToString()] += amount; await dataAccess.SaveData(BusComponents, FileName.BusComponents); break; case VehiclesAsEnum.Lastbil: Dictionary <string, int> TruckComponents = new Dictionary <string, int>(); TruckComponents = dataAccess.GetData(FileName.TruckComponents); TruckComponents[component.ToString()] += amount; await dataAccess.SaveData(TruckComponents, FileName.TruckComponents); break; case VehiclesAsEnum.Motorcykel: Dictionary <string, int> MotorbikeComponents = new Dictionary <string, int>(); MotorbikeComponents = dataAccess.GetData(FileName.MotorbikeComponents); MotorbikeComponents[component.ToString()] += amount; await dataAccess.SaveData(MotorbikeComponents, FileName.MotorbikeComponents); break; default: break; } }
private async Task NewErrandCar(Component problem, Fuel fuel, string modelName, string regNumber, int odoMeter) { if (TowBarYes.IsChecked == true) { Component component = (Component)TypeOfProblemList.SelectedItem; VehiclesAsEnum vehicle = (VehiclesAsEnum)VehicleComboBox.SelectedItem; TypeOfCar typeOfCar = (TypeOfCar)cbTypeOfCar.SelectedItem; Task <bool> result = manageStock.RemoveComponents(component, vehicle); bool inStock = result.Result; if (inStock == true) { bool towBar = false; Guid vehicleId = await manageVehicles.NewCar(modelName, regNumber, odoMeter, fuel, towBar, typeOfCar); await manageErrands.NewErrand(Errands, DescriptionBox.Text, problem, vehicleId); MessageBox.Show(_errandSuccess); } else if (inStock == false) { MessageBox.Show(_notEnoughComponents); ClearAll(); } } else if (TowBarNo.IsChecked == true) { Component component = (Component)TypeOfProblemList.SelectedItem; VehiclesAsEnum vehicle = (VehiclesAsEnum)VehicleComboBox.SelectedItem; TypeOfCar typeOfCar = (TypeOfCar)cbTypeOfCar.SelectedItem; Task <bool> result = manageStock.RemoveComponents(component, vehicle); bool inStock = result.Result; if (inStock == true) { bool towBar = false; Guid vehicleId = await manageVehicles.NewCar(modelName, regNumber, odoMeter, fuel, towBar, typeOfCar); await manageErrands.NewErrand(Errands, DescriptionBox.Text, problem, vehicleId); MessageBox.Show(_errandSuccess); } else if (inStock == false) { MessageBox.Show(_notEnoughComponents); ClearAll(); } } }
public async Task <bool> RemoveComponents(Component component, VehiclesAsEnum vehicle) { switch (vehicle) { case VehiclesAsEnum.Bil: Dictionary <string, int> CarComponents = new Dictionary <string, int>(); CarComponents = dataAccess.GetData(FileName.CarComponents); if ( component == Component.Bromsar && CarComponents[component.ToString()] >= 4 || component == Component.Däck && CarComponents[component.ToString()] >= 4) { CarComponents[component.ToString()] -= 4; await dataAccess.SaveData(CarComponents, FileName.CarComponents); return(true); } else if ( component == Component.Kaross && CarComponents[component.ToString()] >= 1 || component == Component.Motor && CarComponents[component.ToString()] >= 1 || component == Component.Vindrutor && CarComponents[component.ToString()] >= 1) { CarComponents[component.ToString()] -= 1; await dataAccess.SaveData(CarComponents, FileName.CarComponents); return(true); } else { return(false); } case VehiclesAsEnum.Buss: Dictionary <string, int> BusComponents = new Dictionary <string, int>(); BusComponents = dataAccess.GetData(FileName.BusComponents); if ( component == Component.Bromsar && BusComponents[component.ToString()] >= 6 || component == Component.Däck && BusComponents[component.ToString()] >= 6) { BusComponents[component.ToString()] -= 6; await dataAccess.SaveData(BusComponents, FileName.BusComponents); return(true); } else if ( component == Component.Kaross && BusComponents[component.ToString()] >= 1 || component == Component.Motor && BusComponents[component.ToString()] >= 1 || component == Component.Vindrutor && BusComponents[component.ToString()] >= 1) { BusComponents[component.ToString()] -= 1; await dataAccess.SaveData(BusComponents, FileName.BusComponents); return(true); } else { return(false); } case VehiclesAsEnum.Lastbil: Dictionary <string, int> TruckComponents = new Dictionary <string, int>(); TruckComponents = dataAccess.GetData(FileName.TruckComponents); if ( component == Component.Bromsar && TruckComponents[component.ToString()] >= 6 || component == Component.Däck && TruckComponents[component.ToString()] >= 6) { TruckComponents[component.ToString()] -= 6; await dataAccess.SaveData(TruckComponents, FileName.TruckComponents); return(true); } else if ( component == Component.Kaross && TruckComponents[component.ToString()] >= 1 || component == Component.Motor && TruckComponents[component.ToString()] >= 1 || component == Component.Vindrutor && TruckComponents[component.ToString()] >= 1) { TruckComponents[component.ToString()] -= 1; await dataAccess.SaveData(TruckComponents, FileName.TruckComponents); return(true); } else { return(false); } case VehiclesAsEnum.Motorcykel: Dictionary <string, int> MotorbikeComponents = new Dictionary <string, int>(); MotorbikeComponents = dataAccess.GetData(FileName.MotorbikeComponents); if ( component == Component.Bromsar && MotorbikeComponents[component.ToString()] >= 2 || component == Component.Däck && MotorbikeComponents[component.ToString()] >= 2) { MotorbikeComponents[component.ToString()] -= 2; await dataAccess.SaveData(MotorbikeComponents, FileName.MotorbikeComponents); return(true); } else if ( component == Component.Kaross && MotorbikeComponents[component.ToString()] >= 1 || component == Component.Motor && MotorbikeComponents[component.ToString()] >= 1 || component == Component.Vindrutor && MotorbikeComponents[component.ToString()] >= 1) { MotorbikeComponents[component.ToString()] -= 1; await dataAccess.SaveData(MotorbikeComponents, FileName.MotorbikeComponents); return(true); } else { return(false); } } return(false); }