public ActionResult Cadastrar(RespostaViewModel respostaViewModel)
        {
            ApplicationUser user = GetLoggedUser();

            if (ModelState.IsValid)
            {
                var resposta = new Resposta()
                {
                    PerguntaId = respostaViewModel.PerguntaId,
                    Autor      = respostaViewModel.Autor,
                    AlunoRm    = user.Rm,
                    Descricao  = respostaViewModel.Descricao,
                    Data       = DateTime.Now
                };

                _unit.RespostaRepository.Cadastrar(resposta);
                _unit.Salvar();

                return(RedirectToAction("Listar", new { id = respostaViewModel.PerguntaId, rm = respostaViewModel.Autor }));
            }
            else
            {
                return(View(respostaViewModel));
            }
        }
        public ActionResult SalvarRespostasEJustificativasElaboradas(Guid QuestaoId, string resposta, string justificativa)
        {
            try
            {
                var dadosQuestao = _questaoAppService.GetById(QuestaoId);

                var dadosResposta = new RespostaViewModel
                {
                    TopicoAtribuidoId   = dadosQuestao.TopicoAtribuidoId,
                    QuestaoId           = dadosQuestao.QuestaoId,
                    Descricao           = resposta,
                    Justificativa       = justificativa,
                    Correcao            = "",
                    Status              = "",
                    ObservacaoRevisor   = "",
                    ObservacaoRevisor2  = "",
                    Imagem              = "",
                    ImagemJustificativa = ""
                };

                _respostaAppService.Add(dadosResposta);

                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 3
0
 public RespostaViewModel Update(RespostaViewModel obj)
 {
     BeginTransaction();
     _respostaService.Update(Mapper.Map <RespostaViewModel, Resposta>(obj));
     Commit();
     return(obj);
 }
Esempio n. 4
0
        public ActionResult inserirResposta(long idQuestao)
        {
            RespostaViewModel rvm = new RespostaViewModel();

            rvm.Questao = dbContext.Questao.SingleOrDefault(q => q.idQuestao == idQuestao);
            return(View(rvm));
        }
Esempio n. 5
0
        public RespostaViewModel Add(RespostaViewModel obj)
        {
            var resposta = Mapper.Map <RespostaViewModel, Resposta>(obj);

            BeginTransaction();
            _respostaService.Add(resposta);
            Commit();
            return(obj);
        }
        public ActionResult Cadastrar(int id, int rm)
        {
            var respostaViewModel = new RespostaViewModel()
            {
                PerguntaId = id,
                Autor      = rm
            };

            return(View(respostaViewModel));
        }
        public ActionResult Cadastrar(int id, int rm)
        {
            ApplicationUser user = GetLoggedUser();

            var respostaViewModel = new RespostaViewModel()
            {
                PerguntaId = id,
                Autor      = rm
            };

            return(View(respostaViewModel));
        }
        public IActionResult Index(IFormCollection form)
        {
            try
            {
                System.Console.WriteLine("==================");
                System.Console.WriteLine(form["nome"]);
                System.Console.WriteLine(form["senha"]);
                System.Console.WriteLine("==================");

                var usuario = form["nome"];
                var senha   = form["senha"];

                var cliente = clienteRepository.ObterPor(usuario);

                if (cliente != null)
                {
                    if (cliente.Senha.Equals(senha))
                    {
                        switch (cliente.TipoUsuario)
                        {
                        case (uint)TiposUsuario.CLIENTE:
                            HttpContext.Session.SetString(SESSION_CLIENTE_EMAIL, usuario);
                            HttpContext.Session.SetString(SESSION_CLIENTE_NOME, cliente.Nome);
                            HttpContext.Session.SetString(SESSION_CLIENTE_TIPO, cliente.TipoUsuario.ToString());

                            return(RedirectToAction("Index", "Cliente"));

                        default:
                            HttpContext.Session.SetString(SESSION_CLIENTE_EMAIL, usuario);
                            HttpContext.Session.SetString(SESSION_CLIENTE_NOME, cliente.Nome);
                            HttpContext.Session.SetString(SESSION_CLIENTE_TIPO, cliente.TipoUsuario.ToString());

                            return(RedirectToAction("Dashboard", "Administrador"));
                        }
                    }
                    else
                    {
                        RespostaViewModel resposta = new RespostaViewModel("Senha incorreta");
                        resposta.NomeView = "Erro";
                        return(View("Erro", resposta));
                    }
                }
                else
                {
                    return(View("Erro", new RespostaViewModel($"Usuário {usuario} não encontrado")));
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.StackTrace);
                return(View("Erro"));
            }
        }
        public ActionResult Listar(int id, int rm)
        {
            var pergunta = _unit.PerguntaRepository.BuscarPorChave(id, rm);

            var respostaViewModel = new RespostaViewModel()
            {
                Respostas = _unit.RespostaRepository.BuscarPor(r => r.PerguntaId == id),
                Pergunta  = pergunta
            };

            return(View(respostaViewModel));
        }
Esempio n. 10
0
        public ActionResult GetRespostaToUpdate(long idResposta, string StatusMesage = "")
        {
            RespostaViewModel rvm = new RespostaViewModel();

            rvm.Resposta = GetResposta(idResposta);
            if (rvm != null)
            {
                rvm.StatusMessage = StatusMesage;
                return(View("EditarResposta", rvm));
            }
            else
            {
                return(View("Error"));
            }
        }
Esempio n. 11
0
        public ActionResult EnvioAlternativa(RespostaViewModel respostaViewModel)
        {
            var respostas         = respostaViewModel.ConverterParaRespostas(base.IdUsuarioAutenticado);
            var retornosRespostas = new List <Retorno>();

            foreach (var resposta in respostas)
            {
                var retorno = _servicoRespostas.InserirResposta(resposta);
                retornosRespostas.Add(retorno);
            }

            var resultadoRespostas = _servicoRespostas.SelecionarResultadoQuestionario(respostas.Select(x => x.Id).ToList());

            return(Json(new { Erro = retornosRespostas.Any(x => !x.Sucesso), Resultado = resultadoRespostas }));
        }
Esempio n. 12
0
 public IActionResult Index(RespostaViewModel respostaViewModel)
 {
     if (respostaViewModel == null)
     {
         return(View(new BaseViewModel()
         {
             NomeView = "Cadastro",
             UsuarioEmail = ObterUsuarioSession(),
             UsuarioNome = ObterUsuario_Nome_Session()
         }));
     }
     else
     {
         return(View(respostaViewModel));
     }
 }
        public ActionResult Cadastrar(RespostaViewModel respostaViewModel)
        {
            var resposta = new Resposta()
            {
                Id         = _id++,
                PerguntaId = respostaViewModel.PerguntaId,
                Autor      = respostaViewModel.Autor,
                AlunoRm    = 12345,
                Descricao  = respostaViewModel.Descricao,
                Data       = DateTime.Now
            };

            _unit.RespostaRepository.Cadastrar(resposta);
            _unit.Salvar();

            return(RedirectToAction("Listar", new { id = respostaViewModel.PerguntaId, rm = respostaViewModel.Autor }));
        }
Esempio n. 14
0
        public async Task <ActionResult> UpdateResposta(Resposta resposta)
        {
            var alvo = GetResposta(resposta.idResposta);

            if (alvo != null && ModelState.IsValid)
            {
                dbContext.Entry(alvo).CurrentValues.SetValues(resposta);
                await dbContext.SaveChangesAsync();

                return(RedirectToAction(nameof(GetRespostaToUpdate), new { idResposta = alvo.idResposta, StatusMesage = "The answer has been updated." }));
            }
            else
            {
                RespostaViewModel rvm = new RespostaViewModel();
                rvm.Resposta = alvo;
                return(View("EditarResposta", rvm));
            }
        }
Esempio n. 15
0
        public async Task <ActionResult> CriarResposta(Resposta resposta)
        {
            if (ModelState.IsValid)
            {
                dbContext.Resposta.Add(resposta);
                await dbContext.SaveChangesAsync();

                return(RedirectToRoute(new {
                    controller = "Questao",
                    action = "GetQuestaoToUpdate",
                    idQuestao = resposta.idQuestao
                }));
            }
            RespostaViewModel rvm = new RespostaViewModel();

            rvm.Questao = dbContext.Questao.SingleOrDefault(q => q.idQuestao == resposta.idQuestao);
            return(View("InserirResposta", rvm));
        }
 public void Remove(RespostaViewModel respostaViewModel)
 {
     _respostaService.Remove(Mapper.Map <RespostaViewModel, Resposta>(respostaViewModel));
 }
        public RespostaViewModel Add(RespostaViewModel respostaViewModel)
        {
            var respostaAdicionada = _respostaService.Add(Mapper.Map <RespostaViewModel, Resposta>(respostaViewModel));

            return(Mapper.Map <Resposta, RespostaViewModel>(respostaAdicionada));
        }
Esempio n. 18
0
        public async Task <IActionResult> Responder(int tarefaId, int ordem, [FromBody]  RespostaViewModel model)
        {
            Aprendiz aprendiz = db.Aprendizes
                                .Include(a => a.Respostas)
                                .SingleOrDefault(u => u.Id == model.AprendizId);

            if (aprendiz == null)
            {
                throw new HttpException(401, new { Mensagem = "Não é aprendiz" });
            }

            Questao questao = await db.Questoes
                              .Include(d => d.Alternativas)
                              .Include(d => d.Respostas)
                              .Include(d => d.Tarefa)
                              .FirstOrDefaultAsync(d => d.TarefaId == tarefaId && d.Ordem == ordem);

            if (questao.Respostas.Any(d => d.Aprendiz == aprendiz))
            {
                throw new HttpException(401, new { Mensagem = "Já respondido" });
            }

            if (questao == null)
            {
                throw new HttpException(404, new { Mensagem = "Questao não encontrada" });
            }

            var alternativa = questao.Alternativas.FirstOrDefault(d => d.Id == model.AlternativaId);

            if (alternativa == null)
            {
                throw new HttpException(404, new { Mensagem = "Alternativa não encontrada" });
            }

            Resposta resposta = new Resposta()
            {
                Aprendiz      = aprendiz,
                AprendizId    = aprendiz.Id,
                Questao       = questao,
                TarefaId      = tarefaId,
                Ordem         = ordem,
                Alternativa   = alternativa,
                AlternativaId = alternativa.Id
            };

            aprendiz.Respostas.Add(resposta);
            db.Respostas.Add(resposta);

            await db.SaveChangesAsync();

            bool isLastAnswer = await db.Tarefas
                                .Include(t => t.Questoes)
                                .ThenInclude(q => q.Respostas)
                                .Where(t => t.Id == tarefaId)
                                .Where(t => t.Questoes.All(q => q.Respostas.Any(r => r.Aprendiz == aprendiz)))
                                .AnyAsync();

            // verify if finished answering
            if (isLastAnswer)
            {
                var tarefa = await db.Tarefas
                             .Include(t => t.Questoes)
                             .ThenInclude(q => q.Respostas)
                             .ThenInclude(q => q.Alternativa)
                             .FirstOrDefaultAsync(t => t.Id == tarefaId);

                if (tarefa.Questoes
                    .All(q => q.Respostas
                         .Where(r => r.Aprendiz == aprendiz)
                         .All(r => r.Alternativa.Correta)))
                {
                    aprendiz.Nivel = Math.Max(aprendiz.Nivel, questao.Tarefa.Nivel + 1);
                }
            }

            await db.SaveChangesAsync();

            return(Ok());
        }
 public void Update(RespostaViewModel respostaViewModel)
 {
     _respostaService.Update(Mapper.Map <RespostaViewModel, Resposta>(respostaViewModel));
 }