Exemplo n.º 1
0
        public async Task <MinSpreadResponse> Handle(MinSpreadCommand request, CancellationToken cancellationToken)
        {
            var fileDesc             = new WeatherFileDescription(_kata04Config.WeatherFilePath);
            WeatherDataReader reader = new WeatherDataReader(fileDesc);

            using (var stream = new StreamReader(_kata04Config.WeatherFilePath))
            {
                var result = await reader.ProcessFile(stream);

                return(new MinSpreadResponse
                {
                    MinRangeDayNumber = result.WeatherData
                                        .Select(w => new { Day = w.Day, Departure = w.MxT - w.MnT })
                                        .OrderBy(m => m.Departure)
                                        .First().Day
                });
            }
        }
Exemplo n.º 2
0
 public WeatherDataReader(WeatherFileDescription fileDescription)
 {
     _fileDescription = fileDescription;
     _fieldParser     = new FieldParser(_fileDescription.DataFields);
 }