private void AdicionarOuRemoverTurma(classes.EmailEnvio emailEnvioEdicao) { IList <EmailEnvioPermissao> listaNot = emailEnvioEdicao.ListaPermissao.Where(x => x.Turma != null).ToList(); // Já tinha alguma turma escolhida if (txtTurma.Text != "") { // Se a seleção não conter o valor escolhido, se já estiver não precisa atualizar nada if (!listaNot.Any(x => x.Turma.ID.Equals(int.Parse(txtTurma.Text)))) { BMUsuario bmUsu = new BMUsuario(); Usuario usuarioLogado = bmUsu.ObterUsuarioLogado(); //classes.Turma tur = new classes.Turma(); //tur = new ManterTurma().ObterTurmaPorID(ddlTurma.SelectedItem.Value); ManterTurma mantTurma = new ManterTurma(); classes.Turma tur = mantTurma.ObterTurmaPorID(int.Parse(txtTurma.Text)); emailEnvioEdicao.adicionarTurma(tur, usuarioLogado); emailEnvioEdicao.removerTurmasExceto(tur); } }// Se não selecinou nada mas tem algo no banco limpa else if (listaNot.Count() > 0) { emailEnvioEdicao.removerTurmas(); } }
private static bool PossuiQuestionarioPendente(Usuario usuario, ref DTODisponibilidadeSolucaoEducacional retorno) { var turmasPendentes = new ManterTurma().ObterTurmasPendentes(usuario); if (turmasPendentes.Any()) { Turma primeiraTurma = turmasPendentes.FirstOrDefault(); //Valida se a data da matricula está no ano vigente, caso contrário, não apresenta questionário de abandono. //Verify if the registration date is in current year, otherwise, don't show the abandon quiz. if (!(primeiraTurma.DataFinal.Value.Year < DateTime.Now.Year)) { if ((primeiraTurma = turmasPendentes.FirstOrDefault()) != null) { retorno.CodigoDisponibilidade = (int)enumDisponibilidadeSolucaoEducacional.PendenciaAbandono; retorno.IdTurma = primeiraTurma.ID; // Montar mensagem da pendência, com os plurais caso seja mais de uma turma. retorno.TextoDisponibilidade = string.Format( "Você abandonou a{0} turma{0} no{0} curso{0} \"{1}\", e precisa responder o{0} questionário{0} de abandono para poder se inscrever em qualquer curso.", turmasPendentes.Count() > 1 ? "s" : "", string.Join(", ", turmasPendentes.Select(x => x.Oferta.SolucaoEducacional.Nome))); return(true); } } } return(false); }
private void ObterTurma(int oferta) { var lista = new ManterTurma().ObterTurmasPorOferta(oferta); ViewState["_Turma"] = Helpers.Util.ObterListaAutocomplete(lista); txtTurma.Text = ""; }
protected void Page_Load(object sender, EventArgs e) { int turmaId; if (int.TryParse(Request["Id"], out turmaId)) { var turma = new ManterTurma().ObterTurmaPorID(turmaId); if (turma == null) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Turma inválida. Escolha uma turma.", "ListarTurma.aspx"); return; } nomeTurma.InnerText = turma.Nome; var logResponsaveis = new ManterLogResponsavel().ObterPorTurma(new Dominio.Classes.Turma { ID = turmaId }).ToList(); WebFormHelper.PreencherGrid(logResponsaveis, dgvResponsaveis); var logConsultores = new ManterLogConsultorEducacional().ObterPorTurma(new Dominio.Classes.Turma { ID = turmaId }).ToList(); WebFormHelper.PreencherGrid(logConsultores, dgvConsultores); } else { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Houve um erro na busca do histórico. Tente novamente ou entre em contato com o suporte.", "ListarTurma.aspx"); } }
protected void txtTurma_OnTextChanged(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(txtTurma.Text)) { var idTurma = int.Parse(txtTurma.Text); if (idTurma > 0) { var turmas = new ManterTurma().ObterTodasTurma().Where(x => x.ID == idTurma); var questionariosAssociacaoIDs = turmas .SelectMany(y => y.ListaQuestionarioAssociacao) .Select(z => z.Questionario.ID) .ToList(); var questionariosParticipacaoIDs = turmas .SelectMany(y => y.ListaQuestionarioParticipacao) .Select(z => z.Questionario.ID) .ToList(); var listaProcesso = new ManterEtapa().ObterTodosIQueryable() .Where(x => x.ListaCampos.Any(y => questionariosAssociacaoIDs.Contains(y.Questionario.ID) || questionariosParticipacaoIDs.Contains(y.Questionario.ID))) .Select(z => z.Processo) .OrderBy(y => y.Nome) .ToList(); ViewState["_Demandas"] = Helpers.Util.ObterListaAutocomplete(listaProcesso); } txtDemandas.Text = ""; PreencherComboQuestionario(); } }
public dynamic MatriculaTurma(UserIdentity usuarioLogado, int idTurma, int itemTrilhaId) { var turma = new ManterTurma().ObterTurmaPorID(idTurma); if (turma == null) { throw new ResponseException(enumResponseStatusCode.TurmaNaoEncontrada, "Turma não encontrada"); } var itemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(itemTrilhaId); if (itemTrilha == null) { throw new ResponseException(enumResponseStatusCode.TurmaNaoEncontrada, "Solução não encontrada"); } try { new ManterSolucaoEducacionalService().MatricularTurma(usuarioLogado.Usuario.ID, turma.ID, null, null, usuarioLogado.Usuario.CPF, itemTrilha); } catch (AcademicoException ex) { throw new ResponseException(enumResponseStatusCode.ErroRegraNegocioSgus, ex.Message); } catch { throw new ResponseException(enumResponseStatusCode.ErroRegraNegocioSgus, "Não foi possível realizar a matrícula na turma"); } return(null); }
public RetornoWebService AtualizarStatusTurmas() { var retorno = new RetornoWebService(); var manter = new ManterTurma(); var contador = manter.ObterTodasTurma() .Count( t => t.Status != null && // Vai de Prevista direto para Em andamento. Não concordo, mas o cliente insistiu. (((t.Status == enumStatusTurma.Prevista || t.Status == enumStatusTurma.Confirmada) && t.DataInicio <= DateTime.Now) || (t.Status == enumStatusTurma.EmAndamento && t.DataFinal.HasValue && t.DataFinal.Value < DateTime.Now))); for (int i = 10; i < contador; i += 10) { // Atualiza registros de 10 em 10 int skip = i == 10 ? 0 : i - 10; // Obter todas as turmas cujas datas início ou final são hoje ou anteriores e que possuam status de Confirmada ou Em Andamento. var turmas = manter.ObterTodasTurma() .Where( t => t.Status != null && // Vai de Prevista direto para Em andamento. Não concordo, mas o cliente insistiu. (((t.Status == enumStatusTurma.Prevista || t.Status == enumStatusTurma.Confirmada) && t.DataInicio <= DateTime.Now) || (t.Status == enumStatusTurma.EmAndamento && t.DataFinal.HasValue && t.DataFinal.Value < DateTime.Now)) ).Select(t => t.ID).Skip(skip).Take(10).ToList(); foreach (var id in turmas) { try { // Buscar a turma novamente, pois o NHibernate está mal configurado e pira nessa parte. var turma = new ManterTurma().ObterTurmaPorID(id); AtualizarStatusTurma(turma); } catch { retorno.Erro++; } } } if (retorno.Erro > 0) { retorno.Mensagem = string.Format( "Houve{0} erro{1} na{1} sincronia{1} de {2} turma{1}. Tente novamente.", retorno.Erro > 1 ? "ram" : "", retorno.Erro > 1 ? "s" : "", retorno.Erro); } return(retorno); }
private void ObterTurma(int oferta) { var manterTurma = new ManterTurma(); var lista = manterTurma.ObterTurmasPorOferta(oferta).ToList(); lista.Insert(0, new classes.Turma { Nome = "::Selecione::" }); ddlTurma.DataSource = lista; ddlTurma.DataValueField = "ID"; ddlTurma.DataTextField = "Nome"; ddlTurma.DataBind(); }
private void AtualizarStatusDaOferta(enumStatusMatricula statusMatriculaOferta, classes.MatriculaOferta matriculaOferta, ref ManterMatriculaOferta manterMatriculaOferta, DateTime?dataConclusao = null, double?notaFinal = null, bool atualizarMatriculas = true, bool fazerMerge = false) { if (manterMatriculaOferta == null) { // O objetivo que for salvo pelo Manter não deve vir de outra sessão (outro Manter/BM) manterMatriculaOferta = new ManterMatriculaOferta(); matriculaOferta = manterMatriculaOferta.ObterMatriculaOfertaPorID(matriculaOferta.ID); } if (matriculaOferta == null) { return; } //Atualiza o status da Oferta matriculaOferta.StatusMatricula = statusMatriculaOferta; if (dataConclusao != null || notaFinal != null) { foreach (var mt in matriculaOferta.MatriculaTurma) { // Obter a turma novamente, pois o lazy tá pirando nessa parte. var turma = new ManterTurma().ObterTurmaPorID(mt.Turma.ID); // Só altera caso a data da turma seja menor ou igual à data de conclusão informada. if (dataConclusao.HasValue && (turma.DataInicio <= dataConclusao)) { mt.DataTermino = dataConclusao; } if (notaFinal.HasValue) { mt.MediaFinal = notaFinal; } } } manterMatriculaOferta.AtualizarMatriculaOferta(matriculaOferta, false, fazerMerge); new BP.ManterItemTrilhaParticipacao().AtualizarStatusParticipacoesTrilhas(matriculaOferta); }
public DTODisponibilidadeSolucaoEducacional ConsultarDisponibilidadeTurma(int usuarioId, int turmaId) { var retorno = new DTODisponibilidadeSolucaoEducacional { CodigoDisponibilidade = (int)enumDisponibilidadeSolucaoEducacional.NaoPossuiDisponibilidade, TextoDisponibilidade = "Não existe oferta disponível no momento" }; var turma = new ManterTurma().ObterTurmaPorID(turmaId); if (turma == null) { retorno.TextoDisponibilidade = "Curso não encontrado ou não disponível. Tente novamente."; return(retorno); } retorno.IdTurma = turmaId; var solucaoId = turma.Oferta.SolucaoEducacional.ID; var usuario = new ManterUsuario().ObterUsuarioPorID(usuarioId); if (usuario == null) { return(retorno); } if (UsuarioPossuiBloqueioInscricao(usuario, solucaoId, ref retorno)) { return(retorno); } // Verificar se o usuário pode se inscrever na turma. if (VerificarDisponibilidadeTurma(usuario, turma, ref retorno)) { return(retorno); } return(retorno); }
protected void dgvTurma_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName.Equals("excluir")) { try { _manterTurma = new ManterTurma(); int idTipoTurma = int.Parse(e.CommandArgument.ToString()); _manterTurma.ExcluirTurma(idTipoTurma); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Registro excluído com sucesso!", "ListarTurma.aspx"); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Exclusão de registro negada. Existem Registros Dependentes desta Turma."); return; } } else if (e.CommandName.Equals("editar")) { var idTurma = int.Parse(e.CommandArgument.ToString()); Response.Redirect("EdicaoTurma.aspx?Id=" + idTurma, false); } else if (e.CommandName.Equals("republicar")) { var idTipoOferta = int.Parse(e.CommandArgument.ToString()); Response.Redirect("EdicaoTurma.aspx?Id=" + idTipoOferta + "&Republicar=Sim", false); } else if (e.CommandName.Equals("historico")) { var id = int.Parse(e.CommandArgument.ToString()); Response.Redirect("HistoricoTurma.aspx?Id=" + id, false); } }
private void BuscarTurmasJson(int ofertaId) { var turmasSelecionadas = ObterTurmasSelecionadas(false).Select(x => x.ID).ToList(); // Buscar turmas da oferta e remover turmas selecionadas da busca. var turmas = new ManterTurma().ObterTurmasPorOferta(ofertaId, false) .Where(x => !turmasSelecionadas.Contains(x.ID)); if (turmas.Any()) { ViewState["_Turma"] = Helpers.Util.ObterListaAutocomplete(turmas); } else { // Caso nao tenha mais turmas, limpar as ofertas e carregar novamente. txtOferta.Text = ""; LimparSeOfertaTurma(); BuscarOfertasJson(int.Parse(txtSolucao.Text)); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int turmaId; classes.Turma turma; // Já verifica se o Id existe, está correto e existe no banco numa lapada só. // Aqui é assim, sou dessas. if (Request["Id"] != null && (int.TryParse(Request["Id"], out turmaId)) && (turma = new ManterTurma().ObterTurmaPorID(turmaId)) != null) { var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); if (usuarioLogado.IsAdministrador()) { Response.Redirect("GerenciamentoMatricula.aspx?oferta=" + turma.Oferta.ID, true); return; } if (turma.ConsultorEducacional == null) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "A turma selecionada não possui Consultor Educacional.", "GerenciamentoMatricula.aspx?oferta=" + turma.Oferta.ID); return; } var avaliacao = turma.Avaliacoes.FirstOrDefault(); if (avaliacao != null) { switch (avaliacao.Status) { case enumStatusAvaliacao.AguardandoResposta: // Gestor só pode visualizar essa tela caso a avaliação exista e já tenha sido respondida pelo Consultor Educacional. if (usuarioLogado.IsGestor()) { ExibirMensagemAguardandoAvaliacao(turmaId); return; } if (turma.ConsultorEducacional.ID != usuarioLogado.ID) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Apenas o Consultor Educacional da turma pode avaliar a turma.", "GerenciamentoMatricula.aspx?oferta=" + turma.Oferta.ID); } break; case enumStatusAvaliacao.AguardandoGestor: if (usuarioLogado.IsGestor()) { if (usuarioLogado.UF.ID == turma.ConsultorEducacional.UF.ID) { btnEnviarAvaliacao.Visible = false; btnSalvar.Visible = false; btnAprovar.Visible = true; btnReprovar.Visible = true; BloquearCampos = true; break; } WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Apenas um gestor de " + turma.ConsultorEducacional.UF.Nome + " pode validar a avaliação desta turma.", "GerenciamentoMatricula.aspx?oferta=" + turma.Oferta.ID); return; } if (usuarioLogado.IsConsultorEducacional()) { BloquearCampos = true; // Bloqueia os campos, pois está aguardando análise do gestor. btnEnviarAvaliacao.Enabled = false; btnSalvar.Enabled = false; btnEnviarAvaliacao.Text = "Aguardando avaliação do gestor"; break; } WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Apenas o Consultor Educacional da turma pode avaliar a turma.", "GerenciamentoMatricula.aspx?oferta=" + turma.Oferta.ID); return; case enumStatusAvaliacao.Aprovada: BloquearCampos = true; break; default: throw new ArgumentOutOfRangeException(); } } else { if (turma.ConsultorEducacional.ID != usuarioLogado.ID) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Apenas o Consultor Educacional da turma pode avaliar a turma.", "GerenciamentoMatricula.aspx?oferta=" + turma.Oferta.ID); return; } if (usuarioLogado.IsGestor()) { ExibirMensagemAguardandoAvaliacao(turmaId); return; } } ltrSolucaoEducacional.Text = turma.Oferta.SolucaoEducacional.Nome; var manterAvaliacao = new ManterAvaliacao(); var questoes = manterAvaliacao.ObterQuestoes().ToList(); QuantidadeQuestoes = questoes.Count(); Questoes = questoes; // Chamar o método ObterStatusDisponiveis() porque ele tem um comportamento semelhante // ao de um Singleton, e será usado posteriormente. ObterStatusDisponiveis(turma.Oferta.SolucaoEducacional.CategoriaConteudo, true); rptQuestoes.DataSource = questoes; rptQuestoes.DataBind(); rptMatriculas.DataSource = turma.ListaMatriculas.OrderBy(x => x.MatriculaOferta.Usuario.Nome); rptMatriculas.DataBind(); } else { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Oferta inválida para avaliação. Tente novamente.", "GerenciamentoMatricula.aspx"); } } }
protected void btnEnviar_Click(object sender, EventArgs e) { //this.SetarAcaoDaTela(enumAcaoTelaMatriculaOferta.NovaMatricula); var manterUsuario = new ManterUsuario(); var usuarioLogado = manterUsuario.ObterUsuarioLogado(); try { if (string.IsNullOrEmpty(ddlTurma.SelectedValue) || int.Parse(ddlTurma.SelectedValue) <= 0) { throw new AcademicoException("Selecione uma turma para alterar a inscrição"); } if (string.IsNullOrEmpty(ddlStatus.SelectedValue) || int.Parse(ddlStatus.SelectedValue) <= 0) { throw new AcademicoException("Selecione um status"); } var dtDataMatricula = DateTime.Now; var dtDataConclusao = DateTime.Now; if (IsAdminOrGestorUc && !string.IsNullOrEmpty(txtDataInscricao.Text)) { try { dtDataMatricula = Convert.ToDateTime(txtDataInscricao.Text); } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Data de Matrícula inválida."); return; } try { dtDataConclusao = Convert.ToDateTime(txtDataConclusao.Text); } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Data de Conclusão inválida."); return; } } var manterTurma = new ManterTurma(); if (!usuarioLogado.IsAdministrador()) { var matriculaOferta = this.ObterObjetoMatriculaOferta(); var manterMatriculaOferta = new ManterMatriculaOferta(); var idOferta = matriculaOferta.Oferta.ID; var cpf = matriculaOferta.Usuario.CPF; var idStatusMatricula = ddlStatus.SelectedIndex > 0 ? int.Parse(ddlStatus.SelectedValue) : 0; var idTurma = ddlTurma.SelectedIndex > 0 ? int.Parse(ddlTurma.SelectedValue) : 0; new ManterMatriculaOfertaService().MatriculaSolucaoEducacionalGestorUC(idOferta, cpf, idStatusMatricula, idTurma, usuarioLogado.CPF); //Dispara o evento informando que a matricula em uma oferta foi realizada if (MatriculouAlunoEmUmaOferta == null) { return; } var mo = manterMatriculaOferta.ObterPorUsuarioESolucaoEducacional(matriculaOferta.Usuario.ID, matriculaOferta.Oferta.SolucaoEducacional.ID); if (mo != null && mo.ToList().Any()) { matriculaOferta = mo.FirstOrDefault(); if (matriculaOferta == null) { return; } //Obtem as informações da matricula Oferta (inclusive a lista de turmas da oferta) matriculaOferta = manterMatriculaOferta.ObterInformacoesDaMatricula(matriculaOferta.ID); } AdicionaOfertEmMatriculaTurma(matriculaOferta); MatriculouAlunoEmUmaOferta(this, new MatricularAlunoEmUmaOfertaEventArgs(matriculaOferta)); ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "myscript", " $('#EdicaoNivel, #modal-background').removeClass('active');", true); LimparCamposMatriculaAluno(); //Cadastrar Solucao Educacional com o SAS var manterSEService = new ManterSolucaoEducacionalService(); if (matriculaOferta.Oferta.SolucaoEducacional.IntegracaoComSAS) { manterSEService.CadastrarSAS(matriculaOferta.Usuario, new BP.integracaoSAS.TreinamentoSasClient()); } //Matricular Aluno no Moodle manterSEService.MatricularAlunoMoodle(matriculaOferta.Usuario, matriculaOferta.Oferta); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Aluno cadastrado com sucesso."); } else { if (!string.IsNullOrEmpty(txtDataInscricao.Text)) { var idTurma = ddlTurma.SelectedIndex > 0 ? int.Parse(ddlTurma.SelectedValue) : 0; var turma = manterTurma.ObterTurmaPorID(idTurma); if (turma == null) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Turma não encontrada."); return; } var dataValida = turma.Oferta.DataInicioInscricoes.HasValue && turma.Oferta.DataFimInscricoes.HasValue && dtDataMatricula.Date.Between(turma.Oferta.DataInicioInscricoes.Value.Date, turma.Oferta.DataFimInscricoes.Value.Date); if (!dataValida) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, turma.Oferta.DataInicioInscricoes.HasValue && turma.Oferta.DataFimInscricoes.HasValue ? "Data de Matrícula deve ser entre " + turma.Oferta.DataInicioInscricoes.Value.Date.ToString("dd/MM/yyyy") + " e " + turma.Oferta.DataFimInscricoes.Value.Date.ToString("dd/MM/yyyy") : "Data de Matrícula inválida."); return; } var dataValidaConclusao = dtDataConclusao.Date >= turma.DataInicio; if (!dataValidaConclusao) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Data de Conclusão deve ser maior ou igual à: " + turma.DataInicio.ToString("dd/MM/yyyy")); return; } } var matriculaOferta = this.ObterObjetoMatriculaOferta(); var manterMatriculaOferta = new ManterMatriculaOferta(); if (matriculaOferta.Oferta != null) { if ( matriculaOferta.Oferta.ListaMatriculaOferta.Any( x => x.Usuario.ID == matriculaOferta.Usuario.ID && (x.StatusMatricula == enumStatusMatricula.Inscrito || x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno))) { throw new AcademicoException("Usuário já inscrito nesta oferta"); } } // Verificar permissao de matricula de acordo com as regras de permissão da Oferta. if (matriculaOferta.Oferta != null && !matriculaOferta.Oferta.UsuarioPossuiPermissao(matriculaOferta.Usuario)) { throw new AcademicoException("Usuário não possui permissão para essa oferta"); } if (!divDataInscricao.Visible) { (new ManterMatriculaOferta()).VerificarPoliticaDeConsequencia(matriculaOferta); } SalvarMatriculaOferta(manterMatriculaOferta, matriculaOferta); ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "myscript", " $('#EdicaoNivel, #modal-background').removeClass('active');", true); LimparCamposMatriculaAluno(); //Cadastrar Solucao Educacional com o SAS var manterSEService = new ManterSolucaoEducacionalService(); if (matriculaOferta.Oferta.SolucaoEducacional.IntegracaoComSAS) { manterSEService.CadastrarSAS(matriculaOferta.Usuario, new BP.integracaoSAS.TreinamentoSasClient()); } //Matricular Aluno no Moodle manterSEService.MatricularAlunoMoodle(matriculaOferta.Usuario, matriculaOferta.Oferta); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Aluno cadastrado com sucesso."); } } catch (AcademicoException ex) { // Lógica para alteração de status quando o usuário for administrador ou gestor uc if (LupaUsuario.SelectedUser != null && (usuarioLogado.IsAdministrador() || usuarioLogado.IsGestor())) { try { var matriculaOferta = ObterObjetoMatriculaOferta(); //Status if (ddlStatus.SelectedItem != null && !string.IsNullOrWhiteSpace(ddlStatus.SelectedItem.Value)) { if (ExisteComStatusRepetido((enumStatusMatricula)int.Parse(ddlStatus.SelectedItem.Value), matriculaOferta)) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Não é possível inserir uma nova matrícula com o mesmo status"); return; } } lblAvisoModalConfirmacaoInscricao.Text = ex.Message; pnlModalConfirmacaoInscricao.Visible = true; return; } catch { } } WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } catch (PoliticaConsequenciaException ex) { if (!IsAdminOrGestorUc) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } lblAvisoModalConfirmacaoInscricao.Text = ex.Message; pnlModalConfirmacaoInscricao.Visible = true; } }
public void ddlTurma_OnSelectedIndexChanged(object sender, EventArgs e) { if (ddlTurma.SelectedIndex == 0) { return; } var idTurma = Convert.ToInt32(ddlTurma.SelectedValue); var manterTurma = new ManterTurma(); var turma = manterTurma.ObterTurmaPorID(idTurma); if (turma == null) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Turma não encontrada."); return; } if (LupaUsuario.SelectedUser == null) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Selecione um Aluno"); return; } var usuarioSelecionado = this.LupaUsuario.SelectedUser; //#3474 - Se o administrador ou gestor UC tentar cadastrar um aluno em uma turma já encerrada deve aparecer os status que são referentes a finalização da turma ou seja status referente a aprovação ou reprovação. //#839 - Inverter a logica de exibicao var ofertaAbertaParaInscricoes = !(IsAdminOrGestorUc && turma.Oferta.IsAbertaParaInscricoes()); divDataInscricao.Visible = ofertaAbertaParaInscricoes; divDataConclusao.Visible = ofertaAbertaParaInscricoes; if (ofertaAbertaParaInscricoes) { txtDataInscricao.Text = turma.Oferta.DataFimInscricoes.HasValue ? turma.Oferta.DataFimInscricoes.Value.ToString("dd/MM/yyyy") : ""; txtDataConclusao.Text = turma.DataFinal.HasValue ? turma.DataFinal.Value.ToString("dd/MM/yyyy") : ""; } //#860 - Se a Oferta possuir Fila de espera e a Quantidade de matriculas já alcancou o limite exibe somente o status de inscrever com Fila de Espera bool booFilaEspera = false; if (turma.Oferta.FiladeEspera) { // #1083 - Verifica restricoes de permissao levando em consideracao Perfil, Nivel Ocupacional, UF e Quantidade de Vagas. var permisaoMatricula = VerificarPermissaoMatricula(usuarioSelecionado, turma.Oferta); if (permisaoMatricula) { if (turma.Oferta.DistribuicaoVagas == enumDistribuicaoVagasOferta.VagasPorUf) { if (!VerificarVagasDisponiveisUF(usuarioSelecionado, turma.Oferta)) { booFilaEspera = true; } } else { if (!VerificarVagasDisponiveis(turma.Oferta)) { booFilaEspera = true; } } } else { LimparCamposMatriculaAluno(); } } PreencherComboStatus(ofertaAbertaParaInscricoes, booFilaEspera); }
public DTORelatorioQuestionarioRespondente ObterRelatorioRespondente(DTOFiltroRelatorioQuestionario filtro) { if (!filtro.PossuiDados()) { throw new AcademicoException("Não existem filtros para efetuar uma pesquisa."); } if (filtro.IsRelatorioTutor && filtro.IdTurma == null) { throw new AcademicoException("O campo \"Turma\" é obrigatório no relatório de tutor."); } if (filtro.IdQuestionario == 0) { throw new AcademicoException("Selecione um questionário."); } if (filtro.IdOferta != null && filtro.IdTurma == null) { throw new AcademicoException("O campo \"Turma\" é obrigatório."); } Questionario questionario; Turma turma; if (filtro.IsRelatorioTutor) { var associacao = new ManterTurma().ObterTurmaPorID(filtro.IdTurma.Value) .ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos && x.Questionario.TipoQuestionario.ID == (int)enumTipoQuestionario.Pesquisa); if (associacao == null) { throw new AcademicoException("A turma selecionada não possui questionário pós de pesquisa."); } questionario = associacao.Questionario; turma = associacao.Turma; } else { questionario = new ManterQuestionario().ObterQuestionarioPorID(filtro.IdQuestionario); if (filtro.IdTurma != null) { turma = new ManterTurma().ObterTurmaPorID(filtro.IdTurma.Value); } else { turma = new Turma(); } } if (questionario == null) { throw new AcademicoException( "Nenhum questionário foi encontrado. Se certifique que o questionário selecionado ainda está cadastrado."); } var listaItemQuestionario = questionario.ListaItemQuestionario.OrderBy(x => x.Ordem).ToList(); // Se não houverem questões relacionadas ao questionário, não tem como emitir o relatório. if (!listaItemQuestionario.Any()) { throw new AcademicoException("O questionário \"" + questionario.Nome + "\" não possui questões cadastradas, portanto não é possível emitir o relatório."); } List <DTORelatorioQuestionarioQuestao> questoes; var enunciados = ObterEnunciados(out questoes, listaItemQuestionario, questionario, turma); // Obter consulta do questionário, mas não enumera ainda. // You know what i see here? Possibilities... var consulta = new ManterQuestionarioParticipacao().ObterPorQuestionarioPorFiltro(filtro); // Retornar dados do relatório. return(new DTORelatorioQuestionarioRespondente { Enunciados = enunciados, Questoes = questoes, Consulta = consulta, TotalRespostas = consulta.Count(), TotalQuestoes = listaItemQuestionario.Count() }); }