public async Task <IActionResult> Edit(int id, [Bind("Id,Descricao,AvaliacaoId")] PerguntaAvaliacao perguntaAvaliacao)
        {
            if (id != perguntaAvaliacao.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _dbContext.Update(perguntaAvaliacao);
                    await _dbContext.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PerguntaAvaliacaoExists(perguntaAvaliacao.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index", "Avaliacoes", new { perguntaId = perguntaAvaliacao.Id }));
            }
            return(View(perguntaAvaliacao));
        }
Example #2
0
        // GET: Avaliacoes
        public async Task <IActionResult> Index(int?id, int?perguntaId)
        {
            var viewModel = new AvaliacoesVM
            {
                Avaliacoes = await _context.Avaliacoes
                             .Include(a => a.Perguntas)
                             .ThenInclude(p => p.Respostas)
                             .AsNoTracking()
                             .ToListAsync()
            };

            if (perguntaId != null)
            {
                viewModel.PerguntaId = perguntaId.Value;
                PerguntaAvaliacao perguntaAvaliacao = await _context.PerguntasAvaliacao.SingleOrDefaultAsync(pa => pa.Id == perguntaId.Value);

                viewModel.RespostasAvaliacao = await _context.RespostasAvaliacao.Where(ra => ra.PerguntaAvaliacaoId == perguntaId).ToListAsync();

                id = perguntaAvaliacao.AvaliacaoId;
            }

            if (id != null)
            {
                viewModel.SelectedId = id.Value;
                Avaliacao avaliacao = viewModel.Avaliacoes.Single(a => a.Id == id.Value);
                viewModel.PerguntasAvaliacao = avaliacao.Perguntas.Where(pa => pa.AvaliacaoId == id.Value).ToList();
            }

            return(View(viewModel));
        }
        public async Task <IActionResult> Create([Bind("Id,AvaliacaoId,Descricao")] PerguntaAvaliacao perguntaAvaliacao)
        {
            if (ModelState.IsValid)
            {
                _dbContext.Add(perguntaAvaliacao);
                await _dbContext.SaveChangesAsync();

                return(RedirectToAction("Index", "Avaliacoes", new { perguntaId = perguntaAvaliacao.Id }));
            }
            return(View(perguntaAvaliacao));
        }
        public async Task <IActionResult> Create([Bind("Id,PerguntaAvaliacaoId,Descricao,Correta,Escolhida")] RespostaAvaliacao respostaAvaliacao)
        {
            if (ModelState.IsValid)
            {
                _context.Add(respostaAvaliacao);

                await _context.SaveChangesAsync();

                //return RedirectToAction(nameof(Index));
                PerguntaAvaliacao perguntaAvaliacao = await _context.PerguntasAvaliacao.FirstOrDefaultAsync(a => a.Id == respostaAvaliacao.PerguntaAvaliacaoId);

                return(RedirectToAction("Index", "Avaliacoes", new { id = perguntaAvaliacao.AvaliacaoId, perguntaId = respostaAvaliacao.PerguntaAvaliacaoId }));
            }
            ViewData["PerguntaAvaliacaoId"] = new SelectList(_context.PerguntasAvaliacao, "Id", "Id", respostaAvaliacao.PerguntaAvaliacaoId);
            return(View(respostaAvaliacao));
        }
        // GET: PerguntasAvaliacao
        public async Task <IActionResult> Index(int?id)
        {
            var viewModel = new PerguntasAvaliacaoVM();

            viewModel.PerguntasAvaliacao = await _dbContext.PerguntasAvaliacao
                                           .Include(p => p.Respostas)
                                           .AsNoTracking()
                                           .OrderBy(p => p.Descricao)
                                           .ToListAsync();

            if (id != null)
            {
                var perguntaId = id.Value;
                PerguntaAvaliacao perguntaAvaliacao = viewModel.PerguntasAvaliacao.Single(pa => pa.Id == perguntaId);
                viewModel.RespostasAvaliacao = perguntaAvaliacao.Respostas.Where(ra => ra.PerguntaAvaliacaoId == perguntaId).ToList();
                viewModel.SelectedId         = perguntaId;
                viewModel.AvaliacaoId        = perguntaAvaliacao.AvaliacaoId;
            }

            return(View(viewModel));
        }