Esempio n. 1
0
        private ElectricMeterDto GetInputModel()
        {
            ElectricMeterDto electricMeterDto = new ElectricMeterDto();

            Console.Write("\nSerial number: ");

            electricMeterDto.SerialNumber = Console.ReadLine();
            while (string.IsNullOrEmpty(electricMeterDto.SerialNumber))
            {
                Console.WriteLine("\nSerial number must not be empty");
                Console.Write("\nSerial number: ");
                electricMeterDto.SerialNumber = Console.ReadLine();
            }

            Console.Write("\nFirmware version: ");
            electricMeterDto.FirmwareVersion = Console.ReadLine();
            if (string.IsNullOrEmpty(electricMeterDto.FirmwareVersion))
            {
                electricMeterDto.FirmwareVersion = null;
            }

            Console.Write("\nState: ");
            electricMeterDto.State = Console.ReadLine();
            if (string.IsNullOrEmpty(electricMeterDto.State))
            {
                electricMeterDto.State = null;
            }

            Console.WriteLine("Registering...\n");

            return(electricMeterDto);
        }
Esempio n. 2
0
        public async Task <OperationResultModel <ElectricMeterDto> > Add(ElectricMeterDto model)
        {
            var result = new OperationResultModel <ElectricMeterDto>();

            try
            {
                bool existAlready = await _electricMeterDao.GetBySerialNumber(model.SerialNumber) != null;

                if (existAlready)
                {
                    result.SetMessage("The electric meter is already registered");
                    return(result);
                }

                var device = await _electricMeterDao.Add(new ElectricMeter {
                    SerialNumber    = model.SerialNumber,
                    FirmwareVersion = model.FirmwareVersion,
                    State           = model.State
                });

                model.Id = device.Id;

                result
                .SetStatus(true)
                .SetMessage("Electric meter has been registered successfully")
                .SetData(model);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                result.SetMessage("Error creating an electric meter");
            }
            return(result);
        }