示例#1
0
 private static void AddErrorMessages(TaxiReservationViewModel newTaxiReservation, string dateValid)
 {
     if (dateValid != null)
     {
         newTaxiReservation.ErrorMessages.Add(dateValid);
     }
 }
示例#2
0
        public List <string> TaxiReservationValidation(TaxiReservationViewModel newTaxiReservation)
        {
            var dateValid = DateValidation(newTaxiReservation);

            AddErrorMessages(newTaxiReservation, dateValid);

            return(newTaxiReservation.ErrorMessages);
        }
示例#3
0
        public async Task <long> AddTaxiReservationAsync(TaxiReservationViewModel newTaxiReservation, string userId)
        {
            var TaxiReservation = mapper.Map <TaxiReservationViewModel, TaxiReservation>(newTaxiReservation);

            TaxiReservation.UserId = userId;
            await applicationContext.TaxiReservations.AddAsync(TaxiReservation);

            await applicationContext.SaveChangesAsync();

            await SendEmailAsync(TaxiReservation);

            return(TaxiReservation.TaxiReservationId);
        }
示例#4
0
        public async Task TaxiReservationValidationAsyncTest()
        {
            using (var context = new ApplicationContext(options))
            {
                var taxiReservationService = new TaxiReservationService(context, mockMapper.Object, mockUserService.Object, configuration);
                var taxiReservation        = new TaxiReservationViewModel {
                    StartLocal = "Budapest", EndLocal = "Siófok", TaxiReservationStart = new DateTime(2019, 10, 11), NumberOfGuest = 2, PhoneNumber = "05202222"
                };

                List <string> expected = new List <string>()
                {
                    "The booking cannot begin earlier than today!"
                };
                var actual = taxiReservationService.TaxiReservationValidation(taxiReservation);
                Assert.Equal(expected, actual);
            }
        }
        public async Task<IActionResult> AddTaxiReservation(TaxiReservationViewModel newTaxiReservation)
        {
            if (ModelState.IsValid)
            {
                var errors = taxiReservationService.TaxiReservationValidation(newTaxiReservation);
                if (errors.Count == 0)
                {
                    var currentUser = await userManager.GetUserAsync(HttpContext.User);
                    var taxiReservationId =
                        await taxiReservationService.AddTaxiReservationAsync(newTaxiReservation, currentUser.Id);
                    return RedirectToAction(nameof(ReservationController.MyReservation), "Reservation");
                }
                newTaxiReservation.ErrorMessages = errors;
                return View(newTaxiReservation);   
            }

            return View(newTaxiReservation);
        }
示例#6
0
        private static string DateValidation(TaxiReservationViewModel newTaxiReservation)
        {
            var startDate = newTaxiReservation.TaxiReservationStart;

            return(startDate < DateTime.Today ? "The booking cannot begin earlier than today!" : null);
        }