public OrderCalculationsResultForm(OrderCalulationResult orderCalulationResult)
 {
     InitializeComponent();
     EndTimeLabelResult.Text                        = orderCalulationResult.EndTime.ToString("dd-MM-yyyy HH:mm");
     FuelCostCalculationResultLabel.Text            = String.Format("{0: 0.00}", orderCalulationResult.FuelCost);
     DriversJobCostCalculationResultLabel.Text      = String.Format("{0: 0.00}", orderCalulationResult.DriversJobCost);
     FullCostCalculationResultLabel.Text            = String.Format("{0: 0.00}", orderCalulationResult.FullCost);
     VehicleAmortizationCalculationResultLabel.Text = String.Format("{0: 0.00}",
                                                                    orderCalulationResult.VehicleAmortization);
 }
Exemple #2
0
 private void SubmitButton_Click(object sender, EventArgs e)
 {
     if (IsFormValid())
     {
         HideValidationErrorLabel();
         order = OrderConverter.convertFromFormValues(orderFormValues, orderConfigurationFormValues);
         OrderCalulationResult       calulationResult       = OrderCalculator.CalculateCost(order);
         OrderCalculationsResultForm calculationsResultForm = new OrderCalculationsResultForm(calulationResult)
         {
             Visible = true
         };
     }
     else
     {
         System.Console.Out.WriteLine("Form is invalid");
         DisplayValidationErrors();
     }
 }
        public OrderCalulationResult CalculateCost(Order order)
        {
            OrderConfiguration orderConfiguration = order.Configuration;
            double             hoursSpent         = CalculateHoursSpent(order);
            double             driversJobCost     = CalculateCostOfDriversJob(hoursSpent, orderConfiguration.DriverJobCostPerHour);
            double             fuelCost           = CalculateFuelCost(order.Distance, orderConfiguration.FuelLiterCost,
                                                                      orderConfiguration.AverageFuelConsumptionPerHundredKilometers);
            double vehicleAmortization = CalculateVehicleAmortization(fuelCost);
            double fullCost            = driversJobCost + fuelCost + vehicleAmortization;

            OrderCalulationResult orderCalulationResult = new OrderCalulationResult
            {
                EndTime             = order.StartTime.AddHours(hoursSpent),
                DriversJobCost      = driversJobCost,
                FuelCost            = fuelCost,
                VehicleAmortization = vehicleAmortization,
                FullCost            = fullCost
            };

            return(orderCalulationResult);
        }