Exemplo n.º 1
0
        public override async Task <RegisterResponse> RegisterSensor(SensorRegisterRequest request, ServerCallContext context)
        {
            var id = await _sensorService.RegisterSensorAsync(request);

            var response = new RegisterResponse();

            if (id.HasValue)
            {
                response.Id      = id.Value;
                response.Success = true;
            }
            else
            {
                response.Success = false;
            }

            return(response);
        }
Exemplo n.º 2
0
        public Task <int?> RegisterSensorAsync(SensorRegisterRequest request)
        {
            var host = _context.SensorHost.FirstOrDefault(x => x.Id == request.HostId);

            if (host == null)
            {
                return(null);
            }

            var sensor = _context.Sensor.FirstOrDefault(x => x.HostSensorId == request.HostSensorId);

            if (sensor != null)
            {
                return(Task.FromResult <int?>(sensor.Id));
            }

            sensor      = _mapper.Map <Sensor>(request);
            sensor.Host = host;
            _context.Sensor.Add(sensor);
            _context.SaveChanges();
            return(Task.FromResult <int?>(sensor.Id));
        }