RentalRegistration IRentalStorage.RentVehicle(RentalRegistration rentalRegistration) { rentalRegistration.Booking.RegisterBooking(Guid.NewGuid()); _rentalRegistrations.Add(rentalRegistration); return(rentalRegistration); }
public string RegisterCarRental(RentalRegistration rentalRegistration) { Console.WriteLine("RegisterCarRental"); if (rentalRegistration == null) { RentalRegisterFault fault; fault = new RentalRegisterFault(); fault.FaultID = 1; fault.FaultDescription = "Input is not valid, got null value"; throw new FaultException <RentalRegisterFault>(fault, ""); } try { using (DataClassesRentalDataContext ctx = new DataClassesRentalDataContext()) { Rental rentalToInsert; rentalToInsert = new Rental(); rentalToInsert.CustomerID = rentalRegistration.CustomerID; rentalToInsert.CarID = rentalRegistration.CarID; rentalToInsert.Comments = rentalRegistration.Comments; ctx.Rental.InsertOnSubmit(rentalToInsert); //throw new DivideByZeroException(); ctx.SubmitChanges(); Console.WriteLine(">SubmitChanges RegisterCarRental "); return("OK"); } } catch (Exception ex) { RentalRegisterFault fault; fault = new RentalRegisterFault(); fault.FaultID = 123; fault.FaultDescription = "An error occured while inserting the rental registration : " + ex.Message; throw new FaultException <RentalRegisterFault>(fault, ""); } }
public void CarReturnedTests(Type vehicleType, int startDashboardMileage, int endDashboardMileage, int numberOfRentDays, decimal expectedAmount) { var previouslyBookedVehicle = new RentalRegistration( new Customer(DateTime.Parse("1980-01-01")), (Vehicle)Activator.CreateInstance(vehicleType, startDashboardMileage), new Booking(Guid.NewGuid(), DateTime.UtcNow.AddDays(2))); var dependencies = new DependencyBuilder() .Begin() .WithProductionDependencies() .WithMock <IRentalStorage>(new RentalRepoMock(previouslyBookedVehicle)) .Build(); var sut = dependencies.Resolve <CarRentalApplication>(); var result = sut.ReturnVehicle(previouslyBookedVehicle.Booking.Id.Value, previouslyBookedVehicle.Booking.StartDate.AddDays(numberOfRentDays), endDashboardMileage); Assert.Equal(expectedAmount, result.AmountToPay); Assert.Equal(previouslyBookedVehicle.Booking.StartDate, result.RentalPeriod.Start); Assert.Equal(numberOfRentDays, result.RentalPeriod.NumberOfDays); Assert.Equal(endDashboardMileage - startDashboardMileage, result.DrivenKilometers); }
public RentalRegistration RentVehicle(RentalRegistration rentalRegistration) { throw new NotImplementedException(); }
public RentalRepoMock(RentalRegistration rentalRegistration) { _rentalRegistration = rentalRegistration; }
public string RegisterCarRental(RentalRegistration rental) { return(Channel.RegisterCarRental(rental)); }