public async Task <Guid> CreateDevice(DeviceCreate deviceCreate)
        {
            SetupHttpClient();
            _logger.Information($"Creating Device: {JsonConvert.SerializeObject(deviceCreate, Formatting.Indented)}");
            var content  = JsonConvert.SerializeObject(deviceCreate);
            var response = await _httpClient.PostAsync("devices", new StringContent(content, Encoding.UTF8, "application/json"));

            return(await GetIdFromResponse(response, _logger));
        }
Example #2
0
        public async Task <ActionResult <DeviceIndex> > Post(DeviceCreate viewModel)
        {
            var model = mapper.Map <Device>(viewModel);

            model.IsConnected = false;
            await sqlService.AddAsync(model);

            var deviceToReturn = mapper.Map <DeviceIndex>(model);

            return(CreatedAtRoute("Device", new { Id = deviceToReturn.Id }, deviceToReturn));
        }
Example #3
0
        public async Task <ActionResult <CosmosDeviceIndex> > Post(DeviceCreate viewModel)
        {
            var model = mapper.Map <CosmosDevice>(viewModel);

            model.IsConnected = false;
            model.Id          = Guid.NewGuid().ToString();
            await cosmosService.AddAsync(model);

            var deviceToReturn = mapper.Map <CosmosDeviceIndex>(model);

            return(CreatedAtRoute("CosmosDevice", new { Id = deviceToReturn.Id }, deviceToReturn));
        }
        public async Task <IActionResult> Create(DeviceCreate viewModel)
        {
            var model = mapper.Map <Device>(viewModel);

            //model.UserId = userManager.GetUserId(User);
            model.IsConnected = false;

            if (ModelState.IsValid)
            {
                await sqlService.AddAsync(model);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
        public async Task <IActionResult> Create(DeviceCreate viewModel)
        {
            var model = mapper.Map <CosmosDevice>(viewModel);

            //model.UserId = userManager.GetUserId(User);

            if (ModelState.IsValid)
            {
                model.IsConnected = false;
                model.Id          = Guid.NewGuid().ToString();
                await cosmosService.AddAsync(model);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
Example #6
0
        public async Task <IActionResult> Create(DeviceCreate viewModel)
        {
            var model = mapper.Map <Device>(viewModel);

            model.UserId      = userManager.GetUserId(User);
            model.IsConnected = false;

            if (ModelState.IsValid)
            {
                workUnit.DeviceRepo.Add(model);
                await workUnit.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
Example #7
0
        private static async Task AddBathroomDevicesAndSensors()
        {
            var bathrooms = await clients.SpacesClient.RetrieveAsync(types : "Room", subtypes : "Bathroom", includes : Includes20.FullPath);

            //var house01 = await clients.SpacesClient.RetrieveAsync(name: "House01", includes: Includes20.ChildSpaces, minLevel: 1, maxLevel: 6);
            //var bathrooms2 = await clients.SpacesClient.RetrieveAsync(types: "Room", subtypes: "Bathroom", spaceId: house01.First().Id, traverse: Traverse8.Down);

            foreach (var bathroom in bathrooms)
            {
                var deviceHardwareId = Guid.NewGuid().ToString();
                var deviceCreate     = new DeviceCreate
                {
                    SpaceId            = bathroom.Id,
                    FriendlyName       = $"{bathroom.Name}-Controller-{deviceHardwareId}",
                    Name               = $"{bathroom.Name}-Controller-{deviceHardwareId}",
                    HardwareId         = $"{deviceHardwareId}",
                    CreateIoTHubDevice = true,
                    TypeId             = await deviceTypes.IdOf("BathroomController")
                };
                var deviceId = await clients.DevicesClient.CreateAsync(deviceCreate);

                var temperatureHardwareId   = Guid.NewGuid().ToString();
                var temperatureSensorCreate = new SensorCreate
                {
                    Port       = "temp",
                    DeviceId   = deviceId,
                    HardwareId = $"{temperatureHardwareId}",
                    DataTypeId = await sensorTypes.IdOf("Temperature")
                };
                var temperatureSensorId = await clients.SensorsClient.CreateAsync(temperatureSensorCreate);

                var humidityHardwareId   = Guid.NewGuid().ToString();
                var humiditySensorCreate = new SensorCreate
                {
                    Port       = "hum",
                    DeviceId   = deviceId,
                    HardwareId = $"{humidityHardwareId}",
                    DataTypeId = await sensorTypes.IdOf("Humidity")
                };
                var humiditySensorId = await clients.SensorsClient.CreateAsync(humiditySensorCreate);
            }
        }