public ActionResult ReservationSection(int id)
        {
            TourDao      tourDao = new TourDao();
            IList <Tour> tours   = tourDao.GetAll();

            ViewBag.Rezervace = tours;
            ReservationDao reservationDao = new ReservationDao();
            Reservation    reservation    = reservationDao.GetById(id);

            return(View(reservation));
        }
        public ActionResult ReservationSection(int id)
        {
            TourDao      tDao = new TourDao();
            IList <Tour> t    = new List <Tour>();

            t.Add(tDao.GetById(id));

            ViewBag.Tour = t;

            ReservationDao reservationDao = new ReservationDao();
            Reservation    reservation    = reservationDao.GetById(id);

            return(View(reservation));
        }
        public ActionResult Delete(int id)
        {
            try
            {
                ReservationDao rDao = new ReservationDao();

                rDao.Delete(rDao.GetById(id));
                TempData["succes"] = "Rezervace na termín úspěšně zrušena.";
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 4
0
        public ActionResult Cancel(int id)
        {
            try
            {
                // Získání instance vybrané rezervace pro zrušení.
                ReservationDao reservationDao = new ReservationDao();
                Reservation    reservation    = reservationDao.GetById(id);

                // Píše chybu v dvojité session
                //reservation.Client.Credit += reservation.Lesson.ActivityType.Price;
                //FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao();
                //fitnessCentreUserDao.Update(reservation.Client);

                //reservation.Lesson.Capacity += 1;
                //LessonDao lessonDao = new LessonDao();
                //lessonDao.Update(reservation.Lesson);

                // Přičtení ceny aktivity zpět ke kreditu klienta a uvolnění 1 místa v kapacitě lekce. Zápis změn do databáze.
                reservation.Client.Credit += reservation.Lesson.ActivityType.Price;
                FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao();
                FitnessCentreUser    client = fitnessCentreUserDao.GetByLogin(reservation.Client.Login);
                fitnessCentreUserDao.Update(client);

                reservation.Lesson.ActualCapacity += 1;
                LessonDao lessonDao = new LessonDao();
                Lesson    lesson    = lessonDao.GetById(reservation.Lesson.Id);
                lessonDao.Update(lesson);

                TempData["message-success"] = "Rezervace aktivity " + reservation.Lesson.ActivityType.Name + " byla úspěšně zrušena.";

                // Smazání rezervace z databáze.
                reservationDao.Delete(reservation);
            }
            catch (Exception)
            {
                // mechanismus zachytávání výjimek doporučuje dobře si nastudovat
                throw;
            }

            return(RedirectToAction("Index", new { isActive = true }));
        }
        public ActionResult DeleteReservation(int id)
        {
            try
            {
                ReservationDao reservationDao = new ReservationDao();
                Reservation    reservation    = reservationDao.GetById(id);

                TourDao tourDao = new TourDao();
                Tour    tour    = tourDao.GetById(reservation.Tour.Id);

                tour.CurrentCapacity--;
                tourDao.Update(tour);

                reservationDao.Delete(reservation);

                TempData["message-success"] = "Rezervace " + reservation.ValidationNumber + " byla uspesne smazana z databazi";
            }
            catch (Exception e)
            {
                throw;
            }
            return(RedirectToAction("Rezervace", "Tours"));
        }
        public ActionResult ChangeStatus(int id, Boolean zrusit, Boolean vratit)
        {
            try
            {
                ReservationDao reservationDao = new ReservationDao();
                Reservation    reservation    = reservationDao.GetById(id);

                TourDao tourDao = new TourDao();
                Tour    tour    = tourDao.GetById(reservation.Tour.Id);

                if (zrusit)
                {
                    if (vratit)
                    {
                        int result = DateTime.Compare(DateTime.Now, tour.StartDate);


                        if (tour.CurrentCapacity < tour.Capacity && result < 0)
                        {
                            reservation.Status = "nezaplaceno";
                            tour.CurrentCapacity++;
                            tourDao.Update(tour);

                            reservationDao.Update(reservation);

                            TempData["message-success"] = "Status rezervace " + reservation.ValidationNumber + " byl zmenen";
                        }
                        else
                        {
                            TempData["message-danger"] = "Je nam lito ale neni mozne vratit rezervaci. Nedostatek mist nebo je zajezd uz zahajen.";
                        }
                    }
                    else
                    {
                        reservation.Status = "zruseno";
                        tour.CurrentCapacity--;
                        tourDao.Update(tour);

                        reservationDao.Update(reservation);

                        TempData["message-success"] = "Status rezervace " + reservation.ValidationNumber + " byl zmenen";
                    }
                }
                else
                {
                    if (reservation.Status == "nezaplaceno")
                    {
                        reservation.Status = "zaplaceno";
                    }
                    else
                    {
                        reservation.Status = "nezaplaceno";
                    }
                    reservationDao.Update(reservation);

                    TempData["message-success"] = "Status rezervace " + reservation.ValidationNumber + " byl zmenen";
                }
            }
            catch (Exception e)
            {
                throw;
            }
            return(RedirectToAction("Rezervace", "Tours"));
        }