private WaterMeterDto GetInputModel()
        {
            WaterMeterDto waterMeterDto = new WaterMeterDto();

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

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

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

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

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

            return(waterMeterDto);
        }
Пример #2
0
        public async Task <OperationResultModel <WaterMeterDto> > Add(WaterMeterDto model)
        {
            var result = new OperationResultModel <WaterMeterDto>();

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

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

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

                model.Id = device.Id;

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