//private InformacoesViewModel ViewModel => BindingContext as InformacoesViewModel; public InformacoesPage() { InitializeComponent(); BindingContext = new InformacoesViewModel(); }
private InformacoesViewModel MostrarDadosSensor() { var info = _context.SensorTemperaturaUmidade.LastOrDefault(); InformacoesViewModel viewModel = new InformacoesViewModel(); try { viewModel.Id = info.Id; viewModel.Temperatura = info.Temperatura + " °C"; viewModel.Umidade = info.Umidade + " %"; viewModel.UmidadeSolo = info.UmidadeSolo + " %"; viewModel.Status1 = _context.Comandos.FirstOrDefault(x => x.Id == 1).Status_Enum; viewModel.TemperaturaIniciarVentilacao = _context.Configuracoes.FirstOrDefault().temperaturaIniciar.ToString() + " °C"; viewModel.TemperaturaTerminarVentilacao = _context.Configuracoes.FirstOrDefault().temperaturaTerminar.ToString() + " °C"; viewModel.UmidadeIniciarIrrigacao = _context.Configuracoes.FirstOrDefault().umidadeIniciar.ToString() + " %"; viewModel.UmidadeTerminarIrrigacao = _context.Configuracoes.FirstOrDefault().umidadeTerminar.ToString() + " %"; viewModel.TempoLigado = _context.Configuracoes.FirstOrDefault().tempoLigado.ToString() + " s"; viewModel.TempoDesligado = _context.Configuracoes.FirstOrDefault().tempoDesligado.ToString() + " s"; //Confere os dados do sensor e verifica se precisa acionar algum componente: //Essa parte do código pode ser melhorada!!! var comparar = _context.Configuracoes.First(); if (comparar.temperaturaIniciar <= int.Parse(info.Temperatura)) { MandaComando(4, "Ligado"); } else if (comparar.temperaturaIniciar < int.Parse(info.Temperatura) && int.Parse(info.Temperatura) <= comparar.temperaturaTerminar) { MandaComando(4, "Ligado"); } else { MandaComando(4, "Desligado"); } if (comparar.umidadeIniciar <= int.Parse(info.UmidadeSolo)) { MandaComando(2, "Ligado"); } else if (comparar.umidadeIniciar < int.Parse(info.UmidadeSolo) && int.Parse(info.UmidadeSolo) <= comparar.umidadeTerminar) { MandaComando(2, "Ligado"); } else { MandaComando(2, "Desligado"); } //Aqui ele confere se mantém ou não a iluminação ativada. var atualmente = DateTime.Now; // if (comparar.horarioInicial <= atualmente && atualmente <= comparar.horarioFinal) { if (comparar.statusReferencia == true) { MandaComando(3, "Ligado"); } else { MandaComando(3, "Desligado"); } } else { if (comparar.statusReferencia == true) { comparar.statusReferencia = false; comparar.horarioInicial = DateTime.Now; comparar.horarioFinal = comparar.horarioInicial.AddSeconds(comparar.tempoDesligado); _context.Configuracoes.Update(comparar); _context.SaveChanges(); } else { comparar.statusReferencia = true; comparar.horarioInicial = DateTime.Now; comparar.horarioFinal = comparar.horarioInicial.AddSeconds(comparar.tempoLigado); _context.Configuracoes.Update(comparar); _context.SaveChanges(); } } } catch (NullReferenceException) { viewModel.Id = 0; viewModel.Temperatura = "Infelizmente, nenhuma informação foi encontrada no banco de dados."; viewModel.Umidade = "Infelizmente, nenhuma informação foi encontrada no banco de dados."; viewModel.UmidadeSolo = "Infelizmente, nenhuma informação foi encontrada no banco de dados."; } return(viewModel); }