public HttpResponseMessage ValidateBusinessRule(HttpRequestMessage request, [FromBody] Reservation reservation) { //try //{ //ReservationValidator validator = new ReservationValidator(); //validator.ValidateAndThrow(reservation); // //do something with reservation //} //catch (FluentValidation.ValidationException ex) //{ // var result = ex.Errors.Select(item => new System.ComponentModel.DataAnnotations.ValidationResult(item.ErrorMessage, new List<string> { item.PropertyName })); // //foreach (var error in ex.Errors) // // this.ModelState.AddModelError(error.PropertyName, error.ErrorMessage); // return Request.CreateResponse(HttpStatusCode.BadRequest, result); //} return GetHttpResponse(request, () => { HttpResponseMessage response = null; ReservationValidator validator = new ReservationValidator(); validator.ValidateAndThrow(reservation); response = request.CreateResponse(HttpStatusCode.OK, reservation); return response; }); }
public HttpResponseMessage ValidateBusinessRule(HttpRequestMessage request, [FromBody] Reservation reservation) { //try //{ //ReservationValidator validator = new ReservationValidator(); //validator.ValidateAndThrow(reservation); // //do something with reservation //} //catch (FluentValidation.ValidationException ex) //{ // var result = ex.Errors.Select(item => new System.ComponentModel.DataAnnotations.ValidationResult(item.ErrorMessage, new List<string> { item.PropertyName })); // //foreach (var error in ex.Errors) // // this.ModelState.AddModelError(error.PropertyName, error.ErrorMessage); // return Request.CreateResponse(HttpStatusCode.BadRequest, result); //} return(GetHttpResponse(request, () => { HttpResponseMessage response = null; ReservationValidator validator = new ReservationValidator(); validator.ValidateAndThrow(reservation); response = request.CreateResponse(HttpStatusCode.OK, reservation); return response; })); }
public IActionResult Post([FromBody] ReservationDto reservation) { var reserv = _Mapper.Map <ReservationDto, Reservation>(reservation); var validator = new ReservationValidator(_Repo); var results = validator.Validate(reserv); if (results.IsValid) { _Repo.Create(reserv); _Repo.SaveChanges(); _Logger.LogInformation($"Reservation {reserv.ID} was created"); return(CreatedAtAction(nameof(Get), new { id = reserv.ID })); } results.Errors.ToList().ForEach(e => ModelState.AddModelError("Reservation is not valid", e.ErrorMessage)); return(BadRequest(new ValidationProblemDetails(ModelState))); }
// Register Car Rent reservation database manipulations public void CreateReservation(Reservation reservation) { PrintColorMessage colorMessage = new PrintColorMessage(); Navigation navigation = new Navigation(); ReservationValidator validator = new ReservationValidator(); ValidationResult result = validator.Validate(reservation); // Input Customer Name Validation if (!result.IsValid) { colorMessage.Print(ConsoleColor.Red, "\nReservation is not created! See reason below:"); //data validation foreach (var failure in result.Errors) { Console.WriteLine("\n '" + failure.PropertyName + "' written incorrectly . \n Details: " + failure.ErrorMessage); } } else { using (var context = new ApplicationDbContext()) { try { context.Reservations.Add(reservation); try { context.SaveChanges(); } catch (SqlException) { colorMessage.Print(ConsoleColor.Red, "Error: CustomerID should exist in the Customer table"); } colorMessage.Print(ConsoleColor.Yellow, "Reservation created succesffuly!"); navigation.GoToMenu(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
public ActionResult Create(RoomViewModel roomVM) { if (!ReservationValidator.ValidateSelectedAmount(roomVM)) { ModelState.AddModelError("AmountOfTamagotchis", "This room has only space for " + roomVM.Room.Size + " tamagotchis. Please choose an amount no more than " + roomVM.Room.Size); } else if (!ReservationValidator.ValidateSelectTamagotchis(roomVM)) { ModelState.AddModelError("Tamagotichis", "You have to select at most " + roomVM.AmountOfTamagotchis + " Tamagotchis"); } if (ModelState.IsValid) { ProcessReservation(roomVM); return(RedirectToAction("Detail")); } else { return(View(GetRoomViewModel(roomVM.Room.ID))); } }
// Update Reservation database manipulations public void UpdateReservation(Reservation reservation) { Car car = new Car(); ReservationValidator validator = new ReservationValidator(); ValidationResult result = validator.Validate(reservation); PrintColorMessage colorMessage = new PrintColorMessage(); // Input Customer Name Validation if (!result.IsValid) { colorMessage.Print(ConsoleColor.Red, "\nReservation is not Updated! See reason below:"); //data validation foreach (var failure in result.Errors) { Console.WriteLine("\n '" + failure.PropertyName + "' written incorrectly . \n Details: " + failure.ErrorMessage); } } else { //EF using (var context = new ApplicationDbContext()) { var reservationToUpdate = context.Reservations.First(x => x.ReservationID == reservation.ReservationID); reservationToUpdate.CarPlate = reservation.CarPlate; reservationToUpdate.StartDate = reservation.StartDate; reservationToUpdate.EndDate = reservation.EndDate; reservationToUpdate.Location = reservation.Location; context.SaveChanges(); } } }
public EfReservationCommand(CinemaContext context, ReservationValidator validator) { _context = context; this.validator = validator; }
public ReservationService() { _validator = new ReservationValidator(); _reservationStrategy = new ReservationStrategy(); }
public void Setup() { var mockRepo = new Mock <IRepository>(MockBehavior.Strict); mockRepo.Setup(p => p.GetAll <Reservation>()).Returns(new List <Reservation>() { new Reservation() { ID = 1, LectureHallId = 1, LecturerId = 1, StartDate = DateTime.Today.AddHours(12), EndDate = DateTime.Today.AddHours(15) } }.AsQueryable()); mockRepo.Setup(p => p.GetAll <LectureHall>()).Returns(new List <LectureHall>() { new LectureHall() { ID = 1, Number = "A1", OpenFrom = 8, OpenTo = 18 }, new LectureHall() { ID = 2, Number = "A2", OpenFrom = 9, OpenTo = 17 }, new LectureHall() { ID = 3, Number = "B1", OpenFrom = 14, OpenTo = 18 }, }.AsQueryable()); mockRepo.Setup(p => p.GetAll <Lecturer>()).Returns(new List <Lecturer>() { new Lecturer() { ID = 1, FirstName = "James", LastName = "Baker", SubjectID = 1, }, new Lecturer() { ID = 2, FirstName = "Oliver", LastName = "Ball", SubjectID = 2, }, new Lecturer() { ID = 3, FirstName = "Harry ", LastName = "Bailey", SubjectID = 3, }, new Lecturer() { ID = 4, FirstName = "Jack", LastName = "Bilder", SubjectID = 4, }, }.AsQueryable()); _Validator = new ReservationValidator(mockRepo.Object); }
public override void Validate() { ValidationResult = new ReservationValidator().Validate(this); }
public ReservationController(ReservationContext db) { this._db = db; this._reservationValidator = new ReservationValidator(db); }