예제 #1
0
 public void GenerateTripResult(List <Trip> trips, List <TripValues> tripValues)
 {
     foreach (Trip trip in trips)
     {
         if (tripValues.Where(i => i.DriverName == trip.DriverName).Count() > 0)
         {
             TripValues existValues = tripValues.Where(i => i.DriverName == trip.DriverName).FirstOrDefault();
             existValues.TotalTime     += Helper.TimeInHours(trip.StartTime, trip.StopTime);
             existValues.TotalDistance += (int)Math.Round(trip.MilesDriven);
             existValues.DriverName     = trip.DriverName;
             existValues.AverageSpeed   = (int)Math.Round(Helper.CalculateAverageSpeed(existValues.TotalTime, existValues.TotalDistance));
         }
         else
         {
             TripValues tripValue = new TripValues();
             tripValue.DriverName    = trip.DriverName;
             tripValue.TotalDistance = (int)Math.Round(trip.MilesDriven);
             tripValue.TotalTime     = Helper.TimeInHours(trip.StartTime, trip.StopTime);
             tripValue.AverageSpeed  = (int)Math.Round(Helper.CalculateAverageSpeed(tripValue.TotalTime, trip.MilesDriven));
             if (ValidateTrip.CheckValidTrip(tripValues, tripValue))
             {
                 tripValues.Add(tripValue);
             }
         }
     }
 }
예제 #2
0
 public static bool CheckValidTrip(List <TripValues> tripValues, TripValues tripValue)
 {
     if (tripValue.AverageSpeed > 5 || tripValue.AverageSpeed < 100)
     {
         return(true);
     }
     return(false);
 }