public void Alterar(ResponsavelAluno responsavelAluno)
        {
            try
            {
                ResponsavelAluno responsavelAlunoAux = new ResponsavelAluno();
                responsavelAlunoAux.ID = responsavelAluno.ID;

                List<ResponsavelAluno> resultado = this.Consultar(responsavelAlunoAux, TipoPesquisa.E);

                if (resultado == null || resultado.Count == 0)
                    throw new ResponsavelAlunoNaoAlteradoExcecao();

                responsavelAlunoAux = resultado[0];

                responsavelAlunoAux.AlunoID = responsavelAluno.AlunoID;
                responsavelAlunoAux.ResponsavelID = responsavelAluno.ResponsavelID;
                responsavelAlunoAux.GrauParentesco = responsavelAluno.GrauParentesco;
                responsavelAlunoAux.ResideCom = responsavelAluno.ResideCom;
                responsavelAlunoAux.ResponsavelID = responsavelAluno.ResponsavelID;
                responsavelAlunoAux.Restricoes = responsavelAluno.Restricoes;
                responsavelAlunoAux.Status = responsavelAluno.Status;

            }
            catch (Exception)
            {

                throw new ResponsavelAlunoNaoAlteradoExcecao();
            }
        }
        public void Alterar(ResponsavelAluno responsavelAluno)
        {
            try
            {
                ResponsavelAluno responsavelAlunoAux = new ResponsavelAluno();
                responsavelAlunoAux.ID = responsavelAluno.ID;

                List <ResponsavelAluno> resultado = this.Consultar(responsavelAlunoAux, TipoPesquisa.E);

                if (resultado == null || resultado.Count == 0)
                {
                    throw new ResponsavelAlunoNaoAlteradoExcecao();
                }

                responsavelAlunoAux = resultado[0];

                responsavelAlunoAux.AlunoID        = responsavelAluno.AlunoID;
                responsavelAlunoAux.ResponsavelID  = responsavelAluno.ResponsavelID;
                responsavelAlunoAux.GrauParentesco = responsavelAluno.GrauParentesco;
                responsavelAlunoAux.ResideCom      = responsavelAluno.ResideCom;
                responsavelAlunoAux.ResponsavelID  = responsavelAluno.ResponsavelID;
                responsavelAlunoAux.Restricoes     = responsavelAluno.Restricoes;
                responsavelAlunoAux.Status         = responsavelAluno.Status;
            }
            catch (Exception)
            {
                throw new ResponsavelAlunoNaoAlteradoExcecao();
            }
        }
        public void Excluir(ResponsavelAluno responsavelAluno)
        {
            try
            {
                if (responsavelAluno.ID == 0)
                {
                    throw new ResponsavelAlunoNaoExcluidoExcecao();
                }

                List <ResponsavelAluno> resultado = responsavelAlunoRepositorio.Consultar(responsavelAluno, TipoPesquisa.E);

                if (resultado == null || resultado.Count <= 0 || resultado.Count > 1)
                {
                    throw new ResponsavelAlunoNaoExcluidoExcecao();
                }

                resultado[0].Status = (int)Status.Inativo;
                this.Alterar(resultado[0]);
            }
            catch (Exception e)
            {
                throw e;
            }
            //this.responsavelAlunoRepositorio.Excluir(responsavelAluno);
        }
 public void Incluir(ResponsavelAluno responsavelAluno)
 {
     try
     {
         db.ResponsavelAluno.InsertOnSubmit(responsavelAluno);
     }
     catch (Exception)
     {
         throw new ResponsavelAlunoNaoIncluidoExcecao();
     }
 }
Beispiel #5
0
 public bool Put(int id, ResponsavelAluno obj)
 {
     try
     {
         throw new NotImplementedException();
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #6
0
 public bool Put(int id, ResponsavelAluno obj)
 {
     try
     {
         return(dados.Put(id, obj));
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #7
0
 public bool Post(ResponsavelAluno obj)
 {
     try
     {
         return(dados.Post(obj));
     }
     catch (Exception)
     {
         throw;
     }
 }
        private void CarregarGrid()
        {
            IResponsavelAlunoProcesso processo = ResponsavelAlunoProcesso.Instance;

            dgvResponsavelAluno.AutoGenerateColumns = false;
            ResponsavelAluno responsavelAluno = new ResponsavelAluno();

            responsavelAluno.AlunoID = Memoria.Instance.Aluno.ID;
            responsavelAluno.Status  = (int)Status.Ativo;
            dgvResponsavelAluno.AutoGenerateColumns = false;
            dgvResponsavelAluno.DataSource          = processo.Consultar(responsavelAluno, Negocios.ModuloBasico.Enums.TipoPesquisa.E);;
        }
        public void Excluir(ResponsavelAluno responsavelAluno)
        {
            try
            {
                ResponsavelAluno responsavelAlunoAux = new ResponsavelAluno();
                responsavelAlunoAux.ID = responsavelAluno.ID;


                List <ResponsavelAluno> resultado = this.Consultar(responsavelAlunoAux, TipoPesquisa.E);

                if (resultado == null || resultado.Count == 0)
                {
                    throw new ResponsavelAlunoNaoExcluidoExcecao();
                }

                responsavelAlunoAux = resultado[0];

                db.ResponsavelAluno.DeleteOnSubmit(responsavelAlunoAux);
            }
            catch (Exception)
            {
                throw new ResponsavelAlunoNaoExcluidoExcecao();
            }
        }
 private void CarregarGrid()
 {
     IResponsavelAlunoProcesso processo = ResponsavelAlunoProcesso.Instance;
     dgvResponsavelAluno.AutoGenerateColumns = false;
     ResponsavelAluno responsavelAluno = new ResponsavelAluno();
     responsavelAluno.AlunoID = Memoria.Instance.Aluno.ID;
     responsavelAluno.Status = (int)Status.Ativo;
     dgvResponsavelAluno.AutoGenerateColumns = false;
     dgvResponsavelAluno.DataSource = processo.Consultar(responsavelAluno, Negocios.ModuloBasico.Enums.TipoPesquisa.E); ;
 }
 public void Incluir(ResponsavelAluno responsavelAluno)
 {
     this.responsavelAlunoRepositorio.Incluir(responsavelAluno);
 }
        /// <summary>
        /// Método responsável por carregar o Combo com os alunos disponíveis.
        /// </summary>
        /// <param name="removerAlunos">informa se é necessário remover os alunos</param>
        private void CarregarCombo(bool removerAlunos)
        {
            if (Memoria.Instance.Aluno != null)
            {

                IResponsavelAlunoProcesso processo = ResponsavelAlunoProcesso.Instance;
                ResponsavelAluno responsavelAluno = new ResponsavelAluno();
                responsavelAluno.AlunoID = Memoria.Instance.Aluno.ID;
                responsavelAluno.Status = (int)Status.Ativo;

                List<ResponsavelAluno> resultado = processo.Consultar(responsavelAluno, Negocios.ModuloBasico.Enums.TipoPesquisa.E);
                List<ResponsavelAluno> listaCombo = new List<ResponsavelAluno>();
                responsavelAluno.AlunoID = 0;
                alunos = new List<Aluno>();
                foreach (ResponsavelAluno ra in resultado)
                {
                    responsavelAluno.ResponsavelID = ra.ResponsavelID;
                    listaCombo.AddRange(processo.Consultar(responsavelAluno, TipoPesquisa.E));
                }

                listaCombo.RemoveAll(delegate(ResponsavelAluno ra)
                {
                    return ra.AlunoID == Memoria.Instance.Aluno.ID;
                });

                for (int i = 0; i < listaCombo.Count; i++)
                {
                    for (int j = i; j < listaCombo.Count; j++)
                    {
                        if (listaCombo[i].AlunoID == listaCombo[j].AlunoID && i != j)
                        {
                            listaCombo.RemoveAt(i);
                            i = 0;
                            j = 0;
                        }
                    }

                }
                foreach (ResponsavelAluno ra in listaCombo)
                {
                    alunos.Add(ra.Aluno);
                }
                List<MatriculaVinculo> mvm;
                List<MatriculaVinculo> mvd;
                if (removerAlunos)
                {
                    for (int i = 0; i < alunos.Count; i++)
                    {
                        mvm = VerificarMatriculaMestre(alunos[i]);
                        mvd = VerificarMatriculaDependente(alunos[i]);
                        mvd.RemoveAll(delegate(MatriculaVinculo mv)
                           {
                               return mv.MatriculaMestreID == Memoria.Instance.Matricula.ID;
                           });
                        if (mvd.Count > 0 || mvm.Count > 0)
                        {
                            alunos.RemoveAt(i);
                            i = -1;
                        }

                    }
                }
                var lista = from a in alunos
                            orderby a.Nome
                            select a;
                ExibirCombo(lista.ToList());
            }
        }
        public List<ResponsavelAluno> Consultar(ResponsavelAluno responsavelAluno, TipoPesquisa tipoPesquisa)
        {
            List<ResponsavelAluno> resultado = Consultar();

            switch (tipoPesquisa)
            {
                #region Case E
                case TipoPesquisa.E:
                    {
                        if (responsavelAluno.ID != 0)
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.ID == responsavelAluno.ID
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.AlunoID != 0)
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.AlunoID == responsavelAluno.AlunoID
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.Aluno != null && !string.IsNullOrEmpty(responsavelAluno.Aluno.Nome))
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.Aluno.Nome.Contains(responsavelAluno.Aluno.Nome)
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.Responsavel != null && !string.IsNullOrEmpty(responsavelAluno.Responsavel.Nome))
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.Responsavel.Nome.Contains(responsavelAluno.Responsavel.Nome)
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.ResponsavelID != 0)
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.ResponsavelID == responsavelAluno.ResponsavelID
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (!string.IsNullOrEmpty(responsavelAluno.Restricoes))
                        {

                            resultado = ((from ra in resultado
                                          where
                                           ra.Restricoes!=null && ra.Restricoes.Contains(responsavelAluno.Restricoes)
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.Status.HasValue)
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.Status.HasValue && ra.Status.Value == responsavelAluno.Status.Value
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.ResideCom.HasValue)
                        {

                            resultado = ((from ra in resultado
                                          where
                                          ra.ResideCom.HasValue && ra.ResideCom.Value == responsavelAluno.ResideCom.Value
                                          select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        break;
                    }
                #endregion
                #region Case Ou
                case TipoPesquisa.Ou:
                    {
                        if (responsavelAluno.ID != 0)
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.ID == responsavelAluno.ID
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.Aluno != null && !string.IsNullOrEmpty(responsavelAluno.Aluno.Nome))
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.Aluno.Nome.Contains(responsavelAluno.Aluno.Nome)
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.Responsavel != null && !string.IsNullOrEmpty(responsavelAluno.Responsavel.Nome))
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.Responsavel.Nome.Contains(responsavelAluno.Responsavel.Nome)
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.AlunoID != 0)
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.AlunoID == responsavelAluno.AlunoID
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.ResponsavelID != 0)
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.ResponsavelID == responsavelAluno.ResponsavelID
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (!string.IsNullOrEmpty(responsavelAluno.Restricoes))
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.Restricoes!= null && ra.Restricoes.Contains(responsavelAluno.Restricoes)
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.Status.HasValue)
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.Status.HasValue && ra.Status.Value == responsavelAluno.Status.Value
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        if (responsavelAluno.ResideCom.HasValue)
                        {

                            resultado.AddRange((from ra in Consultar()
                                                where
                                                ra.ResideCom.HasValue && ra.ResideCom.Value == responsavelAluno.ResideCom.Value
                                                select ra).ToList());

                            resultado = resultado.Distinct().ToList();
                        }

                        break;
                    }
                #endregion
                default:
                    break;
            }

            return resultado;
        }
        public void Incluir(ResponsavelAluno responsavelAluno)
        {
            try
            {
                db.ResponsavelAluno.InsertOnSubmit(responsavelAluno);
            }
            catch (Exception)
            {

                throw new ResponsavelAlunoNaoIncluidoExcecao();
            }
        }
        public void Excluir(ResponsavelAluno responsavelAluno)
        {
            try
            {
                ResponsavelAluno responsavelAlunoAux = new ResponsavelAluno();
                responsavelAlunoAux.ID = responsavelAluno.ID;

                List<ResponsavelAluno> resultado = this.Consultar(responsavelAlunoAux, TipoPesquisa.E);

                if (resultado == null || resultado.Count == 0)
                    throw new ResponsavelAlunoNaoExcluidoExcecao();

                responsavelAlunoAux = resultado[0];

                db.ResponsavelAluno.DeleteOnSubmit(responsavelAlunoAux);
            }
            catch (Exception)
            {

                throw new ResponsavelAlunoNaoExcluidoExcecao();
            }
        }
        public List <ResponsavelAluno> Consultar(ResponsavelAluno responsavelAluno, TipoPesquisa tipoPesquisa)
        {
            List <ResponsavelAluno> resultado = Consultar();

            switch (tipoPesquisa)
            {
                #region Case E
            case TipoPesquisa.E:
            {
                if (responsavelAluno.ID != 0)
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.ID == responsavelAluno.ID
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.AlunoID != 0)
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.AlunoID == responsavelAluno.AlunoID
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.Aluno != null && !string.IsNullOrEmpty(responsavelAluno.Aluno.Nome))
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.Aluno.Nome.Contains(responsavelAluno.Aluno.Nome)
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.Responsavel != null && !string.IsNullOrEmpty(responsavelAluno.Responsavel.Nome))
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.Responsavel.Nome.Contains(responsavelAluno.Responsavel.Nome)
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.ResponsavelID != 0)
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.ResponsavelID == responsavelAluno.ResponsavelID
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }



                if (!string.IsNullOrEmpty(responsavelAluno.Restricoes))
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.Restricoes != null && ra.Restricoes.Contains(responsavelAluno.Restricoes)
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.Status.HasValue)
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.Status.HasValue && ra.Status.Value == responsavelAluno.Status.Value
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.ResideCom.HasValue)
                {
                    resultado = ((from ra in resultado
                                  where
                                  ra.ResideCom.HasValue && ra.ResideCom.Value == responsavelAluno.ResideCom.Value
                                  select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }


                break;
            }

                #endregion
                #region Case Ou
            case TipoPesquisa.Ou:
            {
                if (responsavelAluno.ID != 0)
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.ID == responsavelAluno.ID
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.Aluno != null && !string.IsNullOrEmpty(responsavelAluno.Aluno.Nome))
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.Aluno.Nome.Contains(responsavelAluno.Aluno.Nome)
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.Responsavel != null && !string.IsNullOrEmpty(responsavelAluno.Responsavel.Nome))
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.Responsavel.Nome.Contains(responsavelAluno.Responsavel.Nome)
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.AlunoID != 0)
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.AlunoID == responsavelAluno.AlunoID
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.ResponsavelID != 0)
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.ResponsavelID == responsavelAluno.ResponsavelID
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }



                if (!string.IsNullOrEmpty(responsavelAluno.Restricoes))
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.Restricoes != null && ra.Restricoes.Contains(responsavelAluno.Restricoes)
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.Status.HasValue)
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.Status.HasValue && ra.Status.Value == responsavelAluno.Status.Value
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }

                if (responsavelAluno.ResideCom.HasValue)
                {
                    resultado.AddRange((from ra in Consultar()
                                        where
                                        ra.ResideCom.HasValue && ra.ResideCom.Value == responsavelAluno.ResideCom.Value
                                        select ra).ToList());

                    resultado = resultado.Distinct().ToList();
                }


                break;
            }

                #endregion
            default:
                break;
            }

            return(resultado);
        }
 private void ResponsavelAluno_Attach(ResponsavelAluno entity)
 {
     entity.Aluno = this;
 }
 public void Alterar(ResponsavelAluno responsavelAluno)
 {
     this.responsavelAlunoRepositorio.Alterar(responsavelAluno);
 }
        private void ucMenuInferior1_EventoCadastrar()
        {
            try
            {
                if (Memoria.Instance.Aluno != null)
                {
                    #region VALIDA - RESPONSAVEL

                    if (Memoria.Instance.Responsavel == null || Memoria.Instance.Responsavel.ID <= 0)
                    {
                        errorProviderTela.SetError(btnPesquisar, "Informe o responsável");
                        return;
                    }
                    #endregion

                    #region VALIDA - GRAU PARENTESCO

                    if (string.IsNullOrEmpty(cmbGrauParentesco.Text) || cmbGrauParentesco.Text.ToLower().Equals("selecione"))
                    {
                        errorProviderTela.SetError(cmbGrauParentesco, "Informe o Grau de Parentesco");
                        return;
                    }

                    #endregion


                    IResponsavelAlunoProcesso processo         = ResponsavelAlunoProcesso.Instance;
                    ResponsavelAluno          responsavelAluno = new ResponsavelAluno();
                    responsavelAluno.Status        = (int)Status.Ativo;
                    responsavelAluno.AlunoID       = Memoria.Instance.Aluno.ID;
                    responsavelAluno.ResponsavelID = Memoria.Instance.Responsavel.ID;

                    responsavelAluno.GrauParentesco = cmbGrauParentesco.Text;
                    if (!ckbResideCom.Checked)
                    {
                        responsavelAluno.ResideCom = 0;
                    }
                    else
                    {
                        responsavelAluno.ResideCom = 1;
                    }
                    responsavelAluno.Restricoes = txtRestricoes.Text;

                    switch (Memoria.Instance.StatusTelaAlunoResponsavelBusca)
                    {
                    case OperacoesDaTela.Incluir:
                    {
                        if (processo.Consultar(responsavelAluno, Negocios.ModuloBasico.Enums.TipoPesquisa.E).Count > 0)
                        {
                            throw new Exception("Responsável já vinculado ao Aluno.");
                        }
                        processo.Incluir(responsavelAluno);
                        processo.Confirmar();
                        break;
                    }

                    case OperacoesDaTela.Alterar:
                    {
                        responsavelAluno.ID = ((List <ResponsavelAluno>)dgvResponsavelAluno.DataSource)[dgvResponsavelAluno.CurrentRow.Index].ID;
                        processo.Alterar(responsavelAluno);
                        processo.Confirmar();
                        break;
                    }
                    }
                    Atualizar();
                }
                Memoria.Instance.StatusTelaAlunoResponsavelBusca = OperacoesDaTela.Navegar;
                AjustarBotoes();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public List <ResponsavelAluno> Consultar(ResponsavelAluno responsavelAluno, TipoPesquisa tipoPesquisa)
        {
            List <ResponsavelAluno> responsavelAlunoList = this.responsavelAlunoRepositorio.Consultar(responsavelAluno, tipoPesquisa);

            return(responsavelAlunoList);
        }
        private void ucMenuInferior1_EventoCadastrar()
        {
            try
            {

                if (Memoria.Instance.Aluno != null)
                {

                    #region VALIDA - RESPONSAVEL

                    if (Memoria.Instance.Responsavel == null || Memoria.Instance.Responsavel.ID <= 0)
                    {
                        errorProviderTela.SetError(btnPesquisar, "Informe o responsável");
                        return;
                    }
                    #endregion

                    #region VALIDA - GRAU PARENTESCO

                    if (string.IsNullOrEmpty(cmbGrauParentesco.Text) || cmbGrauParentesco.Text.ToLower().Equals("selecione"))
                    {
                        errorProviderTela.SetError(cmbGrauParentesco, "Informe o Grau de Parentesco");
                        return;
                    }

                    #endregion

                    IResponsavelAlunoProcesso processo = ResponsavelAlunoProcesso.Instance;
                    ResponsavelAluno responsavelAluno = new ResponsavelAluno();
                    responsavelAluno.Status = (int)Status.Ativo;
                    responsavelAluno.AlunoID = Memoria.Instance.Aluno.ID;
                    responsavelAluno.ResponsavelID = Memoria.Instance.Responsavel.ID;

                    responsavelAluno.GrauParentesco = cmbGrauParentesco.Text;
                    if (!ckbResideCom.Checked)
                        responsavelAluno.ResideCom = 0;
                    else
                        responsavelAluno.ResideCom = 1;
                    responsavelAluno.Restricoes = txtRestricoes.Text;

                    switch (Memoria.Instance.StatusTelaAlunoResponsavelBusca)
                    {
                        case OperacoesDaTela.Incluir:
                            {
                                if (processo.Consultar(responsavelAluno, Negocios.ModuloBasico.Enums.TipoPesquisa.E).Count > 0)
                                {
                                    throw new Exception("Responsável já vinculado ao Aluno.");
                                }
                                processo.Incluir(responsavelAluno);
                                processo.Confirmar();
                                break;
                            }
                        case OperacoesDaTela.Alterar:
                            {
                                responsavelAluno.ID = ((List<ResponsavelAluno>)dgvResponsavelAluno.DataSource)[dgvResponsavelAluno.CurrentRow.Index].ID;
                                processo.Alterar(responsavelAluno);
                                processo.Confirmar();
                                break;
                            }
                    }
                    Atualizar();

                }
                Memoria.Instance.StatusTelaAlunoResponsavelBusca = OperacoesDaTela.Navegar;
                AjustarBotoes();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

            }
        }
 private void ResponsavelAluno_Detach(ResponsavelAluno entity)
 {
     entity.Aluno = null;
 }
        /// <summary>
        /// Método responsável por carregar o Combo com os alunos disponíveis.
        /// </summary>
        /// <param name="removerAlunos">informa se é necessário remover os alunos</param>
        private void CarregarCombo(bool removerAlunos)
        {
            if (Memoria.Instance.Aluno != null)
            {
                IResponsavelAlunoProcesso processo         = ResponsavelAlunoProcesso.Instance;
                ResponsavelAluno          responsavelAluno = new ResponsavelAluno();
                responsavelAluno.AlunoID = Memoria.Instance.Aluno.ID;
                responsavelAluno.Status  = (int)Status.Ativo;

                List <ResponsavelAluno> resultado  = processo.Consultar(responsavelAluno, Negocios.ModuloBasico.Enums.TipoPesquisa.E);
                List <ResponsavelAluno> listaCombo = new List <ResponsavelAluno>();
                responsavelAluno.AlunoID = 0;
                alunos = new List <Aluno>();
                foreach (ResponsavelAluno ra in resultado)
                {
                    responsavelAluno.ResponsavelID = ra.ResponsavelID;
                    listaCombo.AddRange(processo.Consultar(responsavelAluno, TipoPesquisa.E));
                }

                listaCombo.RemoveAll(delegate(ResponsavelAluno ra)
                {
                    return(ra.AlunoID == Memoria.Instance.Aluno.ID);
                });

                for (int i = 0; i < listaCombo.Count; i++)
                {
                    for (int j = i; j < listaCombo.Count; j++)
                    {
                        if (listaCombo[i].AlunoID == listaCombo[j].AlunoID && i != j)
                        {
                            listaCombo.RemoveAt(i);
                            i = 0;
                            j = 0;
                        }
                    }
                }
                foreach (ResponsavelAluno ra in listaCombo)
                {
                    alunos.Add(ra.Aluno);
                }
                List <MatriculaVinculo> mvm;
                List <MatriculaVinculo> mvd;
                if (removerAlunos)
                {
                    for (int i = 0; i < alunos.Count; i++)
                    {
                        mvm = VerificarMatriculaMestre(alunos[i]);
                        mvd = VerificarMatriculaDependente(alunos[i]);
                        mvd.RemoveAll(delegate(MatriculaVinculo mv)
                        {
                            return(mv.MatriculaMestreID == Memoria.Instance.Matricula.ID);
                        });
                        if (mvd.Count > 0 || mvm.Count > 0)
                        {
                            alunos.RemoveAt(i);
                            i = -1;
                        }
                    }
                }
                var lista = from a in alunos
                            orderby a.Nome
                            select a;
                ExibirCombo(lista.ToList());
            }
        }