예제 #1
0
        private void btnAtualizar_Click(object sender, EventArgs e)
        {
            bool ConfiguracoesOK = true;

            foreach (DataGridViewRow linha in dgvBases.Rows)
            {
                if (linha.Cells["VersaoGeneXus"].Value.ToString() == TEXTO_PADRAO_COMBO_VERSAO)
                {
                    ConfiguracoesOK = false;
                    Common.MensagemErro(string.Format("A base {0} está sem a versão do GeneXus para backup selecionada!", linha.Cells["VersaoGeneXus"].Value.ToString()));
                    break;
                }
            }

            if (ConfiguracoesOK)
            {
                configuracoes.InstalacoesGeneXus = Instalacoes;

                foreach (DataGridViewRow linha in dgvBases.Rows)
                {
                    configuracoes.Bases.Where(b => b.Caminho == linha.Cells["Caminho"].Value.ToString()).First().VersaoGeneXus = linha.Cells["VersaoGeneXus"].Value.ToString();
                }

                ProcessadorXml.Salvar(configuracoes);
                this.Close();
            }
        }
예제 #2
0
        private void ChecarInstalacoesGeneXus()
        {
            List <InstalacaoGeneXus> InstalacoesAtuais      = Common.IdentificarInstalacoesGeneXus();
            List <InstalacaoGeneXus> InstalacoesSalvasNoXml = configuracoes.InstalacoesGeneXus;

            //Só deverá checar as instalações caso tenha sido configurada pelo menos uma base, caso contrário não faz sentido realizar essa configuração
            if (!Common.InstalacoesIguais(InstalacoesAtuais, InstalacoesSalvasNoXml) && configuracoes.Bases.Count > 0)
            {
                Common.MensagemInfo("Foi identificado que houve uma mudança nas instalações do GeneXus! Devido a isso, será necessário atualizar as propriedades das KBs configuradas!");

                //Chamar formulário para reconfigurar as KBs
                frmAtualizarBases frm = new frmAtualizarBases();
                frm.ShowDialog();

                CarregarConfiguracoes();
            }
            else
            {
                configuracoes.InstalacoesGeneXus = InstalacoesAtuais;
                ProcessadorXml.Salvar(configuracoes);
            }

            cmbInstalacaoGeneXus.Items.Clear();

            foreach (InstalacaoGeneXus i in InstalacoesAtuais)
            {
                cmbInstalacaoGeneXus.Items.Add(i.NomePasta);
            }
        }
예제 #3
0
        private void btnAtualizar_Click(object sender, EventArgs e)
        {
            bool algumaBaseSelecionada = false;

            foreach (DataGridViewRow row in dgvBases.Rows)
            {
                if (((bool)row.Cells[0].Value) == true)
                {
                    algumaBaseSelecionada = true;
                    break;
                }
            }

            if (txtVersao.Text.Trim() == "")
            {
                Common.MensagemErro("Informe a nova versão a ser configurada nas bases selecionadas!");
            }
            else
            {
                if (txtVersao.Text.Trim().Length != 8)
                {
                    Common.MensagemErro("O número da versão é composto por 8 dígitos, verifique!");
                }
                else
                {
                    if (!algumaBaseSelecionada)
                    {
                        Common.MensagemErro("Selecione alguma base para alterar a versão!");
                    }
                    else
                    {
                        foreach (DataGridViewRow row in dgvBases.Rows)
                        {
                            if (((bool)row.Cells[0].Value) == true)
                            {
                                string caminho = row.Cells[1].Value.ToString().Trim();

                                Base   b     = configuracoes.Bases.Where(kb => kb.Caminho == caminho).First <Base>();
                                string texto = b.Caminho;
                                texto     = Regex.Replace(texto, @"-[0-9]{8}\\", "-" + txtVersao.Text.Trim() + @"\");
                                b.Caminho = texto;
                            }
                        }

                        ProcessadorXml.Salvar(configuracoes);

                        this.Close();
                    }
                }
            }
        }
예제 #4
0
        private void SalvarConfiguracoes()
        {
            configuracoes.Servidor            = txtServidor.Text.Trim();
            configuracoes.Usuario             = txtUsuario.Text.Trim();
            configuracoes.Senha               = txtSenha.Text.Trim();
            configuracoes.AutenticacaoWindows = chkAutenticacaoWindows.Checked;

            configuracoes.NomePastaRede           = txtNomePastaRede.Text.Trim();
            configuracoes.CaminhoLocalBackup      = txtCaminhoBackup.Text.Trim();
            configuracoes.QuantidadeDiasBackup    = Convert.ToInt32(txtDiasParaBackup.Text.Trim());
            configuracoes.DesabilitarDesligamento = chkDesabilitarDesligamento.Checked;

            ProcessadorXml.Salvar(configuracoes);
        }
예제 #5
0
        private void CarregarConfiguracoes()
        {
            configuracoes = ProcessadorXml.Ler();

            txtServidor.Text = configuracoes.Servidor.Trim();
            txtUsuario.Text  = configuracoes.Usuario.Trim();
            txtSenha.Text    = configuracoes.Senha.Trim();
            chkAutenticacaoWindows.Checked = configuracoes.AutenticacaoWindows;
            txtUsuario.Enabled             = txtSenha.Enabled = !configuracoes.AutenticacaoWindows;

            txtNomePastaRede.Text              = configuracoes.NomePastaRede.Trim();
            txtCaminhoBackup.Text              = configuracoes.CaminhoLocalBackup.Trim();
            txtDiasParaBackup.Text             = configuracoes.QuantidadeDiasBackup.ToString().Trim();
            chkDesabilitarDesligamento.Checked = configuracoes.DesabilitarDesligamento;
        }
예제 #6
0
 public frmAtualizarBases()
 {
     InitializeComponent();
     configuracoes = ProcessadorXml.Ler();
     CarregarGrid();
 }
예제 #7
0
        static void Main(string[] args)
        {
            if (!args.Contains <string>("/seminterface") && !args.Contains <string>("/ajuda"))
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new frmXPZBackup());
            }
            else
            {
                if (args.Contains <string>("/ajuda"))
                {
                    string mensagem = "";
                    mensagem += "---------------------------------------------------------------------" + Environment.NewLine;
                    mensagem += "Versão atual do XPZBackup: " + Application.ProductVersion + Environment.NewLine;
                    mensagem += "---------------------------------------------------------------------" + Environment.NewLine;
                    mensagem += "Parâmetros:" + Environment.NewLine;
                    mensagem += Environment.NewLine;
                    mensagem += "/seminterface: Inicializa o programa sem a interface, utilizando as configurações feitas pela interface" + Environment.NewLine;
                    mensagem += Environment.NewLine;
                    mensagem += "/desligar: Usado junto com o parâmetro /seminterface, desliga a máquina no final do processo" + Environment.NewLine;
                    mensagem += Environment.NewLine;
                    mensagem += "/idletimeout <segundos>: Só funcionará com o parâmetro /seminterface. Espera que o sistema esteja em X segundos de inatividade (sem entrada do usuário) antes de fazer o backup" + Environment.NewLine;
                    mensagem += Environment.NewLine;
                    mensagem += "/ajuda: Exibe essa mensagem de ajuda" + Environment.NewLine;
                    mensagem += "---------------------------------------------------------------------" + Environment.NewLine;

                    Common.MensagemInfo(mensagem);
                }
                else
                {
                    if (args.Contains <string>("/seminterface"))
                    {
                        bool    desligarNoFinal = args.Contains <string>("/desligar");
                        Configs configuracoes   = ProcessadorXml.Ler();

                        if (configuracoes.DesabilitarDesligamento)
                        {
                            desligarNoFinal = false;
                        }

                        int idleTimeout = 0;
                        for (int i = 0; i < args.Length; i++)
                        {
                            if (args[i] == "/idletimeout")
                            {
                                if ((i + 1) < args.Length)
                                {
                                    idleTimeout = Convert.ToInt32(args[i + 1].ToString());
                                }
                                else
                                {
                                    Common.MensagemErro("Valor Incorreto informado para o parâmetro /idletimeout, verifique os parâmetros informados!");
                                }
                            }
                        }

                        if (idleTimeout > 0)
                        {
                            int idleTimeoutMilliseconds = idleTimeout * 1000;
                            while (IdleTimeout.GetIdleTime() < idleTimeoutMilliseconds)
                            {
                                Thread.Sleep(1000);
                            }
                        }

                        List <string> retorno = Tarefas.Executar(configuracoes, desligarNoFinal);
                        if (retorno.Count > 0)
                        {
                            string mensagensRetorno = "";

                            foreach (string s in retorno)
                            {
                                mensagensRetorno += s + Environment.NewLine;
                            }

                            Common.MensagemErro(mensagensRetorno);
                        }
                    }
                    else
                    {
                        Common.MensagemErro("Parâmetros inválidos, verifique os parâmetros informados!");
                        Application.Exit();
                    }
                }
            }
        }
예제 #8
0
 public frmVersao()
 {
     InitializeComponent();
     configuracoes = ProcessadorXml.Ler();
     CarregarGrid();
 }