コード例 #1
0
        RentalRegistration IRentalStorage.RentVehicle(RentalRegistration rentalRegistration)
        {
            rentalRegistration.Booking.RegisterBooking(Guid.NewGuid());

            _rentalRegistrations.Add(rentalRegistration);

            return(rentalRegistration);
        }
コード例 #2
0
        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, "");
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public RentalRegistration RentVehicle(RentalRegistration rentalRegistration)
 {
     throw new NotImplementedException();
 }
コード例 #5
0
 public RentalRepoMock(RentalRegistration rentalRegistration)
 {
     _rentalRegistration = rentalRegistration;
 }
コード例 #6
0
ファイル: RentalProxy.cs プロジェクト: nonpIus/SOA
 public string RegisterCarRental(RentalRegistration rental)
 {
     return(Channel.RegisterCarRental(rental));
 }