Beispiel #1
0
        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);
            //     });
            // });
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        // 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()));
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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 }));
        }