public ActionResult Editar(string codigo, FormCollection formCollection) { if (!formCollection.HasKeys() || String.IsNullOrWhiteSpace(codigo)) { return(RedirectToAction("Index")); } int codQuestao = 0; int.TryParse(codigo, out codQuestao); Questao questao = null; if (codQuestao > 0) { questao = Questao.ListarPorCodigo(codQuestao); } questao.Enunciado = !String.IsNullOrWhiteSpace(formCollection["txtEnunciado"]) ? formCollection["txtEnunciado"].Trim() : questao.Enunciado; questao.Objetivo = !String.IsNullOrWhiteSpace(formCollection["txtObjetivo"]) ? formCollection["txtObjetivo"].RemoveSpaces() : questao.Objetivo; if (questao.CodTipoQuestao == 2) { questao.ChaveDeResposta = !String.IsNullOrWhiteSpace(formCollection["txtChaveDeResposta"]) ? formCollection["txtChaveDeResposta"].Trim() : questao.ChaveDeResposta; questao.Comentario = !String.IsNullOrWhiteSpace(formCollection["txtComentario"]) ? formCollection["txtComentario"].RemoveSpaces() : questao.Comentario; } if (questao.CodTipoQuestao == 1) { for (int i = 0; i < questao.Alternativa.Count; i++) { questao.Alternativa.ElementAt(i).Enunciado = !String.IsNullOrWhiteSpace(formCollection["txtAlternativaEnunciado" + (i + 1)]) ? formCollection["txtAlternativaEnunciado" + (i + 1)].RemoveSpaces() : questao.Alternativa.ElementAt(i).Enunciado; questao.Alternativa.ElementAt(i).Comentario = !String.IsNullOrWhiteSpace(formCollection["txtAlternativaComentario" + (i + 1)]) ? formCollection["txtAlternativaComentario" + (i + 1)].RemoveSpaces() : questao.Alternativa.ElementAt(i).Comentario; } } if (questao.QuestaoAnexo.Count > 0) { for (int i = 0; i < questao.QuestaoAnexo.Count; i++) { if (questao.QuestaoAnexo.ElementAt(i).CodTipoAnexo == TipoAnexo.TEXTO && !String.IsNullOrWhiteSpace($"txtAnexo{(i + 1)}")) { questao.QuestaoAnexo.ElementAt(i).Anexo = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes(); } questao.QuestaoAnexo.ElementAt(i).Legenda = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : questao.QuestaoAnexo.ElementAt(i).Legenda; questao.QuestaoAnexo.ElementAt(i).Fonte = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : String.Empty; } } Questao.Atualizar(questao); Lembrete.AdicionarNotificacao($"Questão {questao.CodQuestao} editada com sucesso.", Lembrete.POSITIVO); return(RedirectToAction("Detalhe", new { codigo = questao.CodQuestao })); }