Пример #1
0
        public async Task TestEditReservation(int reservationId, string requirement, DateTime startDateTime, DurationLength duration, int numberOfGuest, string guestName)
        {
            var userId = "688568bc-7cf1-23e1-6f6h-fd4g3b3b6b57";

            try
            {
                var reservation = await _service.GetOneReservation(reservationId);

                reservation.Requirement   = requirement;
                reservation.StartDateTime = startDateTime;
                reservation.Duration      = duration;
                reservation.NumberOfGuest = numberOfGuest;
                await _service.EditReservation(reservation, userId);

                var selectQuery = $"select * from ReservationRequests where Id={reservationId}";
                var record      = RemoteQueryDatabase(selectQuery);

                ValidateResults(record, new List <ReservationRequest> {
                    reservation
                });
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message);
                throw new Exception(ex.InnerException.Message);
            }
        }
        public async Task <IActionResult> Edit(int id, ReservationRequest reservation)
        {
            if (id != reservation.Id)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                var isVaildReservation = await _service.IsValidReservation(reservation);

                if (!isVaildReservation)
                {
                    ViewBag.AvailableTimeMsg = "Sorry, the reservation end time is outside the sitting period";
                    return(View(reservation));
                }
                try
                {
                    var user = await _userManager.FindByEmailAsync(User.Identity.Name);

                    var userId    = user?.Id;
                    var isSuccess = await _service.EditReservation(reservation, userId);

                    if (isSuccess)
                    {
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        var availableTimeRange = await _service.GetAvailableTimeRange(reservation);

                        if (availableTimeRange == null)
                        {
                            ViewBag.AvailableTimeMsg = "Sorry, there is no available time on selected date, please select another date";
                        }
                        else
                        {
                            var startTime = availableTimeRange[0];
                            ViewBag.AvailableTimeMsg =
                                $"There is no vacancy on selected time, please select {reservation.StartDateTime.ToString("yyyy-MM-dd")} {startTime}";
                        }
                        return(View(reservation));
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_service.IsReservationExist(id))
                    {
                        return(NoContent());
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            return(View(reservation));
        }
Пример #3
0
        public async Task ClubServiceTest()
        {
            ImportDataTest import = new ImportDataTest();

            import.InitContext();
            try
            {
                _context = import._context;
                IReservationRepository reservationRepository = new ReservationRepository(_context);
                cr = new ReservationService(reservationRepository);
                AircraftReservation ar = new AircraftReservation();
                ar.DateFrom   = DateTime.Now;
                ar.DateTo     = DateTime.Now.AddHours(1);
                ar.TailNumber = "4xCGC";
                ar.IdNumber   = "123456";
                _context.AircraftReservations.Add(ar);
                _context.SaveChanges();
                var reser = await cr.GetReservation();

                await cr.AddReservation(ar);

                ar.IdNumber = "098765";
                await cr.EditReservation(ar);

                reser = await cr.GetAircraftReservation(ar.TailNumber);

                var aa = await cr.AddReservation(ar);

                AircraftReservation ab = new AircraftReservation();
                ab.DateFrom   = ar.DateTo;
                ab.DateTo     = ab.DateFrom.AddHours(5);
                ab.TailNumber = ar.TailNumber;
                aa            = await cr.AddReservation(ab);

                reser = await cr.GetReservation();

                reser = await cr.GetPilotReservation(ar.IdNumber);

                await cr.DeleteReservation(ar.Id);

                reser = await cr.GetReservation();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }