private void TratarExclusaoDeUmItemDoQuestionario() { ItemQuestionario itemQuestionario = new ManterItemQuestionario().ObterItemQuestionarioPorID(this.IdItemQuestionario); if (itemQuestionario != null) { if (this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.ID == this.IdItemQuestionario).Any()) { ItemQuestionario itemQuestionarioComIdDoBanco = this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.ID == this.IdItemQuestionario).ToList()[0]; this.QuestionarioDaSessao.ListaItemQuestionario.Remove(itemQuestionarioComIdDoBanco); this.AtualizarTela(); } } else { if (this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.IdLogico == this.IdLogicoItemQuestionario).Any()) { ItemQuestionario itemQuestionarioComIdLogico = this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.IdLogico == this.IdLogicoItemQuestionario).ToList()[0]; this.QuestionarioDaSessao.ListaItemQuestionario.Remove(itemQuestionarioComIdLogico); this.AtualizarTela(); } } }
private void TratarEdicaoDeUmItemDoQuestionario() { ItemQuestionario itemQuestionario = new ManterItemQuestionario().ObterItemQuestionarioPorID(this.IdItemQuestionario); /* Se encontrou o item do questionário pelo seu id, significa que estamos recuperando um * item de questionário (ou seja, a pergunta de um questionário) do banco de dados */ if (itemQuestionario != null) { //this.CarregarDadosDoCadastroDeItensDoQuestionario(itemQuestionario); //novo ItemQuestionario itemQuestionarioEditada = this.QuestionarioDaSessao.ListaItemQuestionario.FirstOrDefault(x => x.ID == this.IdItemQuestionario); if (itemQuestionarioEditada != null) { if (itemQuestionarioEditada.StatusRegistro.Equals(enumStatusRegistro.Alterado)) { itemQuestionario = (ItemQuestionario)itemQuestionarioEditada.Clone(); } } this.CarregarDadosDoCadastroDeItensDoQuestionario(itemQuestionario); //novo } else { /* Se não encontrou o item do questionário, significa que o item não está gravado no banco, ou seja, * estamos recuperando o item do questionário que está em memória (na variavel de sessao this.QuestionarioDaSessao) */ if (this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.IdLogico == this.IdLogicoItemQuestionario).Any()) { //Obtém o item do questionário através do IdLogico do item do questionário ItemQuestionario itemQuestionarioComIdLogico = this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.IdLogico == this.IdLogicoItemQuestionario).ToList()[0]; this.CarregarDadosDoCadastroDeItensDoQuestionario(itemQuestionarioComIdLogico); } } }
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); } }