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);
         }
     }
 }
Esempio n. 2
0
 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();
 }
        public static async Task <long> insertFine(Fine fine, Reservation reservation = null)
        {
            return(await Task.Run(() =>
            {
                if (!(reservation is null) && reservation.fineId > 0)
                {
                    return getFine(reservation.fineId).ContinueWith(task =>
                    {
                        Fine fine2 = task.Result;
                        fine.fineCost += fine2.fineCost;
                        fine.fineDescription += '\n' + fine2.fineDescription;
                        if (connection.State != ConnectionState.Open)
                        {
                            openConnection();
                        }
                        if (connection.State == ConnectionState.Open)
                        {
                            string query = "UPDATE wypozyczalniaOplaty SET cost = '" + fine.fineCost + "', description = '" + fine.fineDescription + "' WHERE id = " + reservation.fineId + ";";
                            var insertCommand = new MySqlCommand(query, connection);
                            insertCommand.ExecuteNonQuery();
                            insertCommand.Dispose();
                            connection.Close();

                            return reservation.fineId;
                        }
                        return -1;
                    }).Result;
                }
        // Metoda 'addFineTableRow' została dodana ze względu na wymagania frameworka Windows.Forms
        // Wypełnienia tabeli danymi
        private void addFineTableRow(Fine fine)
        {
            var index = fineTable.Rows.Add();

            fineTable.Rows[index].Cells["id"].Value          = fine.fineId;
            fineTable.Rows[index].Cells["cost"].Value        = fine.fineCost;
            fineTable.Rows[index].Cells["description"].Value = fine.fineDescription;
        }
Esempio n. 5
0
 private async Task <long> saveFine(Fine fine, Reservation reservation)
 {
     fine.fineCost        = (double)cost.Value;
     fine.fineDescription = description.Text;
     return(await DatabaseService.insertFine(fine, reservation));
 }