private IList <QuestionarioAssociacao> AtualizarQuestionarioAssociacao(IList <QuestionarioAssociacao> listaRetorno, classes.TurmaCapacitacao turma, int idQuestionario, enumTipoQuestionarioAssociacao tipo) { var questionarioAssociacao = listaRetorno.FirstOrDefault(p => p.TipoQuestionarioAssociacao.ID == (int)tipo); if (idQuestionario == 0) { if (questionarioAssociacao == null) { return(listaRetorno); } listaRetorno.Remove(questionarioAssociacao); return(listaRetorno); } var manterQuestionario = new ManterQuestionario(); var questionario = manterQuestionario.ObterQuestionarioPorID(idQuestionario); if (questionarioAssociacao == null) { listaRetorno.Add(ObterQuestionarioAssociacao(turma, tipo, questionario)); } else { var index = listaRetorno.IndexOf(questionarioAssociacao); listaRetorno[index].Questionario = questionario; listaRetorno[index].TipoQuestionarioAssociacao = new ManterTipoQuestionarioAssociacao().ObterTipoQuestionarioAssociacaoPorID((int)tipo); } return(listaRetorno); }
private void TratarQuestionario(classes.TrilhaNivel trilhaNivel, int idQuestionario, bool evolutivo, enumTipoQuestionarioAssociacao tipoQuestionarioAssociacao) { var questionario = new ManterQuestionario().ObterQuestionarioPorID(idQuestionario); var questionarioAssociacaoEditar = trilhaNivel.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TrilhaNivel.ID == trilhaNivel.ID && x.Evolutivo == evolutivo && x.TipoQuestionarioAssociacao.ID == (int)tipoQuestionarioAssociacao); if (questionarioAssociacaoEditar == null) { var questionarioAssociacaoAdicionar = new QuestionarioAssociacao { TipoQuestionarioAssociacao = new ManterTipoQuestionarioAssociacao().ObterTipoQuestionarioAssociacaoPorID( (int)tipoQuestionarioAssociacao), Evolutivo = evolutivo, TrilhaNivel = trilhaNivel, Questionario = questionario, Obrigatorio = true }; trilhaNivel.ListaQuestionarioAssociacao.Add(questionarioAssociacaoAdicionar); } else { questionarioAssociacaoEditar.Questionario = questionario; } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { var turmaCapacitacao = new classes.TurmaCapacitacao(); WebFormHelper.PreencherLista(new BMPrograma().ObterTodos().OrderBy(x => x.Nome).ToList(), ddlPrograma, true); var listaQuestionariosDePesquisa = new ManterQuestionario().ObterQuestionariosDePesquisa(); if (listaQuestionariosDePesquisa.Any()) { WebFormHelper.PreencherLista(listaQuestionariosDePesquisa, ddlQuestionarioPre, false, true); WebFormHelper.PreencherLista(listaQuestionariosDePesquisa, ddlQuestionarioPos, false, true); ddlQuestionarioPre.Enabled = true; ddlQuestionarioPos.Enabled = true; } else { PreencherQuestionarioListaVazia(); } if (Request["Id"] != null) { var idTurmaCapacitacao = int.Parse(Request["Id"]); turmaCapacitacao = new BMTurmaCapacitacao().ObterPorId(idTurmaCapacitacao); PreencherCampos(turmaCapacitacao); } PreencherListaUfs(turmaCapacitacao); } }
protected void btnSalvar_Click(object sender, EventArgs e) { try { if (Session["QuestionarioEdit"] == null) { manterQuestionario = new ManterQuestionario(); questionarioEdicao = ObterObjetoQuestionario(); manterQuestionario.IncluirQuestionario(questionarioEdicao); this.LimparQuestionarioDaSessao(); } else { //this.SetarAcaoDaTela(enumAcaoTelaQuestionario.EdicaoDeUmItem); questionarioEdicao = ObterObjetoQuestionario(); manterQuestionario.AlterarQuestionario(questionarioEdicao); this.LimparQuestionarioDaSessao(); } Session.Remove("QuestionarioEdit"); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados Gravados com Sucesso !", "ListarQuestionario.aspx"); }
public IQueryable <Questionario> ListaQuestionario(DTOFiltroRelatorioQuestionario filtro) { var resultado = new ManterQuestionario().ObterTodosIQueryable(); if (filtro.IdTurma != null) { resultado = resultado.Where(x => x.ListaQuestionarioParticipacao.Any(y => y.Turma.ID == filtro.IdTurma)); } if (filtro.IdOferta != null) { resultado = resultado.Where(x => x.ListaQuestionarioParticipacao.Any(y => y.Turma.Oferta.ID == filtro.IdOferta)); } if (filtro.IdSolucaoEducacional != null) { resultado = resultado.Where(x => x.ListaQuestionarioParticipacao.Any(y => y.Turma.Oferta.SolucaoEducacional.ID == filtro.IdSolucaoEducacional)); } if (filtro.IdProcesso != null) { resultado = resultado.Where(x => x.ListaCampos.Any(c => c.Etapa.Processo.ID == filtro.IdProcesso)); } if (filtro.IdTipoQuestionario != null) { resultado = resultado.Where(x => x.TipoQuestionario.ID == filtro.IdTipoQuestionario); } return(resultado); }
private void PreencherComboQuestionario(classes.TrilhaNivel nivel) { try { var listaQuestionariosDePre = new ManterQuestionario().ObterQuestionariosDePesquisa().Where(x => x.Ativo == true).ToList(); // Adicionar os questionários cadastrados nas listas, caso não já estejam, pois acima filtra aonde eles não são ativos. // Se o questionário vinculado não for mais ativo, adiciona ele na lista para manter o cadastro. // Associar pré não ativo QuestionarioAssociacao associacaoPre; var questionarioPre = (associacaoPre = nivel.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pre)) != null ? associacaoPre.Questionario : null; if (questionarioPre != null && listaQuestionariosDePre.All(x => x.ID != questionarioPre.ID)) { listaQuestionariosDePre.Add(questionarioPre); } // Associar pós não ativo var listaQuestionariosDePos = new ManterQuestionario().ObterQuestionariosDePesquisa().Where(x => x.Ativo == true).ToList(); QuestionarioAssociacao associacaoPos; var questionarioPos = (associacaoPos = nivel.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos)) != null ? associacaoPos.Questionario : null; if (questionarioPos != null && listaQuestionariosDePos.All(x => x.ID != questionarioPos.ID)) { listaQuestionariosDePos.Add(questionarioPos); } // Associar prova não ativa; var listaQuestionariosDeAvaliacaoProva = new ManterQuestionario().ObterQuestionariosDeAvaliacaoProva().Where(x => x.Ativo == true).ToList(); QuestionarioAssociacao associacaoProva; var questionarioProva = (associacaoProva = nivel.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Prova)) != null ? associacaoProva.Questionario : null; if (questionarioProva != null && listaQuestionariosDeAvaliacaoProva.All(x => x.ID != questionarioProva.ID)) { listaQuestionariosDeAvaliacaoProva.Add(questionarioProva); } //WebFormHelper.PreencherLista(listaQuestionariosDePre.OrderBy(x => x.Nome).ToList(), ddlQuestionarioPre, false, true); WebFormHelper.PreencherLista(listaQuestionariosDePos.OrderBy(x => x.Nome).ToList(), ddlQuestionarioPos, false, true); WebFormHelper.PreencherLista(listaQuestionariosDeAvaliacaoProva.OrderBy(x => x.Nome).ToList(), ddlQuestionarioProva, false, true); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
private void PreencherComboQuestionario() { try { IList <Questionario> ListaQuestionariosDePesquisa = new ManterQuestionario().ObterQuestionariosDePesquisa(); IList <Questionario> ListaQuestionariosDeAvaliacaoProva = new ManterQuestionario().ObterQuestionariosDeAvaliacaoProva(); WebFormHelper.PreencherLista(ListaQuestionariosDePesquisa, ddlQuestionarioPre, false, true); WebFormHelper.PreencherLista(ListaQuestionariosDePesquisa, ddlQuestionarioPos, false, true); WebFormHelper.PreencherLista(ListaQuestionariosDeAvaliacaoProva, ddlQuestionarioProva, false, true); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
/// <summary> /// Consulta a quantidade de itens questionário agrupados /// </summary> /// <param name="matricula"></param> /// <returns></returns> public int ConsultarQuantidadeItensQuestionarioAssociados(MatriculaTurma matricula) { if (matricula.Turma.ListaQuestionarioAssociacao.Count > 0) { var itemQuestionarioAssociacaoEficacia = matricula.Turma.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Eficacia); if (itemQuestionarioAssociacaoEficacia != null) { int quantidade = new ManterQuestionario().QuantidadeQuestionariosAgrupados(itemQuestionarioAssociacaoEficacia.Questionario); return(quantidade > 0 ? quantidade : 1); } } return(1); }
private void TratarQuestionario(Turma turma, int idQuestionario, bool evolutivo, enumTipoQuestionarioAssociacao tipoQuestionarioAssociacao) { Questionario questionario = new ManterQuestionario().ObterQuestionarioPorID(idQuestionario); QuestionarioAssociacao questionarioAssociacaoEditar = turma.ListaQuestionarioAssociacao.FirstOrDefault(x => x.Turma != null && x.Turma.ID == turma.ID && x.Evolutivo == evolutivo && x.TipoQuestionarioAssociacao.ID == (int)tipoQuestionarioAssociacao); if (questionarioAssociacaoEditar == null) { QuestionarioAssociacao questionarioAssociacaoAdicionar = new QuestionarioAssociacao(); questionarioAssociacaoAdicionar.TipoQuestionarioAssociacao = new ManterTipoQuestionarioAssociacao().ObterTipoQuestionarioAssociacaoPorID((int)tipoQuestionarioAssociacao); questionarioAssociacaoAdicionar.Evolutivo = false; questionarioAssociacaoAdicionar.Turma = turma; questionarioAssociacaoAdicionar.Questionario = questionario; questionarioAssociacaoAdicionar.Obrigatorio = true; turma.ListaQuestionarioAssociacao.Add(questionarioAssociacaoAdicionar); } else { questionarioAssociacaoEditar.Questionario = questionario; } }
private Questionario ObterObjetoQuestionario() { //Insert if (this.QuestionarioDaSessao.ID == 0) { manterQuestionario = new ManterQuestionario(); questionarioEdicao = this.QuestionarioDaSessao; } //Update else { questionarioEdicao = new ManterQuestionario().ObterQuestionarioPorID(this.QuestionarioDaSessao.ID); //Implementação do padrão Prototype questionarioEdicao = (Questionario)this.QuestionarioDaSessao.Clone(); } if (questionarioEdicao == null) { throw new AcademicoException("Preencha as informações do Questionário"); } else { //Se o Questionário não possuir itens cadastrados, exibe mensagem de erro. if (questionarioEdicao.ListaItemQuestionario == null || (questionarioEdicao.ListaItemQuestionario != null && questionarioEdicao.ListaItemQuestionario.Count == 0)) { throw new AcademicoException("É necessário Cadastrar um item para este Questionário. Não há itens Cadastrados para este Questionário."); } } //Tipo de Questionário if (ddlTipoQuestionario != null && ddlTipoQuestionario.SelectedItem != null && !string.IsNullOrWhiteSpace(ddlTipoQuestionario.SelectedItem.Value)) { questionarioEdicao.TipoQuestionario = new TipoQuestionario() { ID = int.Parse(ddlTipoQuestionario.SelectedItem.Value), Nome = ddlTipoQuestionario.SelectedItem.Text }; } else { questionarioEdicao.TipoQuestionario = null; } //Nome if (!string.IsNullOrWhiteSpace(txtNome.Text)) { questionarioEdicao.Nome = txtNome.Text.Trim(); } else { questionarioEdicao.Nome = null; } //Prazo em Minutos if (!string.IsNullOrWhiteSpace(this.txtPrazoemMinutos.Text)) { int prazoEmMinutos = 0; if (!int.TryParse(this.txtPrazoemMinutos.Text.Trim(), out prazoEmMinutos)) { throw new AcademicoException("Valor Inválido para o Campo Prazo em Minutos."); } else { questionarioEdicao.PrazoMinutos = prazoEmMinutos; } } if (!string.IsNullOrWhiteSpace(this.txtQtdQuestoesDaProva.Text)) { int qtdQuestoesDaProva = 0; if (!int.TryParse(this.txtQtdQuestoesDaProva.Text.Trim(), out qtdQuestoesDaProva)) { throw new AcademicoException("Valor Inválido para o Campo Qtd de Questões da Prova."); } else { questionarioEdicao.QtdQuestoesProva = qtdQuestoesDaProva; } } //Texto do Enunciado Pré questionarioEdicao.TextoEnunciado = this.txtTextoEnunciadoPre.Text.Trim(); return(questionarioEdicao); }
public void SalvarQuestionario() { try { QuestionarioParticipacao questionarioParticipacao; if (!string.IsNullOrWhiteSpace(hdnIdQuestionarioParticipacao.Value)) { questionarioParticipacao = new ManterQuestionarioParticipacao().ObterQuestionarioParticipacaoPorId(int.Parse(hdnIdQuestionarioParticipacao.Value)); } else { var questionario = new ManterQuestionario().ObterQuestionarioPorID(int.Parse(hdnIdQuestionario.Value)); var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); questionarioParticipacao = new QuestionarioParticipacao { Questionario = questionario, DataGeracao = DateTime.Now, Usuario = usuarioLogado, DataParticipacao = DateTime.Now, TipoQuestionarioAssociacao = new ManterTipoQuestionarioAssociacao().ObterTipoQuestionarioAssociacaoPorID(5), TextoEnunciadoPre = questionario.TextoEnunciado, Evolutivo = false, NivelOcupacional = new NivelOcupacional { ID = usuarioLogado.NivelOcupacional.ID }, Uf = new Uf { ID = usuarioLogado.UF.ID }, Turma = new Turma { ID = int.Parse(hdnIdTurma.Value) } }; } var listaItemQuestionarioParticipacao = new List <ItemQuestionarioParticipacao>(); // Obter respostas dissertivas do questionário. foreach (Control row in rptQuestionario.Controls) { var hdnIdItemQuestionario = (HiddenField)row.FindControl("hdnIdItemQuestionario"); if (hdnIdItemQuestionario == null) { throw new AcademicoException("Questionário mal formatado ou alterado, atualize a página e tente novamente."); } int idItemQuestionario; int.TryParse(hdnIdItemQuestionario.Value, out idItemQuestionario); var itemQuestionario = new ManterItemQuestionario().ObterItemQuestionarioPorID(idItemQuestionario); if (itemQuestionario == null) { throw new AcademicoException("Questionário mal formatado ou alterado, atualize a página e tente novamente."); } var txtResposta = (TextBox)row.FindControl("txtResposta"); if (txtResposta == null) { throw new AcademicoException("Questionário mal formatado ou alterado, atualize a página e tente novamente."); } var itemQuestionarioParticipacao = Mapper.Map <ItemQuestionarioParticipacao>(itemQuestionario); itemQuestionarioParticipacao.QuestionarioParticipacao = questionarioParticipacao; if (itemQuestionarioParticipacao.TipoItemQuestionario.ID == (int)enumTipoItemQuestionario.Discursiva) { // Validação do campo em branco. if (string.IsNullOrWhiteSpace(txtResposta.Text)) { throw new AcademicoException(string.Format("A questão \"{0}\" é obrigatória", string.IsNullOrWhiteSpace(itemQuestionarioParticipacao.Ordem.ToString()) ? itemQuestionarioParticipacao.Questao : itemQuestionarioParticipacao.Ordem.ToString())); } itemQuestionarioParticipacao.Resposta = txtResposta.Text; } listaItemQuestionarioParticipacao.Add(itemQuestionarioParticipacao); } questionarioParticipacao.ListaItemQuestionarioParticipacao = listaItemQuestionarioParticipacao; // Executar lógica para questionário de cancelamento. if (questionarioParticipacao.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Cancelamento) { var matriculasTurmasIds = hdnIdMatriculaTurma.Value.Split(','); foreach (var matriculaIdString in matriculasTurmasIds) { int matriculaId; if (int.TryParse(matriculaIdString, out matriculaId)) { var matriculaTurma = new MatriculaTurma(); var manterMatriculaTurma = new ManterMatriculaTurma(); if (matriculaId > 0) { matriculaTurma = manterMatriculaTurma.ObterMatriculaTurmaPorId(matriculaId); // Caso seja Gestor, só altera a matrícula caso seja da sua UF. if (matriculaTurma != null) { questionarioParticipacao.Turma = matriculaTurma.Turma; } } // Alterar Status da matrícula. if (matriculaTurma != null && matriculaTurma.ID != 0) { var manterMatriculaOferta = new ManterMatriculaOferta(); var matriculaOferta = manterMatriculaOferta.ObterMatriculaOfertaPorID(matriculaTurma.MatriculaOferta.ID); matriculaOferta.StatusMatricula = (enumStatusMatricula)int.Parse(hdnIdStatusMatricula.Value); // Salvar Data de conclusão e nota final em lote if ((!string.IsNullOrWhiteSpace(txtDataConclusao.Text) || !string.IsNullOrWhiteSpace(hdnNotaFinal.Value)) && matriculaOferta.Oferta.SolucaoEducacional.FormaAquisicao.Presencial) { var dataConclusao = CommonHelper.TratarData(txtDataConclusao.Text, "Data Conclusão do lote"); double?notaFinal = null; double n; if (double.TryParse(hdnNotaFinal.Value.Trim(), out n)) { notaFinal = n; } foreach (var mt in matriculaOferta.MatriculaTurma) { if (dataConclusao.HasValue && (!mt.Turma.DataFinal.HasValue || mt.Turma.DataFinal.Value >= dataConclusao)) { mt.DataTermino = dataConclusao; } if (notaFinal.HasValue) { mt.MediaFinal = notaFinal; } } } manterMatriculaOferta.AtualizarMatriculaOferta(matriculaOferta, false); matriculaTurma.DataTermino = !string.IsNullOrEmpty(txtDataConclusao.Text) ? DateTime.Parse(txtDataConclusao.Text) : DateTime.Now; manterMatriculaTurma.AlterarMatriculaTurma(matriculaTurma); } } } } // Salvar participação no questionário. new ManterQuestionarioParticipacao().Salvar(questionarioParticipacao); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Questionário respondido com Sucesso."); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
private void PreencherCampos(ItemTrilha itemTrilhaEdicao) { if (itemTrilhaEdicao != null) { WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel.Trilha.ID.ToString(), ddlTrilha); ViewState.Add("idItemTrilha", itemTrilhaEdicao.ID); var listaTrilhaNivel = new BMTrilhaNivel().ObterPorFiltro(new TrilhaNivel { Trilha = _itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel.Trilha }); listaTrilhaNivel.Add(itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel); WebFormHelper.PreencherLista(listaTrilhaNivel, ddlTrilhaNivel, false, true); WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel.ID.ToString(), ddlTrilhaNivel); if (itemTrilhaEdicao.Tipo != null) { divFormaAquisicao.Visible = true; WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Tipo.ID.ToString(), ddlTipo); switch ((enumTipoItemTrilha)itemTrilhaEdicao.Tipo.ID) { case enumTipoItemTrilha.Jogo: divFaseJogo.Visible = true; divOrientacoes.Visible = true; PreencherFasesJogo(); WebFormHelper.SetarValorNaCombo(((int)itemTrilhaEdicao.FaseJogo).ToString(), ddlFase); break; case enumTipoItemTrilha.Discursiva: pnlArtigoOnline.Visible = true; break; case enumTipoItemTrilha.Atividade: divQuestionario.Visible = true; var questionarios = new ManterQuestionario().ObterQuestionariosItemTrilha().ToList(); if (itemTrilhaEdicao.Questionario != null && questionarios.All(x => x.ID != itemTrilhaEdicao.Questionario.ID)) { questionarios.Add(itemTrilhaEdicao.Questionario); } WebFormHelper.PreencherLista(questionarios.OrderBy(x => x.Nome).ToList(), ddlQuestionario, false, true); if (itemTrilhaEdicao.Questionario != null) { WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Questionario.ID.ToString(), ddlQuestionario); } break; case enumTipoItemTrilha.Solucoes: divSolucao.Visible = true; ddlFormaAquisicao.Enabled = false; WebFormHelper.PreencherLista( new ManterSolucaoEducacional().ObterTodosSolucaoEducacional().ToList(), ddlSolucao); if (itemTrilhaEdicao.SolucaoEducacionalAtividade != null) { WebFormHelper.SetarValorNaCombo( itemTrilhaEdicao.SolucaoEducacionalAtividade.ID.ToString(), ddlSolucao); } break; case enumTipoItemTrilha.ConheciGame: var conteudos = new ManterConteudo().ObterTodos().Where(x => x.Ativo).ToList(); WebFormHelper.PreencherListaCustomizado(conteudos, ddlConteudo, "ID", "Nome", false, true); var manterTema = new ManterTema(); var temas = manterTema.ObterTodos().ToList(); WebFormHelper.PreencherListaCustomizado(temas, ddlTema, "ID", "Nome", false, true); var temaSelecionado = manterTema.ObterPorID(itemTrilhaEdicao.ID_TemaConheciGame); if (temaSelecionado != null && temaSelecionado.Conteudo != null) { pnlConheciGame.Visible = true; pnlTemaConheciGame.Visible = true; WebFormHelper.SetarValorNaCombo(temaSelecionado.Conteudo.ID.ToString(), ddlConteudo); WebFormHelper.SetarValorNaCombo(temaSelecionado.ID.ToString(), ddlTema); txtAcertosTema.Text = itemTrilhaEdicao.QuantidadeAcertosTema.ToString(); } break; default: throw new ArgumentOutOfRangeException(); } ddlTipo.Enabled = !itemTrilhaEdicao.ListaItemTrilhaParticipacao.Any(); } // Trilha Nível WebFormHelper.PreencherLista(itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel.Trilha.ListaTrilhaNivel, ddlTrilhaNivel); WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel.ID.ToString(), ddlTrilhaNivel); // Ponto Sebrae WebFormHelper.PreencherLista(itemTrilhaEdicao.Missao.PontoSebrae.TrilhaNivel.ListaPontoSebrae, ddlPontoSebrae); WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Missao.PontoSebrae.ID.ToString(), ddlPontoSebrae); // Missão WebFormHelper.PreencherLista(itemTrilhaEdicao.Missao.PontoSebrae.ListaMissoes, ddlMissao); WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Missao.ID.ToString(), ddlMissao); if (itemTrilhaEdicao.FormaAquisicao != null && itemTrilhaEdicao.FormaAquisicao.ID > 0) { WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.FormaAquisicao.ID.ToString(), ddlFormaAquisicao); } if (_itemTrilhaEdicao.Ativo.HasValue) { WebFormHelper.SetarValorNaCombo(itemTrilhaEdicao.Ativo.Value ? "S" : "N", ddlStatus); } txtCargaHoraria.Text = itemTrilhaEdicao.CargaHoraria > 0 ? itemTrilhaEdicao.CargaHoraria.ToString() : string.Empty; txtNome.Text = itemTrilhaEdicao.Nome; txtMoedas.Text = itemTrilhaEdicao.Moedas.ToString(); txtOrientacoes.Text = _itemTrilhaEdicao.Local; txtLinkAcesso.Text = _itemTrilhaEdicao.LinkConteudo; txtReferenciaBibliografica.Text = _itemTrilhaEdicao.ReferenciaBibliografica; //Arquivo de Envio if (_itemTrilhaEdicao.FileServer != null && !string.IsNullOrWhiteSpace(_itemTrilhaEdicao.FileServer.NomeDoArquivoOriginal)) { lkbArquivo.Text = string.Concat("Abrir arquivo ", _itemTrilhaEdicao.FileServer.NomeDoArquivoOriginal); } } }
public ItemTrilha ObterObjetoItemTrilha(int?idItemTrilha) { _itemTrilhaEdicao = idItemTrilha.HasValue ? new ManterItemTrilha().ObterItemTrilhaPorID(idItemTrilha.Value) : new ItemTrilha(); //Nome _itemTrilhaEdicao.Nome = txtNome.Text.Trim(); int cargaHoraria; if (!string.IsNullOrEmpty(txtCargaHoraria.Text)) { if (int.TryParse(txtCargaHoraria.Text, out cargaHoraria)) { _itemTrilhaEdicao.CargaHoraria = cargaHoraria; } else { throw new AcademicoException("O campo Carga horaria deve ser númerico e em minutos."); } } // Missão // Se for edição, o índice 0 do DropDown de Missões será uma opção válida, e não uma opção inválida. if (idItemTrilha.HasValue ? ddlMissao.SelectedIndex < 0 : ddlMissao.SelectedIndex <= 0) { throw new AcademicoException("Selecione uma missão."); } _itemTrilhaEdicao.Missao = new ManterMissao().ObterPorID(int.Parse(ddlMissao.SelectedValue)); //Tipo de Solução if ((enumTipoItemTrilha)int.Parse(ddlTipo.SelectedValue) == enumTipoItemTrilha.Solucoes) { if (string.IsNullOrEmpty(ddlSolucao.SelectedValue)) { throw new AcademicoException("Selecione uma solução educacional."); } } //Ativo ? if (ddlStatus.SelectedItem != null && !string.IsNullOrWhiteSpace(ddlStatus.SelectedItem.Value)) { var valorInformadoParaStatus = ddlStatus.SelectedItem.Value; if (valorInformadoParaStatus.ToUpper().Equals("S")) { _itemTrilhaEdicao.Ativo = true; } else if (valorInformadoParaStatus.ToUpper().Equals("N")) { _itemTrilhaEdicao.Ativo = false; } } else { throw new AcademicoException("Informe se o Item da Trilha está Ativo Sim ou Não."); } // Moedas if (string.IsNullOrWhiteSpace(txtMoedas.Text)) { throw new AcademicoException("Campo \"Quantidade de Moedas\" é obrigatório"); } int moedas; if (int.TryParse(txtMoedas.Text, out moedas)) { _itemTrilhaEdicao.Moedas = moedas; } else { throw new AcademicoException("Valor inválido para o campo \"Quantidade de Moedas\""); } //Forma Aquisição if (ddlFormaAquisicao.SelectedItem != null && !string.IsNullOrWhiteSpace(ddlFormaAquisicao.SelectedItem.Value)) { _itemTrilhaEdicao.FormaAquisicao = new BMFormaAquisicao().ObterPorID(int.Parse(ddlFormaAquisicao.SelectedItem.Value)); } // Tipo de item trilha if (ddlTipo.SelectedItem != null && !string.IsNullOrWhiteSpace(ddlTipo.SelectedItem.Value)) { _itemTrilhaEdicao.Tipo = new BMTipoItemTrilha().ObterPorId(int.Parse(ddlTipo.SelectedItem.Value)); } // Subitens do tipo switch ((enumTipoItemTrilha)_itemTrilhaEdicao.Tipo.ID) { // Discursivas ou jogos não precisam de referências. case enumTipoItemTrilha.Jogo: _itemTrilhaEdicao.Questionario = null; _itemTrilhaEdicao.SolucaoEducacionalAtividade = null; _itemTrilhaEdicao.FaseJogo = (enumFaseJogo)int.Parse(ddlFase.SelectedValue); break; case enumTipoItemTrilha.Discursiva: ValidarCampoLinkConteudo(); ValdarCampoOrientacoes(); ValidarReferenciaBibliografica(); ValidarArquivoDeEnvio(txtNomeArquivo.Text); ValidarPermissaoDeReenvio(); _itemTrilhaEdicao.Questionario = null; _itemTrilhaEdicao.SolucaoEducacionalAtividade = null; _itemTrilhaEdicao.FaseJogo = 0; break; case enumTipoItemTrilha.Atividade: ValidarCampoLinkConteudo(); ValdarCampoOrientacoes(); ValidarReferenciaBibliografica(); ValidarArquivoDeEnvio(txtNomeArquivo.Text); // Verificar Questionário. int questionarioId; if (int.TryParse(ddlQuestionario.SelectedValue, out questionarioId)) { var questionario = new ManterQuestionario().ObterQuestionarioPorID(questionarioId); if (questionario != null) { _itemTrilhaEdicao.Questionario = questionario; _itemTrilhaEdicao.SolucaoEducacionalAtividade = null; break; } } _itemTrilhaEdicao.FaseJogo = 0; throw new AcademicoException("Questionário obrigatório para o tipo \"Atividade\""); case enumTipoItemTrilha.Solucoes: // Verificar Solução Educacional. int seId; if (int.TryParse(ddlSolucao.SelectedValue, out seId)) { var se = new ManterSolucaoEducacional().ObterSolucaoEducacionalPorId(seId); if (se != null) { _itemTrilhaEdicao.SolucaoEducacionalAtividade = se; _itemTrilhaEdicao.Questionario = null; break; } } _itemTrilhaEdicao.FaseJogo = 0; throw new AcademicoException("Solução Educacional obrigatória para o tipo \"Soluções Educacionais\""); case enumTipoItemTrilha.ConheciGame: int idTema; int quantidadeAcertos; if (int.TryParse(ddlTema.SelectedValue, out idTema) && idTema > 0) { _itemTrilhaEdicao.ID_TemaConheciGame = idTema; if (!int.TryParse(txtAcertosTema.Text, out quantidadeAcertos) || quantidadeAcertos <= 0 || quantidadeAcertos > 30) { throw new AcademicoException("A quantidade de acertos deve ser maior que 0 e menor que 30"); } _itemTrilhaEdicao.QuantidadeAcertosTema = !string.IsNullOrWhiteSpace(txtAcertosTema.Text) ? int.Parse(txtAcertosTema.Text) : 0; } else { throw new AcademicoException("Selecione um tema"); } break; default: throw new ArgumentOutOfRangeException(); } ValidarArquivoDeEnvio(txtNomeArquivo.Text); return(_itemTrilhaEdicao); }
protected void dgvQuestionarios_RowCommand(object sender, GridViewCommandEventArgs e) { var idQuestionario = int.Parse(e.CommandArgument.ToString()); _manterQuestionario = new ManterQuestionario(); if (e.CommandName.Equals("excluir")) { try { var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); _manterQuestionario.ExcluirQuestionario(idQuestionario, usuarioLogado); WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Registro excluído com sucesso!", "ListarQuestionario.aspx"); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } catch (Exception) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Não foi possível processar a solicitação. Favor verificar registros dependentes."); } } else if (e.CommandName.Equals("editar")) { Response.Redirect(string.Format("EdicaoQuestionarioU.aspx?Id={0}&Session={1}", idQuestionario, WebFormHelper.ObterStringAleatoria())); } else if (e.CommandName.Equals("duplicar")) { Response.Redirect(string.Format("EdicaoQuestionarioU.aspx?Id={0}&Session={1}&Duplicar=1", idQuestionario, WebFormHelper.ObterStringAleatoria())); } else if (e.CommandName.Equals("visualizar")) { if (Master != null) { if (Master.Master != null) { var pnlbackdrop = ((Panel)Master.Master.FindControl("pnlbackdrop")); if (pnlbackdrop != null) { pnlbackdrop.Visible = pnlVisualizar.Visible = true; PreencherVisualizacaoQuestionario(_manterQuestionario.ObterQuestionarioPorID(idQuestionario)); return; } } } WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao, "Não foi possível obter o Termo para exibição. Tente novamente."); } }
protected void btnPesquisar_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } try { var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); var listaQuestionario = new ManterQuestionario().ObterQuestionarioPorUf(usuarioLogado); var text = txtNome.Text.Trim().ToLower(); if (!string.IsNullOrWhiteSpace(text)) { listaQuestionario = listaQuestionario.Where(x => x.Nome.Trim().ToLower().Contains(text)); } var idsUfs = ListBoxesUF.RecuperarIdsSelecionados <int>().ToList(); if (idsUfs.Count > 0) { listaQuestionario = listaQuestionario.Where(x => x.Uf != null && idsUfs.Contains(x.Uf.ID)); } var idsTiposQuestionario = ListBoxesTipoQuestionario.RecuperarIdsSelecionados <int>().ToList(); if (idsTiposQuestionario.Count > 0) { listaQuestionario = listaQuestionario.Where(x => idsTiposQuestionario.Contains(x.TipoQuestionario.ID)); } var status = int.Parse(ddlStatus.SelectedValue); if (status == 1) { listaQuestionario = listaQuestionario.Where(x => x.Ativo == true); } if (status == 2) { listaQuestionario = listaQuestionario.Where(x => x.Ativo != true); } if (listaQuestionario.Any()) { WebFormHelper.PreencherGrid(listaQuestionario.ToList(), dgvQuestionarios); pnlQuestionario.Visible = true; } else { pnlQuestionario.Visible = false; WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Nenhuma Informação Encontrada"); } } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
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() }); }