public static Booking AdminMakeWithBookingNumber(AdminMakeBookingParameterSet parameterSet) { var booking = AdminMake(parameterSet); booking.BookingNumber = CalculateBookingNumber(parameterSet); return(booking); }
public void SetUp() { _parameterSet = new AdminMakeBookingParameterSet(); _parameterSet.PickUp = new DateTime(2090, 6, 11); _parameterSet.DropOff = new DateTime(2090, 6, 20); _parameterSet.Bus = new Bus { Id = Guid.NewGuid(), Bookings = new List <Booking>() }; _parameterSet.Forename = "Brian"; _parameterSet.Surname = "Blue"; _parameterSet.AddressLine1 = "9 Green Lane"; _parameterSet.AddressLine2 = "Blackthrope"; _parameterSet.Town = "Orangeborough"; _parameterSet.County = "Purpleshire"; _parameterSet.PostCode = "M11AA"; _parameterSet.Email = "*****@*****.**"; _parameterSet.TelephoneNumber = "07777777777"; _parameterSet.IsMainDriver = true; _parameterSet.DrivingLicenceNumber = "XXX99999"; _parameterSet.NumberOfAdults = 2; _parameterSet.NumberOfChildren = 2; _parameterSet.TotalCost = 999m; _parameterSet.Status = BookingStatus.Confirmed; _parameterSet.CurrentUser = new User { Id = Guid.NewGuid() }; }
public static Booking AdminMake(AdminMakeBookingParameterSet parameterSet) { var validationMessages = ValidateAdminMake(parameterSet); if (validationMessages.Any()) { throw new ValidationException(validationMessages); } var booking = Make(parameterSet); booking._status = parameterSet.Status.Value; //Won't be null because will have been caught by exception above. booking._totalCost = parameterSet.TotalCost.Value; //Won't be null because will have been caught by exception above. return(booking); }
public void SetUp() { var applicationUser = new User { Id = Guid.NewGuid(), Username = "******" }; var guestRole = new Role { Id = Guid.NewGuid() }; var voucher = new Voucher { Id = Guid.NewGuid(), Code = "ABC123", Discount = 10 }; _parameterSet = new AdminMakeBookingParameterSet(); _parameterSet.PickUp = new DateTime(2090, 6, 9); _parameterSet.DropOff = new DateTime(2090, 6, 16); _parameterSet.Bus = new Bus(); _parameterSet.Bus.Id = Guid.NewGuid(); _parameterSet.Bus.Bookings = new List <Booking>(); _parameterSet.Bus.PricingPeriods = new List <PricingPeriod>(); var pricingPeriod = new PricingPeriod(); pricingPeriod.StartMonth = 1; pricingPeriod.StartDay = 1; pricingPeriod.EndMonth = 12; pricingPeriod.EndDay = 31; pricingPeriod.FridayToFridayRate = 600; _parameterSet.Bus.PricingPeriods.Add(pricingPeriod); _parameterSet.Forename = "Barry"; _parameterSet.Surname = "Blue"; _parameterSet.AddressLine1 = "99 Black Street"; _parameterSet.AddressLine2 = "Purple District"; _parameterSet.AddressLine3 = "Gray Area"; _parameterSet.Town = "Greenville"; _parameterSet.County = "Redshire"; _parameterSet.PostCode = "M11AA"; _parameterSet.Email = "*****@*****.**"; _parameterSet.TelephoneNumber = "0123456789"; _parameterSet.IsMainDriver = true; _parameterSet.DrivingLicenceNumber = "XXX99999"; _parameterSet.NumberOfAdults = 2; _parameterSet.NumberOfChildren = 0; _parameterSet.CurrentUser = applicationUser; _parameterSet.Status = BookingStatus.Confirmed; _parameterSet.TotalCost = 999; _parameterSet.CreatedOn = new DateTime(2013, 10, 1); _parameterSet.OtherBookingsToday = new List <Booking>(); }
public static ValidationMessageCollection ValidateAdminMake(AdminMakeBookingParameterSet parameterSet) { var validationMessages = ValidateMake(parameterSet); if (!parameterSet.IsMainDriver) { if (string.IsNullOrEmpty(parameterSet.DriverForename)) { validationMessages.AddError("DriverForename", "The forename of the main driver is required."); } if (string.IsNullOrEmpty(parameterSet.DriverSurname)) { validationMessages.AddError("DriverSurname", "The surname of the main driver is required."); } } if (!parameterSet.Status.HasValue) { validationMessages.AddError("Status", "The status is required."); } if (!parameterSet.TotalCost.HasValue) { validationMessages.AddError("TotalCost", "Total cost is required."); } else { if (parameterSet.TotalCost.Value == 0 && !parameterSet.WarningsAcknowledged) { validationMessages.AddWarning("Total cost is zero."); } } return(validationMessages); }
public BookingServiceFactory() { Log = new Mock <ILog>(); BookingRepository = new Mock <IBookingRepository>(); Bus = new Bus { Id = Guid.NewGuid(), Bookings = new List <Booking>(), PricingPeriods = new Collection <PricingPeriod>() }; ApplicationUser = new User { Id = Guid.NewGuid() }; AdminUser = new User { Id = Guid.NewGuid() }; Role = new Role { Id = Guid.NewGuid() }; Voucher = new Voucher { Id = Guid.NewGuid(), Code = "ABC123" }; Bus.PricingPeriods.Add(new PricingPeriod { Bus = Bus, StartMonth = 1, StartDay = 1, EndMonth = 12, EndDay = 31, FridayToFridayRate = 1, FridayToMondayRate = 1, MondayToFridayRate = 1 }); CustomerMakeParameterSetMapper = new Mock <ICustomerMakeParameterSetMapper>(); CustomerMakeBookingParameterSet = new CustomerMakeBookingParameterSet(); CustomerMakeBookingParameterSet.PickUp = new DateTime(2090, 1, 2); CustomerMakeBookingParameterSet.DropOff = new DateTime(2090, 1, 6); CustomerMakeBookingParameterSet.Bus = Bus; CustomerMakeBookingParameterSet.Forename = "Barry"; CustomerMakeBookingParameterSet.Surname = "Blue"; CustomerMakeBookingParameterSet.AddressLine1 = "1 Orange Lane"; CustomerMakeBookingParameterSet.AddressLine2 = "Address Line 2"; CustomerMakeBookingParameterSet.AddressLine3 = "Address Line 3"; CustomerMakeBookingParameterSet.Town = "Greenville"; CustomerMakeBookingParameterSet.County = "Brownshire"; CustomerMakeBookingParameterSet.PostCode = "M1 1AA"; CustomerMakeBookingParameterSet.Email = "*****@*****.**"; CustomerMakeBookingParameterSet.TelephoneNumber = "0123456789"; CustomerMakeBookingParameterSet.IsMainDriver = true; CustomerMakeBookingParameterSet.DrivingLicenceNumber = "ABC1234"; CustomerMakeBookingParameterSet.NumberOfAdults = 2; CustomerMakeBookingParameterSet.NumberOfChildren = 2; CustomerMakeBookingParameterSet.VoucherCode = Voucher.Code; CustomerMakeBookingParameterSet.Voucher = Voucher; CustomerMakeBookingParameterSet.RestrictionsAccepted = true; CustomerMakeBookingParameterSet.TermsAndConditionsAccepted = true; CustomerMakeBookingParameterSet.CurrentUser = ApplicationUser; CustomerMakeBookingParameterSet.CreatedOn = new DateTime(2013, 10, 1); CustomerMakeBookingParameterSet.OtherBookingsToday = new List <Booking>() { new Booking { BookingNumber = "201310010001_Black" }, new Booking { BookingNumber = "201310010002_Green" }, }; CustomerMakeParameterSetMapper .Setup(x => x.Map(It.IsAny <CustomerMakeBookingRequest>())) .Returns(CustomerMakeBookingParameterSet); CustomerMakeParameterSetMapper .Setup(x => x.MapWithOtherBookingsToday(It.IsAny <CustomerMakeBookingRequest>())) .Returns(CustomerMakeBookingParameterSet); AdminMakeParameterSetMapper = new Mock <IAdminMakeParameterSetMapper>(); AdminMakeBookingParameterSet = new AdminMakeBookingParameterSet(); AdminMakeBookingParameterSet.PickUp = new DateTime(2090, 1, 6); AdminMakeBookingParameterSet.DropOff = new DateTime(2090, 1, 9); AdminMakeBookingParameterSet.Bus = Bus; AdminMakeBookingParameterSet.Forename = "Gary"; AdminMakeBookingParameterSet.Surname = "Green"; AdminMakeBookingParameterSet.AddressLine1 = "1 Black Lane"; AdminMakeBookingParameterSet.AddressLine2 = "Address Line 2"; AdminMakeBookingParameterSet.AddressLine3 = "Address Line 3"; AdminMakeBookingParameterSet.Town = "Blueville"; AdminMakeBookingParameterSet.County = "Purpleshire"; AdminMakeBookingParameterSet.PostCode = "M1 1AA"; AdminMakeBookingParameterSet.Email = "*****@*****.**"; AdminMakeBookingParameterSet.TelephoneNumber = "0987654321"; AdminMakeBookingParameterSet.IsMainDriver = true; AdminMakeBookingParameterSet.DrivingLicenceNumber = "DEF5678"; AdminMakeBookingParameterSet.NumberOfAdults = 1; AdminMakeBookingParameterSet.NumberOfChildren = 3; AdminMakeBookingParameterSet.CurrentUser = AdminUser; AdminMakeBookingParameterSet.CreatedOn = new DateTime(2013, 10, 2); AdminMakeBookingParameterSet.WarningsAcknowledged = true; AdminMakeBookingParameterSet.Status = BookingStatus.Confirmed; AdminMakeBookingParameterSet.TotalCost = 888m; AdminMakeBookingParameterSet.OtherBookingsToday = new List <Booking>() { new Booking { BookingNumber = "201310010001_Black" }, new Booking { BookingNumber = "201310010002_Green" }, }; AdminMakeParameterSetMapper .Setup(x => x.Map(It.IsAny <AdminMakeBookingRequest>())) .Returns(AdminMakeBookingParameterSet); AdminMakeParameterSetMapper .Setup(x => x.MapWithOtherBookingsToday(It.IsAny <AdminMakeBookingRequest>())) .Returns(AdminMakeBookingParameterSet); }