public IActionResult ListarQuestionario(int ID)
        {
            QuestionarioRepository repository  = new QuestionarioRepository();
            List <PerguntaModel>   lista       = repository.ListarPerguntas(ID);
            List <Respondido>      respondidos = repository.ListarRespondidos(ID);
            List <Resposta>        respostas   = repository.ListarRespostas(ID);

            return(View(new PerguntaViewModel {
                Respostas = respostas, Questionarios = respondidos, Perguntas = lista, NomeView = "Cadastro", UsuarioEmail = ObterUsuarioSession(), UsuarioNome = ObterUsuarioNomeSession()
            }));
        }
        private DbFactory()
        {
            Conexao();

            ClienteRepository        = new ClienteRepository(Session);
            LoginRepository          = new LoginRepository(Session);
            EnderecoRepository       = new EnderecoRepository(Session);
            AdministradorRespository = new AdministradorRespository(Session);
            ProdutoRepository        = new ProdutoRepository(Session);
            FabricanteRepository     = new FabricanteRepository(Session);
            QuestionarioRepository   = new QuestionarioRepository(Session);
            CarrinhoRepository       = new CarrinhoRepository(Session);
            HistoricoBuscaRepository = new HistoricoBuscaRepository(Session);
            Lista_CompraRepository   = new Lista_CompraRepository(Session);
        }
        public IActionResult NovaResposta(IFormCollection form)
        {
            QuestionarioRepository repository = new QuestionarioRepository();
            Respondido             respondido = new Respondido();

            var email   = form["email"];
            var el      = form["elemento"];
            var todas   = form["todas"];
            var IdQuest = form["principal"];

            respondido.Email    = email;
            respondido.ID_Quest = Convert.ToInt32(IdQuest);

            string[] elementos = todas.ToString().Split(';');

            foreach (var item in elementos)
            {
                Resposta resposta = new Resposta();
                var      busca    = form[item];
                if (item != "")
                {
                    string[] words = busca.ToString().Split('¤');
                    string   str   = words[0].Substring(5);

                    if (str == "3")
                    {
                        string concat = "";
                        for (int i = 2; i < words.Length - 1; i++)
                        {
                            concat += words[i] + ";";
                        }
                        resposta.resposta = concat;
                    }
                    else
                    {
                        resposta.resposta = words[2].ToString();
                    }
                    resposta.ID_Pergunta = Convert.ToInt32(words[1].ToString().Substring(8));
                    resposta.ID_Quest    = Convert.ToInt32(IdQuest);
                    resposta.Email       = email;
                    repository.NovaResposta(resposta);
                }
            }
            repository.Respondido(respondido);
            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult Panel()
        {
            var ninguemLogado = string.IsNullOrEmpty(ObterUsuarioSession());

            if (!ninguemLogado)
            {
                QuestionarioRepository repository = new QuestionarioRepository();
                int ID = Convert.ToInt32(ObterUsuarioIDSession());
                List <Questionario> questionarios = repository.ListarQuestionarios(ID);
                return(View(new QuestionarioViewModel {
                    questionarios = questionarios, NomeView = "Panel", UsuarioEmail = ObterUsuarioSession(), UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(RedirectToAction("Index", "Usuario"));
            }
        }
        public IActionResult RespostaQuestionario(IFormCollection form, string url)
        {
            QuestionarioRepository repository     = new QuestionarioRepository();
            Questionario           questionario   = new Questionario();
            List <PerguntaModel>   ListaPerguntas = new List <PerguntaModel>();

            questionario = repository.buscar(url);
            if (questionario != null)
            {
                ListaPerguntas = repository.ListarPerguntas(questionario.ID);
                return(View(new PerguntaViewModel {
                    Perguntas = ListaPerguntas, NomeView = "RespostaQuest", UsuarioEmail = ObterUsuarioSession(), UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
        public IActionResult NovoQuestionario(IFormCollection form)
        {
            QuestionarioRepository repository = new QuestionarioRepository();
            Questionario           quest      = new Questionario();
            var names = form["todos"];

            quest.Titulo     = form["titulo"];
            quest.Descricao  = form["descricao"];
            quest.ID_Usuario = Convert.ToInt32(ObterUsuarioIDSession());
            int ID = repository.Registrar(quest);

            string[] nomes = names.ToString().Split(';');


            int cont = 1;

            foreach (var item in nomes)
            {
                PerguntaModel perguntaModel = new PerguntaModel();
                if (item != "")
                {
                    var      pergunta = form[item];
                    string[] pergunt  = pergunta.ToString().Split('¥');
                    string   str      = pergunt[1].Substring(13);
                    int      tipo     = Convert.ToInt32(str);
                    if (tipo == 1)
                    {
                        perguntaModel.TipoResposta = tipo.ToString();
                    }
                    else if (tipo == 2)
                    {
                        string got   = pergunt[2].Substring(11);
                        int    count = Convert.ToInt32(got) + 3;
                        string stro  = "";
                        for (int i = 3; i < count; i++)
                        {
                            stro += pergunt[i].Substring(7) + ";";
                        }
                        perguntaModel.TipoResposta = $"TipoResposta=select;" + stro;
                    }
                    else
                    {
                        string got   = pergunt[2].Substring(11);
                        int    count = Convert.ToInt32(got) + 3;
                        string stro  = "";
                        for (int i = 3; i < count; i++)
                        {
                            stro += pergunt[i].Substring(7) + ";";
                        }
                        perguntaModel.TipoResposta = $"TipoResposta=checkbox;" + stro;
                    }
                    perguntaModel.ID_Questionario = ID;
                    perguntaModel.Ordem           = cont;
                    perguntaModel.DataCricao      = DateTime.Now;
                    perguntaModel.Pergunta        = pergunt[0].Substring(9);

                    repository.NovaPergunta(perguntaModel);
                    cont++;
                }
            }
            return(RedirectToAction("Panel", "Usuario"));
        }