示例#1
0
        /// <summary>
        /// A validação será "superficial" apenas o dado da primeira célula será validado, inicialmente.
        /// </summary>
        private void ValidaLayout()
        {
            try
            {
                FonteDeDadosOld PlanilhaStatusReport = new FonteDeDadosOld(TipoFonteDados.Excel, _caminhoArquivo, "[Status Report Geral]", "", "");
                DataTableReader dtrExcelStatusReport = PlanilhaStatusReport.NewReader("Select * from [Status Report Geral$]");


                if (dtrExcelStatusReport != null)
                {
                    dtrExcelStatusReport.Read();

                    String ValorPrimeiraCelula = dtrExcelStatusReport[0].ToString();


                    if (ValorPrimeiraCelula.Equals("Relatório gerado em:"))
                    {
                        _layoutCorreto = true;
                    }
                    else
                    {
                        _layoutCorreto = false;
                    }
                }
                else
                {
                    _layoutCorreto = false;
                }
            }
            catch (Exception ex)
            {
                ///todo
                throw ex;
            }
        }
示例#2
0
        static void TesteDataTableFonteDeDados()
        {
            int numeroLinha = 1;

            FonteDeDadosOld fonteDados = new FonteDeDadosOld();

            fonteDados.Arquivo = "teste.txt";
            fonteDados.Local   = "D:\\";
            fonteDados.Origem  = TipoFonteDados.TXT;

            fonteDados.SeparadorTXT = ';';

            DataTable tabTeste = fonteDados.NewDataTable("");

            DataTableReader rd = tabTeste.CreateDataReader();


            tabTeste.CreateDataReader();

            while (rd.Read())
            {
                Console.WriteLine("Linha numero: " + numeroLinha.ToString());
                Console.WriteLine(rd[0].ToString());
                Console.WriteLine(rd[1].ToString());
                Console.WriteLine(rd[2].ToString());
                Console.WriteLine(rd[3].ToString());
                Console.WriteLine(rd[4].ToString());
                Console.WriteLine(rd[5].ToString());
                numeroLinha++;
            }

            Console.ReadLine();
        }
示例#3
0
        private void CarregaConfig()
        {
            FonteDeDadosOld arquivoConf = new FonteDeDadosOld();


            arquivoConf.Arquivo = "ImportadorRunRunConf.Imp";
            arquivoConf.Local   = AppDomain.CurrentDomain.BaseDirectory;
            arquivoConf.Origem  = TipoFonteDados.TXT;
            arquivoConf.PrimeiraLinhaCabeçalho = false;
            arquivoConf.SeparadorTXT           = ':';

            DataTableReader dtrConf = arquivoConf.NewReader("");


            while (dtrConf.Read())
            {
                //Ajusta o combo
                if (dtrConf[0].ToString() == "TIPO_CONEXAO_DEFAULT")
                {
                    if (dtrConf[1].ToString() == "MSSQL")
                    {
                        cboTipoFonteDados.SelectedIndex = 0;
                    }
                }


                if (dtrConf[0].ToString() == "SEVIDOR_DB_DEFAULT")
                {
                    txtServidor.Text = dtrConf[1].ToString();
                }


                if (dtrConf[0].ToString() == "NOME_DB_DEFAULT")
                {
                    txtNomeDB.Text = dtrConf[1].ToString();
                }


                if (dtrConf[0].ToString() == "LOGIN_DB_DEFAULT")
                {
                    txtLogin.Text = dtrConf[1].ToString();
                }

                if (dtrConf[0].ToString() == "SENHA_DB_DEFAULT")
                {
                    txtSenha.Text = dtrConf[1].ToString();
                }
            }
        }
示例#4
0
        private void btnTestarConexao_Click(object sender, EventArgs e)
        {
            if (!ValidaCamposConexao())
            {
                MessageBox.Show("É necessário informar todos os dados de conexão", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                string local   = txtServidor.Text;
                string login   = txtLogin.Text;
                string senha   = txtSenha.Text;
                string arquivo = txtNomeDB.Text;

                testeFonteDeDados = new FonteDeDadosOld(tipoSelecionado, local, arquivo, login, senha);

                MessageBox.Show(testeFonteDeDados.TestarConexão());
            }
        }
示例#5
0
        public void ImportarParaDB()
        {
            try
            {
                //Faz a validação parcial do layout
                ValidaLayout();


                if (_layoutCorreto)
                {
                    int contadorLinha = 1;

                    FonteDeDadosOld BancoDeDadosDestino  = new FonteDeDadosOld(TipoFonteDados.SQLServer, _servidorBD, _nomeBD, _loginDB, _senhaDB);
                    FonteDeDadosOld PlanilhaStatusReport = new FonteDeDadosOld(TipoFonteDados.Excel, _caminhoArquivo, "[Status Report Geral]", "", "");
                    DataTableReader dtrExcelStatusReport = PlanilhaStatusReport.NewReader("Select * from [Status Report Geral$]");

                    while (dtrExcelStatusReport.Read())
                    {
                        //Na primeira linha vou obter a data do arquivo.
                        if (contadorLinha == 1)
                        {
                            _dataHoraImportcao = dtrExcelStatusReport[1].ToString();

                            //Insere os dados de registro do arquivo
                            BancoDeDadosDestino.ExecuteSemRetonro(PreparaInsertArquivo());

                            DataTableReader dtrExcelIDArquivo = BancoDeDadosDestino.NewReader("SELECT MAX(ID_ARQUIVO) FROM TAB_RUNRUNIT_STATUS_REPORT_ARQUIVO");


                            dtrExcelIDArquivo.Read();

                            _idTabelaArquivo = int.Parse(dtrExcelIDArquivo[0].ToString());
                        }

                        if (contadorLinha > 3)
                        {
                            //o conteúdo do arquvo começa efetivamente na linha 4
                            //Cada linha será lida e os valores armazenados nos atributos indicados

                            _cliente                     = dtrExcelStatusReport[0].ToString();
                            _projeto                     = dtrExcelStatusReport[1].ToString();
                            _id                          = dtrExcelStatusReport[2].ToString();
                            _prio                        = dtrExcelStatusReport[3].ToString();
                            _tarefa                      = dtrExcelStatusReport[4].ToString().Replace("'", "");
                            _tipo_de_tarefa              = dtrExcelStatusReport[5].ToString();
                            _aberta_por                  = dtrExcelStatusReport[6].ToString();
                            _criada_em                   = dtrExcelStatusReport[7].ToString();
                            _para                        = dtrExcelStatusReport[8].ToString();
                            _equipe                      = dtrExcelStatusReport[9].ToString();
                            _data_desejada               = dtrExcelStatusReport[10].ToString();
                            _entrega_estimada            = dtrExcelStatusReport[11].ToString();
                            _entregue_em                 = dtrExcelStatusReport[12].ToString();
                            _esforço_estimado_h          = dtrExcelStatusReport[13].ToString();
                            _primeiro_esforço_estimado_h = dtrExcelStatusReport[14].ToString();
                            _ja_trabalhadas_h            = dtrExcelStatusReport[15].ToString();
                            _percentual                  = dtrExcelStatusReport[16].ToString();
                            _fase                        = dtrExcelStatusReport[17].ToString();
                            _status                      = dtrExcelStatusReport[18].ToString();
                            _Reaberta                    = dtrExcelStatusReport[19].ToString();

                            _ano     = _criada_em.Substring(6, 4);
                            _mes     = _criada_em.Substring(3, 2);
                            _dia     = _criada_em.Substring(0, 2);
                            _hora    = _criada_em.Substring(11, 2);
                            _minuto  = _criada_em.Substring(14, 2);
                            _segundo = _criada_em.Substring(17, 2);

                            DeterminaTipoProjetoETarefa();

                            BancoDeDadosDestino.ExecuteSemRetonro(PreparaInsertDetalhe());
                        }

                        contadorLinha += 1;
                    }
                    //Finalizando a importação, faz o processamento da analise.
                    //Idéia:    Hoje a alimentação da tabela de anlise é feita via procedure
                    //          posteriormente, quero fazer via C#, criando assim, independencia do BD.

                    BancoDeDadosDestino.ExecuteSemRetonro("PROC_GERA_ANALISE_STATUS_REPORT");
                }
                else
                {
                    throw new Exception("Layout do arquivo inválido!");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// A validação será "superficial" apenas o dado da primeira célula será validado, inicialmente.
        /// </summary>
        private void ValidaLayout()
        {
            try
            {

                FonteDeDadosOld PlanilhaStatusReport = new FonteDeDadosOld(TipoFonteDados.Excel, _caminhoArquivo, "[Status Report Geral]", "", "");
                DataTableReader dtrExcelStatusReport = PlanilhaStatusReport.NewReader("Select * from [Status Report Geral$]");

                if (dtrExcelStatusReport != null)
                {

                    dtrExcelStatusReport.Read();

                    String ValorPrimeiraCelula = dtrExcelStatusReport[0].ToString();

                    if (ValorPrimeiraCelula.Equals("Relatório gerado em:"))
                    {
                        _layoutCorreto = true;
                    }
                    else
                    {

                        _layoutCorreto = false;
                    }
                }
                else
                {

                    _layoutCorreto = false;

                }
            }
            catch (Exception ex)
            {
                ///todo
                throw ex;

            }
        }
        public void ImportarParaDB()
        {
            try
            {

                //Faz a validação parcial do layout
                ValidaLayout();

                if (_layoutCorreto)
                {
                    int contadorLinha = 1;

                    FonteDeDadosOld BancoDeDadosDestino = new FonteDeDadosOld(TipoFonteDados.SQLServer, _servidorBD, _nomeBD, _loginDB, _senhaDB);
                    FonteDeDadosOld PlanilhaStatusReport = new FonteDeDadosOld(TipoFonteDados.Excel, _caminhoArquivo, "[Status Report Geral]", "", "");
                    DataTableReader dtrExcelStatusReport = PlanilhaStatusReport.NewReader("Select * from [Status Report Geral$]");

                    while (dtrExcelStatusReport.Read())
                    {
                        //Na primeira linha vou obter a data do arquivo.
                        if (contadorLinha == 1)
                        {

                            _dataHoraImportcao = dtrExcelStatusReport[1].ToString();

                            //Insere os dados de registro do arquivo
                            BancoDeDadosDestino.ExecuteSemRetonro(PreparaInsertArquivo());

                            DataTableReader dtrExcelIDArquivo = BancoDeDadosDestino.NewReader("SELECT MAX(ID_ARQUIVO) FROM TAB_RUNRUNIT_STATUS_REPORT_ARQUIVO");

                            dtrExcelIDArquivo.Read();

                            _idTabelaArquivo = int.Parse(dtrExcelIDArquivo[0].ToString());

                        }

                        if (contadorLinha > 3)
                        {
                            //o conteúdo do arquvo começa efetivamente na linha 4
                            //Cada linha será lida e os valores armazenados nos atributos indicados

                            _cliente = dtrExcelStatusReport[0].ToString();
                            _projeto = dtrExcelStatusReport[1].ToString();
                            _id = dtrExcelStatusReport[2].ToString();
                            _prio = dtrExcelStatusReport[3].ToString();
                            _tarefa = dtrExcelStatusReport[4].ToString().Replace("'", "");
                            _tipo_de_tarefa = dtrExcelStatusReport[5].ToString();
                            _aberta_por = dtrExcelStatusReport[6].ToString();
                            _criada_em = dtrExcelStatusReport[7].ToString();
                            _para = dtrExcelStatusReport[8].ToString();
                            _equipe = dtrExcelStatusReport[9].ToString();
                            _data_desejada = dtrExcelStatusReport[10].ToString();
                            _entrega_estimada = dtrExcelStatusReport[11].ToString();
                            _entregue_em = dtrExcelStatusReport[12].ToString();
                            _esforço_estimado_h = dtrExcelStatusReport[13].ToString();
                            _primeiro_esforço_estimado_h = dtrExcelStatusReport[14].ToString();
                            _ja_trabalhadas_h = dtrExcelStatusReport[15].ToString();
                            _percentual = dtrExcelStatusReport[16].ToString();
                            _fase = dtrExcelStatusReport[17].ToString();
                            _status = dtrExcelStatusReport[18].ToString();
                            _Reaberta = dtrExcelStatusReport[19].ToString();

                            _ano = _criada_em.Substring(6, 4);
                            _mes = _criada_em.Substring(3, 2);
                            _dia = _criada_em.Substring(0, 2);
                            _hora = _criada_em.Substring(11, 2);
                            _minuto = _criada_em.Substring(14, 2);
                            _segundo = _criada_em.Substring(17, 2);

                            DeterminaTipoProjetoETarefa();

                            BancoDeDadosDestino.ExecuteSemRetonro(PreparaInsertDetalhe());

                        }

                        contadorLinha += 1;

                    }
                    //Finalizando a importação, faz o processamento da analise.
                    //Idéia:    Hoje a alimentação da tabela de anlise é feita via procedure
                    //          posteriormente, quero fazer via C#, criando assim, independencia do BD.

                    BancoDeDadosDestino.ExecuteSemRetonro("PROC_GERA_ANALISE_STATUS_REPORT");

                }
                else
                {
                    throw new Exception("Layout do arquivo inválido!");
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }