public Booking AddBooking(string client, string phone, int numTickets, Trip trip, Account account) { Logger.Info("adding booking"); if (trip.AvailablePlaces < numTickets) { throw new ValidationException("Not enough places available"); } Booking toSave = new Booking(-1, trip.Id, account.Id, client, phone, numTickets); bookingValidator.Validate(toSave); Booking b = bookingRepository.Save(toSave); trip.AvailablePlaces = trip.AvailablePlaces - numTickets; tripRepository.Save(trip); return(b); // Logger.Info("Notifying observers"); // Task.Run(() => // { // tripObservers.ForEach(o => // { // Logger.InfoFormat("notifying {0}", o); // o.BookingInserted(b); // }); // }); }
public void Validate_ShouldReturnTrue_When_Element_IsNotBookingElement() { // Arrange var element = new ElementBuilder() .WithType(EElementType.Textbox) .WithQuestionId("question") .Build(); var viewModel = new Dictionary <string, dynamic>(); // Act var result = _validator.Validate(element, viewModel, new form_builder.Models.FormSchema()); // Assert Assert.True(result.IsValid); }
public IDataResult <BookingDto> Create(Entity.Dtos.BookingDto bookingDto) { var validator = new BookingValidator(); var validateResult = validator.Validate(bookingDto); if (!validateResult.IsValid) { var validationErrors = ValidationHelper.GetErrors(validateResult.Errors); return(new ErrorDataResult <BookingDto>("Rezervasyon ekleme işlemi başarısız oldu.", validationErrors)); } return(_bookingDal.Add(bookingDto)); }
// POST: api/Booking public HttpResponseMessage Post(HttpRequestMessage request, [FromBody] BookingModel value) { ValidationResult bookingValidation = bookingValidator.Validate(value); if (bookingValidation.IsValid) { BookingDTO newBooking = toDtoMapper.Map <BookingModel, BookingDTO>(value); bookingService.Create(newBooking); return(request.CreateResponse(HttpStatusCode.NoContent)); } return(request.CreateResponse(HttpStatusCode.BadRequest, bookingValidation.GetErrorMessage())); }
public void BookingWithNoSpaceIsInvalid() { // Arrange var booking = new Booking { Id = 0, Name = "FirstName1 LastName1", Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0) }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsFalse(results.IsValid); }
public void BookingWithNoPeriodIsInvalid() { // Arrange var booking = new Booking { Id = 0, Name = "FirstName1 LastName1", Space = new Space { Id = 0, Name = "Boardroom" } }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsFalse(results.IsValid); }
public void BookingWithNoNameIsInvalid() { // Arrange var booking = new Booking { Id = 0, Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0), Space = new Space { Id = 0, Name = "Boardroom" } }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsFalse(results.IsValid); }
public void ValidateBooking() { // Arrange var booking = new Booking { Id = 0, Name = "FirstName1 LastName1", Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0), Space = new Space { Id = 0, Name = "Boardroom" } }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsTrue(results.IsValid); }
public JsonResult UpdateBooking(BookingRequest br) { Cart cart = new Cart(); BookingValidator v = new BookingValidator(); v.Validate(br); List <String> errors = v.errors; foreach (ModelState state in ModelState.Values) { foreach (ModelError error in state.Errors) { errors.Add(error.ErrorMessage); } } Boolean success = errors.Count == 0; if (success) { Booking b = cart.GetBooking(br.booking_id); //b.guests = br.guests; b.single_rooms = br.single_rooms; b.double_rooms = br.double_rooms; b.duration = br.duration; b.start_date = br.start_date; if (User.Identity.IsAuthenticated) { if (User.IsInRole("TelesaleStaff")) { b.booker_id = (System.Guid)Membership.GetUser().ProviderUserKey; Customer c = (Customer)System.Web.HttpContext.Current.Session["customer"]; b.customer_id = c.MembershipID; } else//normal customer { b.customer_id = (System.Guid)Membership.GetUser().ProviderUserKey; } } b.Travel.TravelType = cart.ctx.TravelTypes.SingleOrDefault(t => t.id == br.travel_type_id); b.Travel.departure = br.start_date; b.Travel.arrival = br.start_date; foreach (Passanger p in b.Travel.Passangers.ToList()) { b.Travel.Passangers.Remove(p); cart.ctx.DeleteObject(p); } //b.Travel.Passangers.Clear(); for (int i = 0; i < b.guests(); i++) { b.Travel.Passangers.Add(new Passanger { id = Guid.NewGuid() }); } } return(Json(new { success = success, id = br.booking_id, errors = errors })); }