public ActionResult Delete(int id, SurveyModel survey) { int i = 0; survey = gSurvey.Obter(id); survey.questoes = gQuestao.ListaQuestaoSurvey(id).ToList(); if (ModelState.IsValid) { foreach (QuestaoModel questao in survey.questoes) { gResposta.RemoverRespostaPorQuestao(questao.id_Questao); survey.questoes[i].itens = gItens.ObterItens(survey.questoes[i].id_Questao).ToList(); survey.questoes[i].codigos = gClasses.ObterClasses(survey.questoes[i].id_Questao).ToList(); foreach (Itens_da_QuestaoModel item in survey.questoes[i].itens) { gItens.RemoverPorQuestao(questao.id_Questao); } foreach (ClasseModel item in survey.questoes[i].codigos) { gClasses.RemoverPorQuestao(questao.id_Questao); } i++; } foreach (QuestaoModel questao in survey.questoes) { gQuestao.RemoverQuestaoPorSurvey(id); } } gSurvey.Remover(id); return(RedirectToAction("Index")); }