public PlanMaintenanceJobCommandBuilder WithCustomerBuilder(CustomerBuilder customerBuilder)
 {
     CustomerBuilder = customerBuilder;
     VehicleBuilder
     .WithCustomerId(CustomerBuilder.Id);
     return(this);
 }
 private void SetDefaults()
 {
     JobId           = Guid.NewGuid();
     StartTime       = DateTime.Today.AddHours(8);
     EndTime         = DateTime.Today.AddHours(11);
     Description     = $"Job {JobId}";
     CustomerBuilder = new CustomerBuilder();
     VehicleBuilder  = new VehicleBuilder();
     VehicleBuilder.WithOwnerId(CustomerBuilder.Id);
 }
        public MaintenanceJobBuilder WithCustomer(Customer customer)
        {
            CustomerBuilder
            .WithId(customer.Id)
            .WithName(customer.Name)
            .WithTelephoneNumber(customer.TelephoneNumber);

            VehicleBuilder.WithOwnerId(customer.Id);

            return(this);
        }
        public MaintenanceJob Build()
        {
            if (CustomerBuilder == null)
            {
                throw new InvalidOperationException("You must specify a customerbuilder using the 'WithCustomerBuilder' method.");
            }

            if (VehicleBuilder == null)
            {
                throw new InvalidOperationException("You must specify a vehiclebuilder using the 'WithVehicleBuilder' method.");
            }

            Customer customer = CustomerBuilder.Build();
            Vehicle  vehicle  = VehicleBuilder.Build();

            var job = new MaintenanceJob();

            job.Plan(JobId, StartTime, EndTime, vehicle, customer, Description);
            return(job);
        }
        public MaintenanceJobPlanned Build()
        {
            var customer = CustomerBuilder
                           .Build();

            var vehicle = VehicleBuilder
                          .WithOwnerId(customer.Id)
                          .Build();

            var job = MaintenanceJobBuilder
                      .WithCustomer(customer)
                      .WithVehicle(vehicle)
                      .Build();

            MaintenanceJobPlanned e = new MaintenanceJobPlanned(
                Guid.NewGuid(), job.Id, job.StartTime, job.EndTime,
                (customer.Id, customer.Name, customer.TelephoneNumber),
                (vehicle.Id, vehicle.Brand, vehicle.Type),
                job.Description
                );

            return(e);
        }
Ejemplo n.º 6
0
        public PlanMaintenanceJob Build()
        {
            var customer = CustomerBuilder
                           .Build();

            var vehicle = VehicleBuilder
                          .WithOwnerId(customer.Id)
                          .Build();

            var job = MaintenanceJobBuilder
                      .WithCustomer(customer)
                      .WithVehicle(vehicle)
                      .Build();

            PlanMaintenanceJob command = new PlanMaintenanceJob(
                Guid.NewGuid(), job.Id, job.PlannedTimeslot.StartTime, job.PlannedTimeslot.EndTime,
                (customer.Id, customer.Name, customer.TelephoneNumber),
                (vehicle.Id, vehicle.Brand, vehicle.Type),
                job.Description
                );

            return(command);
        }
 private void SetDefaults()
 {
     CustomerBuilder       = new CustomerBuilder();
     VehicleBuilder        = new VehicleBuilder();
     MaintenanceJobBuilder = new MaintenanceJobBuilder();
 }