示例#1
0
        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"));
        }