/// <summary> /// Constructor. /// </summary> /// <param name="travelLog">The travel log to display.</param> /// <param name="travelLogProcessor">A <see cref="ITravelLogProcessor"/> used to process the travel log.</param> public TravelDetailsViewModel(TravelLog travelLog, ITravelLogProcessor travelLogProcessor) { _travelLog = travelLog; _travelLogProcessor = travelLogProcessor; ProcessTravelLog(_travelLogProcessor); }
/// <summary> /// Process the <see cref="_travelLog"/>. /// </summary> /// <param name="travelLogProcessor">The <see cref="ITravelLogProcessor"/> to use to process the travel log.</param> public void ProcessTravelLog(ITravelLogProcessor travelLogProcessor) { var drivers = travelLogProcessor.ProcessTravelLog(_travelLog.Log).OrderByDescending(x => x.TotalMilesDriven); foreach (Driver driver in drivers) { Drivers.Add(new DriverViewModel(driver)); } }