public void ProcessFiles(FileInfo fileInfo) { //Get parsed csv data var dataResult = _csvParser.GetData(fileInfo); if (!dataResult.Success) { _logger.LogError(dataResult.ErrorMessage); return; } //Get median data var medianResult = _medianProcessor.GetMedianResult(dataResult.Value); if (!medianResult.Success) { _logger.LogError(medianResult.ErrorMessage); return; } //Log the result medianResult.Value.EnergyRecords.ForEach(x => _logger.LogInformation($"{fileInfo.Name} {x.DateTime} {x.DataValue} {medianResult.Value.Median}")); }