protected void btnGravarQuestao_Click(object sender, EventArgs e) { bool podeGravar = true; int codigoProblema = 0; if (txtQuestao.Value.Equals("")) { formTitulo.Attributes["class"] = "form-group has-error"; helpBlockQuestao.InnerText = "Questão é preenchimento obrigatório"; podeGravar = false; } if (txtResposta.Value.Equals("")) { formDescricao.Attributes["class"] = "form-group has-error"; helpBlockResposta.InnerText = "Resposta é preenchimento obrigatório"; podeGravar = false; } else { try { codigoProblema = int.Parse(txtResposta.Value); } catch { formDescricao.Attributes["class"] = "form-group has-error"; helpBlockResposta.InnerText = "Resposta deve ser númerica."; podeGravar = false; } } if (podeGravar) { Questao questao = new Questao(); questao.questao = txtQuestao.Value; questao.resposta = codigoProblema; questao.IdProblema = int.Parse(selProblema.SelectedValue); if (questao.Inserir()) { alerta.Attributes["class"] = "alert alert-success bottom20"; alerta.InnerText = "Solução Cadastrada com Sucesso."; txtQuestao.Value = ""; txtResposta.Value = ""; carregarQuestoes(questao.IdProblema); } else { alerta.Attributes["class"] = "alert alert-danger bottom20"; alerta.InnerText = questao.message; } } }
public ActionResult Confirmar(FormCollection formCollection) { if (!formCollection.HasKeys()) { return(RedirectToAction("Index")); } var questao = new Questao(); questao.Professor = Professor.ListarPorMatricula(Sessao.UsuarioMatricula); questao.CodProfessor = questao.Professor.CodProfessor; // Gerais questao.CodDificuldade = int.Parse(formCollection["ddlDificuldade"]); questao.Dificuldade = Dificuldade.ListarPorCodigo(questao.CodDificuldade); questao.CodTipoQuestao = int.Parse(formCollection["ddlTipo"]); questao.TipoQuestao = TipoQuestao.ListarPorCodigo(questao.CodTipoQuestao); int codDisciplina = int.Parse(formCollection["ddlDisciplina"]); string[] codTemas = formCollection["ddlTema"].Split(','); foreach (var strCodTema in codTemas) { int codTema = int.Parse(strCodTema); questao.QuestaoTema.Add(new QuestaoTema { CodDisciplina = codDisciplina, CodTema = codTema, Tema = Tema.ListarPorCodigo(codDisciplina, codTema) }); } // Detalhes questao.Enunciado = formCollection["txtEnunciado"].Trim(); questao.Objetivo = !String.IsNullOrWhiteSpace(formCollection["txtObjetivo"]) ? formCollection["txtObjetivo"].RemoveSpaces() : null; // Discursiva if (questao.CodTipoQuestao == TipoQuestao.DISCURSIVA) { questao.ChaveDeResposta = formCollection["txtChaveDeResposta"].Trim(); questao.Comentario = !String.IsNullOrWhiteSpace(formCollection["txtComentario"]) ? formCollection["txtComentario"].RemoveSpaces() : null; } // Objetiva if (questao.CodTipoQuestao == TipoQuestao.OBJETIVA) { int qteAlternativas = int.Parse(formCollection["txtQtdAlternativas"]); for (int i = 0; i < qteAlternativas; i++) { questao.Alternativa.Add(new Alternativa { CodOrdem = i, Enunciado = formCollection["txtAlternativaEnunciado" + (i + 1)].RemoveSpaces(), Comentario = !String.IsNullOrWhiteSpace(formCollection["txtAlternativaComentario" + (i + 1)]) ? formCollection["txtAlternativaComentario" + (i + 1)].RemoveSpaces() : null, FlagGabarito = !String.IsNullOrWhiteSpace(formCollection["chkAlternativaCorreta" + (i + 1)]) ? true : false }); } } // Anexos if (!String.IsNullOrWhiteSpace(formCollection["chkAnexos"]) && !String.IsNullOrWhiteSpace(formCollection["txtQtdAnexos"])) { int iAnexoImage = 0; int qteAnexos = int.Parse(formCollection["txtQtdAnexos"]); for (int i = 0; i < qteAnexos; i++) { int tipoAnexo = int.Parse(formCollection["txtAnexoTipo" + (i + 1)]); switch (tipoAnexo) { case TipoAnexo.IMAGEM: questao.QuestaoAnexo.Add(new QuestaoAnexo { CodOrdem = i, CodTipoAnexo = tipoAnexo, Legenda = formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces(), Fonte = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null, Anexo = new System.IO.BinaryReader(Request.Files[iAnexoImage].InputStream).ReadBytes(Request.Files[iAnexoImage].ContentLength) }); iAnexoImage++; break; case TipoAnexo.CODIGO: questao.QuestaoAnexo.Add(new QuestaoAnexo { CodOrdem = i, CodTipoAnexo = tipoAnexo, Legenda = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : null, Fonte = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null, Anexo = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes() }); break; case TipoAnexo.TEXTO: questao.QuestaoAnexo.Add(new QuestaoAnexo { CodOrdem = i, CodTipoAnexo = tipoAnexo, Legenda = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : null, Fonte = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null, Anexo = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes() }); break; default: break; } } } Questao.Inserir(questao); Lembrete.AdicionarNotificacao($"Questão {questao.CodQuestao} cadastrada com sucesso.", Lembrete.POSITIVO); return(RedirectToAction("Detalhe", new { codigo = questao.CodQuestao })); }