public JsonResult CambiarEstado(int idInteligente, EstadoDispositivo estado)
        {
            SGEContext context = new SGEContext();

            BaseRepositorio <Inteligente> repoInteligente = new BaseRepositorio <Inteligente>(context);
            Inteligente inteligente = repoInteligente.Single(i => i.Id == idInteligente);

            inteligente.Context = context;

            switch (estado)
            {
            case EstadoDispositivo.AhorroEnergia:
                inteligente.ColocarEnAhorroEnergia();
                break;

            case EstadoDispositivo.Apagado:
                inteligente.Apagar();
                break;

            case EstadoDispositivo.Encendido:
                inteligente.Encender();
                break;

            default:
                return(Json(new { success = false, error = "Estado desconocido" }));
            }


            repoInteligente.Update(inteligente);

            return(Json(new { success = true }));
        }
示例#2
0
        public EstadoDispositivo obterUltimo(int dispositivoId)
        {
            using (var db = new IoTDataModel())
            {
                EstadoDispositivo estadoDispositivo = db.EstadoDispositivo
                                                      .Where(ed => ed.DispositivoId == dispositivoId)
                                                      .OrderByDescending(id => id.DispositivoId).FirstOrDefault();
                return(estadoDispositivo);
            }

            /*if (dispositivoId <= DispositivoDAO.dispositivos.Count)
             * {
             *  Dispositivo dispositivo = DispositivoDAO.dispositivos[dispositivoId - 1];
             *  int max = 0;
             *  EstadoDispositivo retorno = null;
             *  foreach (EstadoDispositivo estado in dispositivo.Historico)
             *  {
             *      if (estado.Id > max)
             *      {
             *          max = estado.Id;
             *          retorno = estado;
             *      }
             *  }
             *  return retorno;
             * }*/
        }
示例#3
0
        private void alterarEstado(bool ligado)
        {
            EstadoDispositivo estado = new EstadoDispositivo();

            estado.Data          = DateTime.Now;
            estado.DispositivoId = (int)Session["id"];
            estado.Valor         = ligado ? 1 : 0;
            dispositivoService.alterarEstado(estado);
        }
示例#4
0
 public int incluir(EstadoDispositivo estado)
 {
     using (var db = new IoTDataModel())
     {
         db.EstadoDispositivo.Add(estado);
         db.SaveChanges();
         return(estado.Id);
     }
 }
示例#5
0
 public Activacion(EstadoDispositivo estado)
 {
     this.FechaDeRegistro = DateTime.Now;
     this.Estado          = estado;
 }
示例#6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            String qid = Request.QueryString["id"];
            int    id;

            try
            {
                // verifica se o id foi fornecido pela URL
                // o id é fornecido pela URL quando selecionamos um link na tela de
                // sensores ou de atuadores
                id            = int.Parse(qid);
                Session["id"] = id;
            }
            catch (Exception)
            {
                // se o id do dispositivo não foi passado pela URL, então tenta obter na sessão
                id = (int)Session["id"];
            }
            if (Session["id"] != null)
            {
                if (id > 0)
                {
                    LabelResultadoMsg.Text = (string)Session["msg"];
                    Session["msg"]         = "";
                    Dispositivo dispositivo = dispositivoService.obter(id);
                    TextId.Text   = "" + dispositivo.Id;
                    TextNome.Text = dispositivo.Nome;
                    EstadoDispositivo ultimoEstado = dispositivoService.ultimoEstado(dispositivo.Id);
                    RadioButtonTipo.SelectedValue = dispositivo.Tipo.ToString();
                    // Session["Tipo"] é usado na tela de histórico
                    Session["Tipo"] = dispositivo.Tipo;
                    if (dispositivo.Tipo == 0)
                    {
                        DivControleAtuador.Visible       = false;
                        labelValorAtualLigado.Visible    = false;
                        labelValorAtualDesligado.Visible = false;
                        labelValorAtual.Visible          = true;
                        if (ultimoEstado != null)
                        {
                            labelValorAtual.Text = "" + ultimoEstado.Valor;
                        }
                        else
                        {
                            labelValorAtual.Text = "Desconhecido";
                        }
                    }
                    else
                    {
                        DivControleAtuador.Visible       = true;
                        labelValorAtualLigado.Visible    = false;
                        labelValorAtualDesligado.Visible = false;
                        labelValorAtual.Visible          = false;
                        if (ultimoEstado != null)
                        {
                            if (ultimoEstado.Valor == 1)
                            {
                                labelValorAtualLigado.Visible = true;
                            }
                            else
                            {
                                labelValorAtualDesligado.Visible = true;
                            }
                        }
                        else
                        {
                            labelValorAtual.Visible = true;
                            labelValorAtual.Text    = "Desconhecido";
                        }
                    }
                }
            }
        }
示例#7
0
 public int alterarEstado(EstadoDispositivo estado)
 {
     return(estadoDispositivoDAO.incluir(estado));
 }