private async void save(object sender, EventArgs e) { if (fineCheckbox.Checked) { Fine fine = new Fine(); await saveFine(fine, reservation).ContinueWith(async task => { int fineId = (int)task.Result; if (fineId > 0) { reservation.fineId = fineId; reservation._checked = true; await DatabaseService.updateReservation(reservation); } else { MessageBox.Show("Przepraszamy, nie udało się zapisać opłaty."); } }); } if (!efficientCheckbox.Checked) { Car car = new Car(); car.registrationNumber = reservation.registrationNumber; car.carEfficiency = efficientCheckbox.Checked; await DatabaseService.updateCar(car); } showParent(); }
private async void cancelReservation(Reservation reservation) { if (DateTime.Compare(DateTime.ParseExact(reservation.dateBegin, "dd.MM.yyyy HH:mm:ss", null).AddDays(3), DateTime.Now) > 0) { if (MessageBox.Show("Kosz anulowania rezerwacji wynosi: 30zł. Chcesz anulować rezerwacje?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Fine fine = new Fine(); fine.fineCost = 30; fine.fineDescription = "Anulowanie rezerwacji, krócej niż 3 dni przed jej terminem."; await DatabaseService.insertFine(fine).ContinueWith(async(Task <long> task) => { var id = task.Result; reservation.ended = true; reservation.fineId = (int)id; return(await DatabaseService.updateReservation(reservation)); }); } } else { if (MessageBox.Show("Na pewno chcesz anulować rezerwacje?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { reservation.ended = true; await DatabaseService.updateReservation(reservation); } } }