Пример #1
0
        public async Task <MeterReadingResource> GetMeterReadingByAccountIdAsync(int accountId)
        {
            MeterReadingResource resource = new MeterReadingResource();

            var result = await _meterReadingRepository.GetMeterReadingByAccountIdAsync(accountId);

            resource = _mapper.Map <MeterReadingResource>(result);

            return(resource);
        }
Пример #2
0
        public async Task UpdateMeterReadingAsync(MeterReadingResource model)
        {
            _logger.LogInformation("Updating existing meter reading");

            var entity    = _mapper.Map <MeterReading>(model);
            var succeeded = await _meterReadingRepository.UpdateMeterReadingAsync(entity);

            if (!succeeded)
            {
                string errorMessage = "Failed to update new meter reading";
                _logger.LogError(errorMessage);
                throw new MeterReadingServiceException(errorMessage);
            }
        }
Пример #3
0
        public async System.Threading.Tasks.Task TestMeterReadingAsync()
        {
            //Arrange
            var meterReadingResource = new MeterReadingResource()
            {
                AccountId            = 2344,
                MeterReadingDateTime = DateTime.Parse("22/04/2019 09:24"),
                MeterReadValue       = "01002"
            };
            var validator = new MeterReadingResourceValidator();

            //Act
            var validationResult = await validator.ValidateAsync(meterReadingResource);

            //Assert
            Assert.True(validationResult.IsValid, "Not valid");
        }
Пример #4
0
        public async Task CreateMeterReadingAsync(MeterReadingResource model)
        {
            if (model == null)
            {
                throw new MeterReadingServiceException("Resource model can not be null");
            }
            _logger.LogInformation("Creating new meter reading");

            var entity    = _mapper.Map <MeterReading>(model);
            var succeeded = await _meterReadingRepository.CreateMeterReadingAsync(entity);

            if (!succeeded)
            {
                string errorMessage = "Failed to create new meter reading.";
                _logger.LogError(errorMessage);
                throw new MeterReadingServiceException(errorMessage);
            }
        }
        public void AddToMeterReadingValidationReport(MeterReadingResource meterReadingResource
                                                      , IEnumerable <string> errors   = null
                                                      , MeterReadingStatusReport type = MeterReadingStatusReport.Successfull)
        {
            var meterReadingErrorMessages = new MeterReadingErrorMessages
            {
                AccountId            = meterReadingResource.AccountId,
                MeterReadingDateTime = meterReadingResource.MeterReadingDateTime,
                MeterReadValue       = meterReadingResource.MeterReadValue,
                Messages             = errors?.ToList()
            };

            if (type == MeterReadingStatusReport.Successfull)
            {
                Successfull.Add(meterReadingErrorMessages);
            }
            else
            {
                Failed.Add(meterReadingErrorMessages);
            }
        }