예제 #1
0
        public void DerrubaConexoes()
        {
            var context = new PostoContext(Configuracao);

            context.Query("SELECT pg_terminate_backend(PID) FROM pg_stat_activity WHERE PID <> pg_backend_pid()").ExecuteNonQuery();
            context.Close();
        }
예제 #2
0
        /// <summary>
        /// Atualiza viewmodel com as informações do banco de dados
        /// </summary>
        public async Task <bool> AtualizaViewModel()
        {
            return(await Task.Run(() =>
            {
                try
                {
                    var context = new PostoContext(ConfiguracaoModel);
                    var query = context.Query("SELECT *, (SELECT oft000.parversao FROM oft000 LIMIT 1) AS versao, NOW() AS dataAtual FROM atualiz");

                    using (var reader = query.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            AtualizarModel.Dia = reader.GetInt16(reader.GetOrdinal("atuDiaSema"));
                            AtualizarModel.Hora = Convert.ToInt16(reader.GetString(reader.GetOrdinal("atuHoraMin")).Split(':')[0]);
                            AtualizarModel.Minuto = Convert.ToInt16(reader.GetString(reader.GetOrdinal("atuHoraMin")).Split(':')[1]);
                            AtualizarModel.UltimaData = reader.GetDateTime(reader.GetOrdinal("atuDatAtua"));
                            AtualizarModel.Versao = reader.GetInt32(reader.GetOrdinal("versao"));
                            AtualizarModel.DataAtual = reader.GetDateTime(reader.GetOrdinal("dataAtual"));
                        }
                    }
                    context.Close();
                    return true;
                }
                catch (Exception e)
                {
                    log.Error(e.Message);
                    return false;
                }
            }));
        }
예제 #3
0
        /// <summary>
        /// Reinicializa os programas de acordo com os parâmetros
        /// </summary>
        private void ReinicializaProgramas(bool teveErro, PostoContext context)
        {
            try
            {
                if (context != null)
                {
                    context.Close();
                }

                TelaPrincipal.AbaAtualizacao.ProgressoBarra2 = 0;

                //-- Se diretório existir, inicia processo
                if (File.Exists(PathAtualizador))
                {
                    //-- Inicia processo do leitor de bombas caso parâmetro seja true
                    if (ConfiguracaoModel.LeitorBomba)
                    {
                        Execute("6");
                    }
                    //-- Se diretório existir, inicia processo
                    if (ConfiguracaoModel.PostoWeb)
                    {
                        Execute("7");
                    }
                }
            }
            catch (Exception e)
            {
                log.Error(e.Message);
            }

            if (teveErro)
            {
                MessageBox.Show("Houve um erro ao atualizar a versão do sistema. Por favor, entre em contato com o suporte.", "Erro na atualização", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            SetaBarraStatus(false, 25);
        }
예제 #4
0
        /// <summary>
        /// Reinicializa os programas de acordo com os parâmetros
        /// </summary>
        private void ReinicializaProgramas(bool teveErro, PostoContext context)
        {
            try
            {
                if (context != null)
                {
                    context.Close();
                }

                MainWindowViewModel.AbaAtualizar.Status.BarraProgresso.ProgressoBarra2 = 0;

                //-- Se diretório existir, inicia processo
                if (File.Exists($@"{ConfiguracaoModel.LocalDiretorio}\App\Posto.exe"))
                {
                    //-- Inicia processo do leitor de bombas caso parâmetro seja true
                    if (ConfiguracaoModel.LeitorBomba)
                    {
                        Execute("6");
                    }
                    //-- Se diretório existir, inicia processo
                    if (ConfiguracaoModel.PostoWeb)
                    {
                        Execute("7");
                    }
                }
            }
            catch (Exception e)
            {
                log.Error(e.Message);
            }

            if (teveErro)
            {
                MessageBox.Show("Houve um erro ao atualizar a versão do sistema. Por favor, entre em contato com o suporte.", "Erro na atualização", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            SetaBarraStatus(System.Windows.Visibility.Hidden, 25);
        }
예제 #5
0
        public void CarregaIndicadores()
        {
            try
            {
                var context = new PostoContext(Configuracao);
                var query   = context.Query("SELECT * FROM " + TabAtualizacao + " WHERE " + ColAtuCodigo + " = 1 LIMIT 1");

                using (var reader = query.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        EmManutencao   = (reader.GetString(reader.GetOrdinal(ColManutencao)) == "S") ? true : false;
                        FimManutencao  = (reader.GetString(reader.GetOrdinal(ColFimManutencao)) == "S") ? true : false;
                        AtualizouBanco = (reader.GetString(reader.GetOrdinal(ColAtualizaDB)) == "S") ? true : false;
                        AtualizouExe   = (reader.GetString(reader.GetOrdinal(ColAtualizaExe)) == "S") ? true : false;
                    }
                }
                context.Close();
            }
            catch (Exception e)
            {
                log.Error(e.Message);
            }
        }