Example #1
0
        /// <summary>
        /// Atualização de arquivos
        /// </summary>
        private async Task <bool> AtualizarExe()
        {
            return(await Task.Run(() =>
            {
                try
                {
                    TelaPrincipal.AbaAtualizacao.IsIndeterminateBarra1 = false;
                    var FileLastModified = Ftp.GetFileLasModified(PathExe);

                    if (!FileLastModified.ToString().Equals(ConfiguracaoModel.VersaoArquivo))
                    {
                        TelaPrincipal.AbaAtualizacao.LabelContent = "Baixando arquivos da atualizaçãos...";
                        var arquivos = Ftp.Download(PathExe, TelaPrincipal);

                        using (MemoryStream mem = new MemoryStream(arquivos))
                            using (ZipArchive zipStream = new ZipArchive(mem))
                            {
                                var filesCount = 1;
                                foreach (ZipArchiveEntry file in zipStream.Entries)
                                {
                                    string completeFileName = Path.Combine($@"{ConfiguracaoModel.DiretorioSistema}\Update", file.FullName);
                                    string directory = Path.GetDirectoryName(completeFileName);

                                    if (!Directory.Exists(directory))
                                    {
                                        Directory.CreateDirectory(directory);
                                    }
                                    if (file.Name != "")
                                    {
                                        file.ExtractToFile(completeFileName, true);
                                    }

                                    TelaPrincipal.AbaAtualizacao.LabelContent = "Extraindo arquivo (" + filesCount + "/" + zipStream.Entries.Count.ToString() + ")";
                                    TelaPrincipal.AbaAtualizacao.ProgressoBarra1 = Math.Min((int)((double)filesCount / zipStream.Entries.Count) * 100, 100);
                                    //file.ExtractToFile(completeFileName, true);
                                    filesCount++;
                                }
                            }
                    }

                    ConfiguracaoModel.VersaoArquivo = FileLastModified.ToString().Trim();
                    ConfiguracaoModel.ToModel().GravarConfiguracao();
                    TelaPrincipal.Indicadores.AtualizouExe = true;
                    return true;
                }
                catch (Exception e)
                {
                    log.Error(e.Message);
                    TelaPrincipal.AbaAtualizacao.LabelContent = "Problemas ao atualizar programas.";
                    return false;
                }
            }));
        }
Example #2
0
        public ConfiguracaoModel BuscaConfiguracao()
        {
            var fakeArquivo = "192.168.0.1;4200;usuarioArquivo;senhaArquivo;bancoArquivo";
            var fakeArquivoQuebrado = fakeArquivo.Split(';');
            var configuracaoModel = new ConfiguracaoModel
            {
                Host = fakeArquivoQuebrado[0],
                Porta = fakeArquivoQuebrado[1],
                Usuario = fakeArquivoQuebrado[2],
                Senha = fakeArquivoQuebrado[3],
                BancoDados = fakeArquivoQuebrado[4]
            };

            return configuracaoModel;
        }
Example #3
0
        public bool IsValidarConfiguracao(ConfiguracaoModel configuracao)
        {
            if (string.IsNullOrWhiteSpace(configuracao.Servidor))
            {
                AbaConfiguracoes.MensagemLabel = "Erro: Preencha o servidor";
                SetFocus(Focus.InputServidor);
                return(false);
            }

            if (configuracao.Porta <= 0)
            {
                AbaConfiguracoes.MensagemLabel = "Erro: Preencha a porta";
                SetFocus(Focus.InputPorta);
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.Banco))
            {
                AbaConfiguracoes.MensagemLabel = "Erro: Preencha o banco de dados";
                SetFocus(Focus.InputBanco);
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.Usuario))
            {
                AbaConfiguracoes.MensagemLabel = "Erro: Preencha o usuário";
                SetFocus(Focus.InputUsuario);
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.Senha))
            {
                AbaConfiguracoes.MensagemLabel = "Erro: Preencha a senha";
                SetFocus(Focus.InputSenha);
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.LocalDiretorio))
            {
                AbaConfiguracoes.MensagemLabel = "Erro: Preencha o diretório";
                SetFocus(Focus.InputLocalDiretorio);
                return(false);
            }
            return(true);
        }
 public static ConfiguracaoXml ToModel(this ConfiguracaoModel model)
 {
     return(new ConfiguracaoXml()
     {
         Servidor = model.Servidor,
         Porta = model.Porta.ToString(),
         Banco = model.Banco,
         Usuario = model.Usuario,
         Senha = model.Senha,
         LocalDiretorio = model.LocalDiretorio,
         LocalPostgres = model.LocalPostgres,
         VersaoArquivo = model.VersaoArquivo,
         LeitorBomba = model.LeitorBomba,
         PostoWeb = model.PostoWeb,
         Backup = model.Backup,
         Vacuum = model.Vacuum,
         Reindex = model.Reindex
     });
 }
Example #5
0
 internal static ConfiguracaoXml ToModel(this ConfiguracaoModel model)
 {
     return(new ConfiguracaoXml()
     {
         Servidor = model.Servidor,
         Porta = model.Porta.ToString(),
         Banco = model.Banco,
         Usuario = model.Usuario,
         Senha = model.Senha,
         DiretorioSistema = model.DiretorioSistema,
         DiretorioPostgreSql = model.DiretorioPostgreSql,
         VersaoArquivo = model.VersaoArquivo,
         LeitorBomba = model.LeitorBomba,
         PostoWeb = model.PostoWeb,
         Backup = model.Backup,
         Vacuum = model.Vacuum,
         Reindex = model.Reindex,
     });
 }
Example #6
0
 public PostoContext(ConfiguracaoModel configuracao = null)
 {
     _conexao = new NpgsqlConnection(configuracao.GetConnection);
     _conexao.Open();
 }
 public IndicadoresManutencao(ConfiguracaoModel configuracao)
 {
     Configuracao = configuracao;
     CarregaIndicadores();
 }
        private ConfiguracaoModel ObterProcessos()
        {
            List<Orcamento.Domain.Robo.Monitoramento.EstruturaOrcamentaria.Processo> processos = controller.ObterProcessos();

            ConfiguracaoModel configuracao = new ConfiguracaoModel();
            foreach (var processo in processos)
            {
                configuracao.AdicionarProcesso(processo);
            }
            return configuracao;
        }
Example #9
0
        private bool IsValidarConfiguracao(ConfiguracaoModel configuracao)
        {
            if (string.IsNullOrWhiteSpace(configuracao.Servidor))
            {
                DialogResult result = MessageBox.Show("Preencha o servidor", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.matServer.Select();
                }
                return(false);
            }

            if (configuracao.Porta <= 0)
            {
                DialogResult result = MessageBox.Show("Preencha o porta", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.matPorta.Select();
                }
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.Banco))
            {
                DialogResult result = MessageBox.Show("Preencha o banco de dados", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.matBanco.Select();
                }
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.Usuario))
            {
                DialogResult result = MessageBox.Show("Preencha o usuário", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.matUsuario.Select();
                }
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.Senha))
            {
                DialogResult result = MessageBox.Show("Preencha o senha", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.matSenha.Select();
                }
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.DiretorioSistema))
            {
                DialogResult result = MessageBox.Show("Selecione o diretório de instalação", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.Invoke((MethodInvoker) delegate
                    {
                        matBtnSistemDir.PerformClick();
                    });
                }
                return(false);
            }

            if (string.IsNullOrWhiteSpace(configuracao.DiretorioPostgreSql))
            {
                DialogResult result = MessageBox.Show("Selecione o diretório de PostgresSql", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                if (result == DialogResult.OK)
                {
                    this.Invoke((MethodInvoker) delegate
                    {
                        matBtnPostgreSqlDir.PerformClick();
                    });
                }
                return(false);
            }
            return(true);
        }
Example #10
0
 public ConfiguracaoView()
 {
     InitializeComponent();
     DataContext = new ConfiguracaoModel();
 }
Example #11
0
        /// <summary>
        /// Atualização de arquivos
        /// </summary>
        private async Task <bool> AtualizarExe()
        {
            return(await Task.Run(() =>
            {
                try
                {
                    MainWindowViewModel.AbaAtualizar.Status.BarraProgresso.IsIndeterminateBarra1 = false;

                    var RetornoFtp = Ftp.GetFileList(FtpPath);

                    RetornoFtp.ForEach(arquivo =>
                    {
                        if (arquivo.EndsWith(".rar", StringComparison.OrdinalIgnoreCase) || arquivo.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
                        {
                            var FileLastModified = Ftp.GetFileLasModified(FtpPath + arquivo);

                            if (!FileLastModified.ToString().Equals(ConfiguracaoModel.VersaoArquivo))
                            {
                                MainWindowViewModel.AbaAtualizar.Status.StatusLabel.LabelContent = "Baixando arquivos da atualizaçãos...";
                                var arquivos = Ftp.Download(FtpPath + arquivo, MainWindowViewModel);

                                using (MemoryStream mem = new MemoryStream(arquivos))
                                    using (var file = ArchiveFactory.Open(mem))
                                    {
                                        var filesCount = 1;
                                        file.Entries.ToList().ForEach(entry =>
                                        {
                                            if (!entry.IsDirectory && !entry.Key.Contains("~$"))
                                            {
                                                string completeFileName = Path.Combine($@"{ConfiguracaoModel.LocalDiretorio}\Update", entry.Key);
                                                string directory = Path.GetDirectoryName(completeFileName);

                                                if (entry.Key != "")
                                                {
                                                    entry.WriteToDirectory($@"{ConfiguracaoModel.LocalDiretorio}\Update", new ExtractionOptions()
                                                    {
                                                        ExtractFullPath = true, Overwrite = true
                                                    });
                                                }

                                                MainWindowViewModel.AbaAtualizar.Status.StatusLabel.LabelContent = "Extraindo arquivo (" + filesCount + "/" + file.Entries.Count().ToString() + ")";
                                                MainWindowViewModel.AbaAtualizar.Status.BarraProgresso.ProgressoBarra1 = ((double)filesCount / file.Entries.Count()) * 100;

                                                filesCount++;
                                            }
                                        });
                                    }
                            }

                            ConfiguracaoModel.VersaoArquivo = FileLastModified.ToString().Trim();
                            ConfiguracaoModel.ToModel().GravarConfiguracao();
                            MainWindowViewModel.Indicadores.AtualizouExe = true;
                        }
                    });

                    return true;
                }
                catch (Exception e)
                {
                    log.Error(e.Message);
                    MainWindowViewModel.AbaAtualizar.Status.StatusLabel.LabelContent = "Problemas ao atualizar programas.";
                    return false;
                }
            }));
        }
Example #12
0
 public ConfiguracaoController()
 {
     configuracaoModel = new ConfiguracaoModel();
 }