示例#1
0
        public IActionResult Upload(MeterReading reading)
        {
            if (null == reading)
            {
                return(NotFound());
            }
            MeterReadingProcessResult result = _MeterReadingService.ProcessMeterReading(reading);

            return(Ok(result));
        }
示例#2
0
        public MeterReadingProcessResult ProcessMeterReading(MeterReading reading)
        {
            var readingResult = new MeterReadingProcessResult();

            if (CreateMeterReading(reading))
            {
                readingResult.ReadingsSuccesful++;
            }
            else //Meter Reading Creation Failed
            {
                readingResult.ReadingsFailed++;
            }

            readingResult.ReadingsProcessed++;
            return(readingResult);
        }
示例#3
0
        public MeterReadingProcessResult ProcessMeterReadings(Stream readings)
        {
            var processedCSVResults = _CSVService.ProcessCSV <MeterReading>(readings);

            var readingResult = new MeterReadingProcessResult
            {
                ReadingsProcessed = processedCSVResults.ProcessedCount,
                ReadingsSuccesful = processedCSVResults.SuccessCount,
                ReadingsFailed    = processedCSVResults.FailedCount
            };

            foreach (var reading in processedCSVResults.Output)
            {
                if (!CreateMeterReading(reading))
                {
                    readingResult.ReadingsFailed++;
                    readingResult.ReadingsSuccesful--;
                }
            }

            return(readingResult);
        }