예제 #1
0
        public bool InserirAlunos(string[] ra, string[] nomes, ref string registros_identicos)
        {
            bool status = false;
            int  qtde_registros_identicos = 0;

            string[] ra_alunos   = new string[ra.Length];
            string[] nome_alunos = new string[nomes.Length];
            string[] ra_aux      = new string[ra_alunos.Length];
            string[] nome_aux    = new string[nome_alunos.Length];
            for (int i = 0; i < ra.Length; i++)
            {
                ra_alunos[i]   = ra[i];
                nome_alunos[i] = nomes[i];
            }

            NpgsqlConnection con   = new NpgsqlConnection();
            ConexaoBanco     conex = new ConexaoBanco();
            NpgsqlCommand    cmd   = new NpgsqlCommand();

            try
            {
                con            = conex.abrirConexao();
                cmd.Connection = con;
                string nome  = "";
                string ra_al = "";
                for (int i = 0; i < ra_alunos.Length; i++)
                {
                    ra_al           = ra_alunos[i];
                    nome            = nome_alunos[i];
                    cmd.CommandText = "select * from alunos where ra = @ra and nomealuno = @nome";
                    cmd.Parameters.AddWithValue("@ra", ra_al);
                    cmd.Parameters.AddWithValue("@nome", nome);
                    NpgsqlDataReader dr = cmd.ExecuteReader();
                    if (!dr.Read())
                    {
                        ra_aux[i]   = ra_al;
                        nome_aux[i] = nome;
                    }
                    else
                    {
                        ra_aux[i]   = "";
                        nome_aux[i] = "";
                        qtde_registros_identicos++;
                    }
                    ra_al = "";
                    nome  = "";
                    cmd.Parameters.Clear();
                    dr.Close();
                }
                con.Close();
                if (qtde_registros_identicos != ra_aux.Length)
                {
                    con.Open();
                    for (int i = 0; i < ra_aux.Length; i++)
                    {
                        if (!ra_aux[i].Equals(""))
                        {
                            cmd.Parameters.Clear();
                            cmd.CommandText = "insert into alunos (ra,nomealuno,emailaluno,semestre,dataprecarregamento,datacadastro,dataconclusao,datavalidadealuno,fk_idusuario,ativonosistema) values (@ra,@nome,null,null,null,null,null,null,null,0)";
                            cmd.Parameters.AddWithValue("@ra", ra_aux[i]);
                            cmd.Parameters.AddWithValue("@nome", nome_aux[i]);
                            cmd.ExecuteScalar();
                        }
                    }
                    status = true;
                }
                else
                {
                    registros_identicos = "Não há novos registros para inserir!";
                }
            }
            catch (Exception)
            {
                status = false;
            }
            con.Close();
            cmd.Dispose();
            return(status);
        }