/// <summary>
 /// Altera dados na base de dados
 /// </summary>
 /// <param name="entrevistado"></param>
 public void Editar(EntrevistadoModel entrevistado)
 {
     tb_entrevistado entrevistadoE = new tb_entrevistado();
     Atribuir(entrevistado, entrevistadoE);
     unitOfWork.RepositorioEntrevistado.Editar(entrevistadoE);
     unitOfWork.Commit(shared);
 }
 /// <summary>
 /// Insere um novo na base de dados
 /// </summary>
 /// <param name="entrevistado">Dados do modelo</param>
 /// <returns>Chave identificante na base</returns>
 public int Inserir(EntrevistadoModel entrevistado)
 {
     tb_entrevistado entrevistadoE = new tb_entrevistado();
     Atribuir(entrevistado, entrevistadoE);
     unitOfWork.RepositorioEntrevistado.Inserir(entrevistadoE);
     unitOfWork.Commit(shared);
     return entrevistadoE.idTB_ENTREVISTADO;
 }
        public ActionResult Create(QuestaoModel questao)
        {
            EntrevistadoModel entrevistado = new EntrevistadoModel();
            RespostaModel resposta = new RespostaModel();
            resposta = questao.respostas;
            resposta.id_Questao = questao.id_Questao;
            resposta.idtb_entrevistado = gEntrevistado.Inserir(entrevistado);
            gResposta.Inserir(resposta);

            return RedirectToAction("Index");
        }
 /// <summary>
 /// Atribui dados do ClienteModel para o Cliente Entity
 /// </summary>
 /// <param name="entrevistado">Objeto do modelo</param>
 /// <param name="entrevistadoE">Entity mapeada da base de dados</param>
 private void Atribuir(EntrevistadoModel entrevistado, tb_entrevistado entrevistadoE)
 {
     entrevistadoE.idTB_ENTREVISTADO = entrevistado.idtb_entrevistado;
      entrevistadoE.NOME = entrevistado.nome;
      entrevistadoE.SOBRENOME = entrevistado.sobrenome;
      entrevistadoE.EMAIL = entrevistado.email;
 }
        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");
            }
        }
 public ActionResult CreateResposta(RespostaModel resp)
 {
     EntrevistadoModel entrevistado = new EntrevistadoModel();
     resp.idtb_entrevistado = gEntrevistado.Inserir(entrevistado);
     gResposta.Inserir(resp);
     return RedirectToAction("Index");
 }