示例#1
0
 /// <summary>
 /// Altera dados na base de dados
 /// </summary>
 /// <param name="surveyssoa"></param>
 public void Editar(SurveyModel survey)
 {
     tb_survey surveyE = new tb_survey();
     Atribuir(survey, surveyE);
     unitOfWork.RepositorioSurvey.Editar(surveyE);
     unitOfWork.Commit(shared);
 }
示例#2
0
 /// <summary>
 /// Insere um novo na base de dados
 /// </summary>
 /// <param name="surveyssoa">Dados do modelo</param>
 /// <returns>Chave identificante na base</returns>
 public int Inserir(SurveyModel survey)
 {
     tb_survey surveyE = new tb_survey();
     Atribuir(survey, surveyE);
     unitOfWork.RepositorioSurvey.Inserir(surveyE);
     unitOfWork.Commit(shared);
     return surveyE.id_Survey;
 }
示例#3
0
        public ActionResult CreateQuestoes(SurveyModel survey)
        {
            //List<QuestaoModel> novasquestoes = new List<QuestaoModel>();
            //List<Itens_da_QuestaoModel> itensQuestoes = new List<Itens_da_QuestaoModel>();

            foreach (QuestaoModel questao in survey.questoes)
            {
                if (questao.Pergunta != null)
                {
                    questao.id_Survey = survey.id_Survey;
                    //questao.idtb_itens_da_questao = gItens.Inserir(questao.itens);
                    gQuestao.Inserir(questao);
                }

            }

            return RedirectToAction("Index");
        }
示例#4
0
        public SurveyModel ListaQuestoesItens(int id)
        {
            SurveyModel survey = new SurveyModel();
            survey = gSurvey.Obter(id);
            survey.questoes = gQuestao.ListaQuestaoSurvey(id).ToList();
            for (int j = 0; j < survey.questoes.Count; j++)
            {
                if (survey.questoes[j].EhCodigo)
                {
                    survey.questoes[j].codigos = gClasses.ObterClasses(survey.questoes[j].id_Questao).ToList();
                }
            }

            for (int i = 0; i < survey.questoes.Count; i++)
            {
                int odin = survey.questoes[i].id_Questao;
                survey.questoes[i].itens = gItens.ObterItens(odin).ToList();

                if (survey.questoes[i].Randomica)
                {
                    List<string> auxList = new List<string>();
                    for (int j = 0; j < survey.questoes[i].itens.Count; j++)
                    {
                        auxList.Add(survey.questoes[i].itens[j].Item);

                    }

                    List<string> randomList = new List<string>();
                    Random r = new Random();
                    int randomIndex = 0;

                    while (auxList.Count > 0)
                    {
                        randomIndex = r.Next(0, auxList.Count); //Choose a random object in the list
                        randomList.Add(auxList[randomIndex]); //add it to the new, random list
                        auxList.RemoveAt(randomIndex); //remove to avoid duplicates
                    }
                    for (int k = 0; k < randomList.Count; k++)
                    {
                        survey.questoes[i].itens[k].Item = randomList[k].ToString();

                    }

                }

            }
            return survey;
        }
示例#5
0
        public ActionResult Edit(int id, SurveyModel surveyModel)
        {
            if (ModelState.IsValid)
            {

                gSurvey.Editar(surveyModel);
                return RedirectToAction("Index");
            }

            return View(surveyModel);
        }
示例#6
0
        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");
        }
示例#7
0
        public ActionResult CreateSurvey(SurveyModel survey)
        {
            //MembershipUser usuario = Membership.GetUser();
            //int idCodigo = retornarIdResponsavel(usuario.ToString());
            //survey.id_Responsavel = idCodigo;
            if (ModelState.IsValid)
            {
                gSurvey.Inserir(survey);
                return RedirectToAction("Index");

            }

            return View(survey);
        }
 public ActionResult CreateViewTotal(int id)
 {
     SurveyModel survey_2 = new SurveyModel();
     ViewBag.id_Survey = id;
     survey_2 = gSurvey.Obter(id);
     if (survey_2.Data_fim < DateTime.Now)
     {
         TempData["Mensagem"] = "Data limite do Survey expirada, contate o responsável.";
         //ViewBag.Mensagem = "Data limite do Survey expirada, contate o responsável.";
         return RedirectToAction("Inativo/" + survey_2.id_Survey, "Survey");
     }
     else if (survey_2.flag_ativo != true)
     {
         TempData["Mensagem"] = "Survey Inativo, contate o responsável.";
         return RedirectToAction("Inativo/" + survey_2.id_Survey, "Survey");
     }
     else
     {
         return View(ListaQuestoesItens(id));
     }
 }
        public ActionResult ListarRespostas(int id)
        {
            ViewBag.id_Survey = id;
            SurveyModel survey = new SurveyModel();
            survey = gSurvey.Obter(id);
            survey.questoes = gQuestao.ListaQuestaoSurvey(id).ToList();
            ViewBag.Titulo = survey.Titulo;
            List<RespostaModel> resp = new List<RespostaModel>();
            List<RespostaModel> resp2 = new List<RespostaModel>();
            for (int i = 0; i < survey.questoes.Count; i++)
            {
                //resp.Add(resp);
                resp = gResposta.ListaRespostaPorQuestao(survey.questoes[i].id_Questao).ToList();
                resp2.AddRange(resp);

            }

            return View(resp2);
        }
        public ActionResult CreateViewTotal(SurveyModel survey,  List<string> meucheck)
        {
            if (survey.Data_fim < DateTime.Now)
            {
                ViewBag.Mensagem = "Data limite do Survey expirada, contate o responsável.";
                return RedirectToAction("Inativo/" + survey.id_Survey, "Survey");
            }
            else if (survey.flag_ativo != true)
            {
                ViewBag.Mensagem = "Survey inativo, contate o responsável.";
                return RedirectToAction("Inativo/" + survey.id_Survey, "Survey");
            }
            else
            {

                int i = 0;
                Itens_da_QuestaoModel itensQuestaoRespostaCheck = new Itens_da_QuestaoModel();
                RespostaModel respostas = new RespostaModel();
                string ip = Request.UserHostAddress;
                EntrevistadoModel entrevistados = new EntrevistadoModel();
                //Posteriormente colocar um if aqui comparando com o IP para evitar que o mesmo entrevistado responda mais de
                //mais de uma vez.
                entrevistados.nome = ip;
                entrevistados.sobrenome = ip;
                entrevistados.email = ip;
                int id = gEntrevistado.Inserir(entrevistados);
                IQueryable<EntrevistadoModel> entrevistadoE = gEntrevistado.obterIdEntrevistadoUltimo();
                int idEnt = 0;

                foreach (EntrevistadoModel entrevistado in entrevistadoE)
                {
                    idEnt = entrevistado.idtb_entrevistado;
                }

                foreach (var iditem in meucheck)
                {
                    i = 0;
                    itensQuestaoRespostaCheck = gItens.ObterIDitem(Convert.ToInt32(iditem));
                    foreach (var item in survey.questoes)
                    {
                        if (itensQuestaoRespostaCheck.id_Questao == item.id_Questao)
                        {
                            respostas.OutroTxt = survey.questoes[i].respostas.OutroTxt;

                        }
                        i++;
                    }

                    respostas.id_Questao = itensQuestaoRespostaCheck.id_Questao;
                    respostas.Item = itensQuestaoRespostaCheck.Item;
                    respostas.idtb_entrevistado = idEnt;
                    respostas.Resposta = null;
                    gResposta.Inserir(respostas);

                }

                i = 0;
                foreach (QuestaoModel questoes in survey.questoes)
                {

                    if (survey.questoes[i].respostas.OutroTxt == null && survey.questoes[i].respostas.Item != null)
                    {

                        if (survey.questoes[i].Tipo.Equals("OBJETIVA") && survey.questoes[i].respostas.Item != null)
                        {

                            respostas.id_Questao = survey.questoes[i].id_Questao;
                            respostas.Item = survey.questoes[i].respostas.Item;
                            respostas.idtb_entrevistado = idEnt;
                            respostas.Resposta = null;
                            respostas.OutroTxt = null;
                            gResposta.Inserir(respostas);
                            i++;

                        }
                        else
                        {
                            if (survey.questoes[i].Tipo.Equals("SUBJETIVA"))
                            {
                                respostas.Resposta = survey.questoes[i].respostas.Resposta;
                                respostas.id_Questao = survey.questoes[i].id_Questao;
                                respostas.idtb_entrevistado = idEnt;
                                respostas.Item = null;
                                respostas.OutroTxt = null;
                                gResposta.Inserir(respostas);

                            }
                            i++;
                        }
                    }
                    else
                    {
                        if (survey.questoes[i].Tipo.Equals("SUBJETIVA"))
                        {
                            respostas.Resposta = survey.questoes[i].respostas.Resposta;
                            respostas.id_Questao = survey.questoes[i].id_Questao;
                            respostas.idtb_entrevistado = idEnt;
                            respostas.Item = null;
                            respostas.OutroTxt = null;
                            gResposta.Inserir(respostas);
                            i++;

                        }
                        else
                        {
                            if (survey.questoes[i].respostas.OutroTxt != null && survey.questoes[i].Escolha == false)
                            {
                                respostas.id_Questao = survey.questoes[i].id_Questao;
                                respostas.idtb_entrevistado = idEnt;
                                respostas.Item = null;
                                respostas.Resposta = null;
                                respostas.OutroTxt = survey.questoes[i].respostas.OutroTxt;
                                gResposta.Inserir(respostas);
                            }
                            i++;
                        }

                    }

                }

                return RedirectToAction("Index", "Home");
            }
        }
示例#11
0
 public ActionResult ListaQuestoes(SurveyModel survey)
 {
     ViewBag.id_Survey = survey.id_Survey;
     ViewBag.Titulo = gSurvey.Obter(survey.id_Survey).Titulo;
     return View(gQuestao.ListaQuestaoSurvey(survey.id_Survey));
 }
示例#12
0
        public ActionResult CreateQuestoes(SurveyModel survey, HttpPostedFileBase[] images)
        {
            if (images[0] != null && images[0].ContentLength > 0)
            {
                // extract only the fielname
                var fileName = Path.GetFileName(images[0].FileName);
                // store the file inside ~/App_Data/uploads folder
                var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
                images[0].SaveAs(path);
            }

            //List<QuestaoModel> novasquestoes = new List<QuestaoModel>();
            //List<Itens_da_QuestaoModel> itensQuestoes = new List<Itens_da_QuestaoModel>();

            foreach (QuestaoModel questao in survey.questoes)
            {
                if (questao.Pergunta != null)
                {
                    questao.id_Survey = survey.id_Survey;
                    //questao.idtb_itens_da_questao = gItens.Inserir(questao.itens);

                    questao.Img = new byte[images[0].ContentLength];
                    images[0].InputStream.Read(questao.Img, 0, images[0].ContentLength);

                    int idQuest = gQuestao.Inserir(questao);

                    Itens_da_QuestaoModel item = new Itens_da_QuestaoModel();
                    item.id_Questao = idQuest;

                    foreach (Itens_da_QuestaoModel itens in questao.itens)
                    {

                        //survey.questoes[i].itens
                        //item.id_Questao = questaoModel.id_Questao;

                        gItens.Inserir(item);

                    }
                }

            }

            return RedirectToAction("ListaQuestoes/" + survey.id_Survey, "Questao");
        }
示例#13
0
 /// <summary>
 /// Atribui dados do Survey Model para o Survey Entity
 /// </summary>
 /// <param name="surveyssoa">Objeto do modelo</param>
 /// <param name="survey">Entity survey da base de dados</param>
 private void Atribuir(SurveyModel survey, tb_survey surveyE)
 {
     surveyE.id_Survey = survey.id_Survey;
     surveyE.TB_RESPONSAVEL_id_Responsavel = survey.id_Responsavel;
     surveyE.Data_Criacao = survey.Data_Criacao;
     surveyE.Data_fim = survey.Data_fim;
     surveyE.Titulo = survey.Titulo;
     surveyE.Subtitulo = survey.Subtitulo;
     surveyE.flag_ativo = survey.flag_ativo;
     surveyE.RandomizeQuestoes = survey.RandomizeQuetsoes;
     surveyE.UnicaResposta = survey.UnicaResposta;
     surveyE.SenhaAcesso = survey.SenhaAcesso;
 }