Пример #1
0
        public void WhenNameSet_ThenValueUpdated()
        {
            var target = new VehicleStatisticsModel {
                Name = "Name"
            };

            Assert.Equal("Name", target.Name);
        }
 private static JsonStatisticsViewModel ToJsonStatisticsViewModel(VehicleStatisticsModel statistics)
 {
     return(new JsonStatisticsViewModel
     {
         Name = statistics.Name,
         AverageFillupPrice = statistics.AverageFillupPrice,
         AverageFuelEfficiency = statistics.AverageFuelEfficiency,
         AverageCostPerMonth = statistics.AverageCostPerMonth,
         AverageCostToDrive = statistics.AverageCostToDrive,
         Odometer = statistics.Odometer,
         TotalDistance = statistics.TotalDistance,
         TotalFuelCost = statistics.TotalFuelCost,
         TotalUnits = statistics.TotalUnits,
         TotalCost = statistics.TotalCost
     });
 }
Пример #3
0
        public static VehicleStatisticsModel VehicleStatistics(List <ReportModel> reports)
        {
            var statistics = new VehicleStatisticsModel();

            if (reports.Count > 0)
            {
                foreach (var report in reports)
                {
                    statistics.Distance  += report.Distance;
                    statistics.TotalCost += report.TotalPrice;
                    statistics.AvaragePrimaryFuelAmount += report.PrimaryFuelAmount;
                    statistics.AvaragePrimaryFuelCost   += report.PrimaryFuelUnitPrice * report.PrimaryFuelAmount;

                    if (report.SecondaryFuel_ID != null)
                    {
                        statistics.AvarageSecondaryFuelAmount += report.SecondaryFuelAmount.Value;
                        statistics.AvarageSecondaryFuelCost   += report.SecondaryFuelUnitPrice.Value * report.SecondaryFuelAmount.Value;
                    }
                }
                statistics.AvarageDistance             = Math.Round((decimal)statistics.Distance / reports.Count, 2);
                statistics.AvaragePrimaryFuelCostTenKm = Math.Round(statistics.AvaragePrimaryFuelCost / statistics.Distance * 10, 2);
                statistics.AvaragePrimaryFuelAmount    = Math.Round(statistics.AvaragePrimaryFuelAmount / reports.Count, 2);
                statistics.AvaragePrimaryFuelCost      = Math.Round(statistics.AvaragePrimaryFuelCost / reports.Count, 2);
                statistics.AvarageCost = Math.Round(statistics.TotalCost / reports.Count, 2);


                if (statistics.AvarageSecondaryFuelAmount != 0)
                {
                    statistics.AvarageSecondaryFuelCostTenKm = Math.Round(statistics.AvarageSecondaryFuelAmount / statistics.Distance * 10, 2);
                    statistics.AvarageSecondaryFuelAmount    = Math.Round(statistics.AvarageSecondaryFuelAmount / reports.Count, 2);
                    statistics.AvarageSecondaryFuelCost      = Math.Round(statistics.AvarageSecondaryFuelCost / reports.Count, 2);
                }
            }

            return(statistics);
        }