示例#1
0
        public Task Equipamento(string dispositivo, PostEquipamento post)
        {
            var grupoDispositivo = ActorProxy.Create <IResidencia>(new ActorId(Estado._grupoId));

            if (post.Equipamento == "V")
            {
                if (!EquipEstado.DicVentilador.ContainsKey(post.Numero))
                {
                    EquipEstado.DicVentilador.Add(post.Numero, post.Valor);
                }
                else
                {
                    EquipEstado.DicVentilador[post.Numero] = post.Valor;
                }

                grupoDispositivo.EstadoDispositivosGrupo(dispositivo + "Vent", EquipEstado.DicVentilador);
            }
            if (post.Equipamento == "L")
            {
                if (!EquipEstado.DicLampada.ContainsKey(post.Numero))
                {
                    EquipEstado.DicLampada.Add(post.Numero, post.Valor);
                }
                else
                {
                    EquipEstado.DicLampada[post.Numero] = post.Valor;
                }

                grupoDispositivo.EstadoDispositivosGrupo(dispositivo + "Lamp", EquipEstado.DicLampada);
            }
            if (post.Equipamento == "U")
            {
                if (!EquipEstado.DicUmidificador.ContainsKey(post.Numero))
                {
                    EquipEstado.DicUmidificador.Add(post.Numero, post.Valor);
                }
                else
                {
                    EquipEstado.DicUmidificador[post.Numero] = post.Valor;
                }

                grupoDispositivo.EstadoDispositivosGrupo(dispositivo + "Umid", EquipEstado.DicUmidificador);
            }

            string     JsonEnvio = JsonConvert.SerializeObject(post);
            string     endpoint  = "http://" + dispositivo + ".ngrok.io/api/Equipamento";
            HttpClient client    = new HttpClient();
            var        content   = new StringContent(JsonEnvio, Encoding.UTF8, "application/json");
            var        result    = client.PostAsync(endpoint, content);

            return(null);
        }
示例#2
0
 public IActionResult Post(string dispositivo, [FromBody] PostEquipamento post)
 {
     try
     {
         var actor = ActorProxy.Create <IAmbiente>(new ActorId(dispositivo), new Uri("fabric:/InternetOfThings/AmbienteActorService"));
         actor.Equipamento(dispositivo, post);
         return(Ok());
     }
     catch
     {
         return(NotFound());
     }
 }