public IActionResult CadastrarQuestionario(QuestionarioCadastroViewModel questionarioCadastro) { string Nome = questionarioCadastro.NomeDoQuestionario; Periodo periodo = new Periodo(); periodo.DataInicial = questionarioCadastro.PeriodoInicial; periodo.DataFinal = questionarioCadastro.PeriodoFinal; Questionario questionario = new Questionario() { Periodo = periodo }; questionario.Nome = Nome; questionario.Ativo = true; if (questionarioCadastro.ListaDeIdDePerguntas == null || questionarioCadastro.ListaDeIdDePerguntas.Count() == 0) { TempData["ErroPerguntaVazia"] = "O questionario precisa de perguntas para ser cadastrado."; return(RedirectToAction("CadastrarQuestionario", "Admin")); } foreach (var perguntaId in questionarioCadastro.ListaDeIdDePerguntas) { Pergunta pergunta = new Pergunta(); pergunta = _perguntaRepository.ObterPerguntaPeloId(perguntaId); if (pergunta == null || pergunta.Id == 0) { return(View()); } var questionarioPergunta = new QuestionarioPergunta(); questionarioPergunta.PerguntaId = pergunta.Id; questionarioPergunta.QuestionarioId = questionario.Id; questionario.Perguntas = new List <QuestionarioPergunta>(); questionario.Perguntas.Add(questionarioPergunta); } if (questionario.EhValido()) { _questionarioRepository.Salvar(questionario); } else { TempData["ErroQuestionario"] = "Por favor verifique se todos os campos foram preenchidos."; return(RedirectToAction("CadastrarQuestionario", "Admin")); } TempData["SucessoQuestionario"] = "Questionario cadastrado com sucesso."; return(RedirectToAction("CadastrarQuestionario", "Admin")); }