예제 #1
0
        public DTOManterTurma CounsultaTurma(string idChaveExternaTurma, string idChaveExternaOferta, AuthenticationProviderRequest pAutenticacao)
        {
            DTOManterTurma result = null;

            try
            {
                this.RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor()
                {
                    Login = pAutenticacao.Login
                }).FirstOrDefault(),
                                                    "CounsultaTurma");

                using (BMTurma turmaBM = new BMTurma())
                {
                    Turma turma = turmaBM.ObterTurmaPorFornecedoreOferta(pAutenticacao.Login, idChaveExternaTurma, idChaveExternaOferta);

                    if (turma == null)
                    {
                        throw new AcademicoException("Turma não encontrada");
                    }

                    result = new DTOManterTurma()
                    {
                        DataFinal           = turma.DataFinal,
                        DataInicio          = turma.DataInicio,
                        IDChaveExternaTurma = turma.IDChaveExterna,
                        Local                = turma.Local,
                        NomedaTurma          = turma.Nome,
                        TipoTutoria          = turma.TipoTutoria,
                        NomeProfessor        = turma.Professor != null ? turma.Professor.Nome : string.Empty,
                        CPFProfessor         = turma.Professor != null ? turma.Professor.Cpf : string.Empty,
                        EmailProfessor       = turma.Professor != null ? turma.Professor.Email : string.Empty,
                        QuantideInscritos    = turma.ListaMatriculas.Count,
                        IDChaveExternaOferta = turma.Oferta.IDChaveExterna
                    };
                }
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }

            return(result);
        }
예제 #2
0
        public void ManterCadastroTurma(DTOManterTurma pTurma, AuthenticationProviderRequest pAutenticacao)
        {
            try
            {
                ValidarCamposObrigatoriosTurma(pTurma);

                this.RegistrarLogExecucaoFornecedor((new BMFornecedor()).ObterPorFiltro(new Fornecedor()
                {
                    Login = pAutenticacao.Login
                }).FirstOrDefault(),
                                                    "CadastrarTurma");


                using (BMTurma turmaBM = new BMTurma())
                {
                    Turma turma = turmaBM.ObterTurmaPorFornecedoreOferta(pAutenticacao.Login, pTurma.IDChaveExternaTurma, pTurma.IDChaveExternaOferta);

                    if (turma == null)
                    {
                        turma = new Turma();
                        turma.IDChaveExterna = pTurma.IDChaveExternaTurma;
                        turma.Oferta         = (new BMOferta()).ObterOfertaPorFornecedor(pAutenticacao.Login, pTurma.IDChaveExternaOferta);
                        if (turma.Oferta == null)
                        {
                            throw new AcademicoException("Oferta não encontrada na base de dados");
                        }
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(pTurma.IDChaveExternaTurmaNova))
                        {
                            turma.IDChaveExterna = pTurma.IDChaveExternaTurmaNova;
                        }
                    }

                    turma.Local       = pTurma.Local;
                    turma.Nome        = pTurma.NomedaTurma;
                    turma.TipoTutoria = pTurma.TipoTutoria;
                    turma.DataInicio  = pTurma.DataInicio;
                    turma.DataFinal   = pTurma.DataFinal;
                    turma.InAberta    = true;

                    if (!string.IsNullOrEmpty(pTurma.NomeProfessor))
                    {
                        turma.Professor = (new BMProfessor()).ObterPorFiltros(new Professor()
                        {
                            Nome = pTurma.NomeProfessor
                        }).FirstOrDefault();
                    }
                    else
                    {
                        turma.Professor = null;
                    }

                    if (pTurma.IDQuestionarioPre > 0)
                    {
                        AdicionarQuestionarioATurma(turma, pTurma.IDQuestionarioPre, enumTipoQuestionarioAssociacao.Pre);
                    }

                    if (pTurma.IDQuestionarioPos > 0)
                    {
                        AdicionarQuestionarioATurma(turma, pTurma.IDQuestionarioPos, enumTipoQuestionarioAssociacao.Pos);
                    }

                    if (pTurma.IDQuestionarioProva > 0)
                    {
                        AdicionarQuestionarioATurma(turma, pTurma.IDQuestionarioProva, enumTipoQuestionarioAssociacao.Prova);
                    }

                    turma.Auditoria = new Auditoria(pAutenticacao.Login);

                    turmaBM.Salvar(turma);
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }