static int RunGoCommand(InATaxiOptions options, ITaxiDataService svc) { var results = Task.Run(async() => await svc.CalculateTaxiDailyStatsAsync(options)); Console.WriteLine(); return(0); }
public async Task <TaxiTripStats> CalculateTaxiDailyStatsAsync(InATaxiOptions options) { var taxiType = new TaxiTypeSpecification(options.TaxiType); var tripDate = new TripDateSpecification(options.TripDate); var fromLocation = new FromSpecification(options.From); var toLocation = new ToSpecification(options.To); var spec = taxiType.And(tripDate.And(fromLocation).And(toLocation)); var results = await _repo.GetListAsync(spec); _logger.LogInformation($"results returned = {results.Count}"); //TODO: calculate statistics for queried results and map to TaxiTripStats to display TaxiTripStats stats = new TaxiTripStats(); return(stats); }