예제 #1
0
        private void btnSalvarMatricula_Click(object sender, EventArgs e)
        {
            List <Matriculado> matriculados = new List <Matriculado>();

            try
            {
                foreach (DataGridViewRow row in dgvMatriculados.Rows)
                {
                    if (row.Index != (dgvMatriculados.Rows.Count - 1))
                    {
                        //BUSCANDO O ID DO ALUNO AINDA NÃO MATRICULADO
                        string rg      = dgvMatriculados.Rows[row.Index].Cells["RG"].Value.ToString();
                        int    idAluno = db.Alunos.Where(x => x.Rg == rg).Select(y => y.Id).FirstOrDefault();

                        //BUSCANDO O ID DA TURMA
                        string idTurma = dgvMatriculados.Rows[row.Index].Cells["IdTurma"].Value.ToString();
                        int    idT     = db.Turmas.Where(x => x.IDTurma == idTurma).Select(y => y.Id).FirstOrDefault();

                        Matriculado matriculado = new Matriculado(idAluno, DateTime.Now.Date);
                        matriculado.IdTurma = idT;

                        if (db.Matriculados.Where(x => x.IdAluno == matriculado.IdAluno && x.IdTurma == matriculado.IdTurma).Any())
                        {
                            string nome = dgvMatriculados.Rows[row.Index].Cells["Nome"].Value.ToString();
                            string msg  = string.Concat("Aluno '", nome, "'", " já matriculado", " na Turma ", idTurma, ".");

                            MessageBox.Show(msg, "Controle de Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else if (matriculado.Cadastrar())
                        {
                            matriculados.Add(matriculado);
                        }
                    }
                }

                if (matriculados.Count == 1)
                {
                    MessageBox.Show("Aluno(a) matriculado com sucesso!", "Controle de Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else if (matriculados.Count > 1)
                {
                    MessageBox.Show("Aluno(a)s matriculado com sucesso!", "Controle de Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        /// <summary>
        /// Método que busca alunos do gridView e faz chamada de cadastro
        /// </summary>
        /// <param name="idResponsavel">Número de matrícula (Id) do Responsável pelo aluno.</param>
        /// <returns></returns>
        private List <Matriculado> GetAlunos(int idTurma)
        {
            List <Matriculado> matriculados = new List <Matriculado>();

            try
            {
                foreach (DataGridViewRow row in dgvMatriculados.Rows)
                {
                    if (row.Index != (dgvMatriculados.Rows.Count - 1))
                    {
                        string nome = dgvAlunos.Rows[row.Index].Cells["Nome"].Value.ToString();

                        string rg      = dgvAlunos.Rows[row.Index].Cells["RG"].Value.ToString();
                        int    idAluno = db.Alunos.Where(x => x.Rg == rg).Select(y => y.Id).FirstOrDefault();

                        Matriculado matriculado = new Matriculado(idAluno, DateTime.Now.Date);
                        matriculado.IdTurma = idTurma;

                        if (!db.Matriculados.Where(x => x.IdAluno == matriculado.IdAluno && x.IdTurma == idTurma).Any())
                        {
                            matriculado.Cadastrar();
                            matriculados.Add(matriculado);
                        }
                    }
                }

                if (matriculados.Count == 1)
                {
                    MessageBox.Show("Aluno(a) matriculado com sucesso!", "Controle de Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else if (matriculados.Count > 1)
                {
                    MessageBox.Show("Aluno(a)s matriculado com sucesso!", "Controle de Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            return(matriculados);
        }