private void buttonVehicleDelete_Click(object sender, EventArgs e) { if (listBoxVehicle.SelectedItem != null) { if (listBoxVehicle.SelectedItem is Vehicle vehicle) { if (DBController.TryCheckOpenBookingVehicle(vehicle, out bool result)) { //If car isn't booked if (!result) { DialogResult dialog = Feedback.AskVehicleDelete(); if (dialog == DialogResult.Yes) { //Try delete vehicle if (DBController.TryDeleteVehicle(vehicle)) { if (!DBController.TryCheckVehicleTypeIsNeeded(vehicle)) { Feedback.ErrorDatabaseVehicleTypeDelete(); } Feedback.SuccessVehicleDelete(); FormController.MainView.UpdateVehicleList(); } else { Feedback.ErrorDatabaseVehicleDelete(); } } } else //If car is booked { Feedback.ErrorDatabaseBookedVehicleDelete(); } } else //If check fails { Feedback.ErrorDatabaseConnection(); } } else //If selected item isn't a vehicle { Feedback.ErrorNoValidSelectedItem(); } } else //If selected item is null { Feedback.ErrorNoSelectedItem(); } }
private void buttonAccept_Click(object sender, EventArgs e) { if (test()) { #region check if (!Double.TryParse(txtMileage.Text, out double mileage)) { Feedback.ErrorConvertMileage(); return; } if (!Double.TryParse(txtTankFilling.Text, out double tankFilling)) { Feedback.ErrorConvertTankFilling(); return; } if (!Double.TryParse(txtPower.Text, out double power)) { Feedback.ErrorConvertPower(); return; } if (!Double.TryParse(txtMaxTankFilling.Text, out double maxTankFilling)) { Feedback.ErrorConvertMaxTankFilling(); return; } if (!Double.TryParse(txtPrice.Text, out double basicPrice)) { Feedback.ErrorConvertBasicPrice(); return; } if (!Double.TryParse(txtPriceKilo.Text, out double pricePerKilometre)) { Feedback.ErrorConvertPriceKilo(); return; } if (!Double.TryParse(txtPriceMin.Text, out double pricePerMinute)) { Feedback.ErrorConvertPriceMin(); return; } if (!Double.TryParse(txtPosX.Text, out double posX)) { Feedback.ErrorConvertLocationX(); return; } if (!Double.TryParse(txtPosY.Text, out double posY)) { Feedback.ErrorConvertLocationY(); return; } if (!Double.TryParse(txtFuelCon.Text, out double fuelConsumption)) { Feedback.ErrorConvertFuelCon(); return; } if (!DateTime.TryParse(txtReg.Text, out DateTime registration)) { Feedback.ErrorConvertRegi(); return; } if (!Int32.TryParse(txtConstructionYear.Text, out int constructionYear)) { Feedback.ErrorConvertConstructionYear(); return; } if (!Int32.TryParse(txtSeats.Text, out int seats)) { Feedback.ErrorConvertSeats(); return; } if (tankFilling > maxTankFilling) { Feedback.ErrorPhysikTankFilling(); return; } if (constructionYear < 1880) { Feedback.ErrorConstructionYearTooEarly(); return; } if (constructionYear > DateTime.Today.Year) { Feedback.ErrorConstructionYearTooLate(); return; } if (registration.Year < constructionYear) { Feedback.ErrorRegiBeforeConstruction(); return; } if (dateTimeLastMaintenance.Value.Year < constructionYear) { Feedback.ErrorMaintanceBeforeConstruction(); return; } if (!DBController.TryGetVehicleNumberPlates(out List <string> numberPlates)) { Feedback.ErrorDatabaseLoadNumberPlates(); return; } if (numberPlates.Contains(txtNumberplate.Text)) { if (vehicleOld != null) { if (vehicleOld.NumberPlate != txtNumberplate.Text) { Feedback.ErrorNumberPlateAlreadyExist(); return; } } else { Feedback.ErrorNumberPlateAlreadyExist(); return; } } #endregion Vehicle vehicle = new Vehicle(txtNumberplate.Text, mileage, dateTimeLastMaintenance.Value, tankFilling, new PointD(posX, posY), checkAvailable.Checked, comboBrand.Text, txtModel.Text, (int)Math.Round(power), constructionYear, comboGear.Text, maxTankFilling, basicPrice, pricePerKilometre, pricePerMinute, registration, seats, comboFuel.SelectedItem.ToString(), fuelConsumption, checkAirConditioner.Checked, checkCruiseControl.Checked, checkRadio.Checked, checkBluetooth.Checked, checkUSB.Checked, checkCDPlayer.Checked, checkNavigationDevice.Checked, checkABS.Checked, checkESP.Checked, checkHeatedSeat.Checked, checkWinter.Checked, checkSmoker.Checked); if (vehicleOld == null) { if (!DBController.TryAddVehicle(vehicle)) { Feedback.ErrorDatabaseVehicleAdd(); return; } Feedback.SuccessVehicleAdd(); } else { if (!DBController.TryUpdateVehicleInDB(vehicle, vehicleOld)) { Feedback.ErrorDatabaseVehicleEdit(); return; } if (!DBController.TryCheckVehicleTypeIsNeeded(vehicleOld)) { Feedback.ErrorDatabaseVehicleTypeDelete(); } Feedback.SuccessVehicleEdit(); } ((EditDataView)Parent).Close(); FormController.MainView.UpdateVehicleList(); } }