Пример #1
0
        public IActionResult Create()
        {
            try
            {
                ExercicioViewModel evm = new ExercicioViewModel();
                evm.Videos = VideoController.GetVideos(dbContext);

                if (evm.Videos.Count() == 0)
                {
                    TempData["Mensagem"] = "Não há vídeos cadastrados no momento!";
                    TempData["Sucesso"]  = false;
                }
                else
                {
                    return(View(evm));
                }
            }
            catch (Exception ex)
            {
                TempData["Mensagem"]  = "Erro ao cadastrar exercício!";
                TempData["Exception"] = ex;
                TempData["Sucesso"]   = false;
            }

            return(RedirectToAction("Index"));
        }
Пример #2
0
        //Permite que apareça o nome do aluno assim como o nome do exercicio na listagem de aulas
        //puxando ambos por seus respectivos Ids
        protected List <AulaViewModel> PreparaNomesParaLista(List <AulaViewModel> lista)
        {
            //Pesquisar pelo id para possui o nome
            AlunoViewModel     aluno     = new AlunoViewModel();
            ExercicioViewModel exercicio = new ExercicioViewModel();
            AlunoDAO           a         = new AlunoDAO();
            ExercicioDAO       e         = new ExercicioDAO();

            foreach (AulaViewModel item in lista)
            {
                aluno          = a.Consulta(item.IdAluno);
                item.NomeAluno = aluno.Nome;

                exercicio           = e.Consulta(item.Ex1);
                item.NomeExercicio1 = exercicio.Nome;

                exercicio           = e.Consulta(item.Ex2);
                item.NomeExercicio2 = exercicio.Nome;

                if (item.Ex3 != 0)
                {
                    exercicio           = e.Consulta(item.Ex3);
                    item.NomeExercicio3 = exercicio.Nome;
                }
            }
            return(lista);
        }
Пример #3
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            try
            {
                Exercicio exercicio = await dbContext.Exercicios.Where(e => e.CodExercicio == id.Value &&
                                                                       e.Ativo == true).SingleOrDefaultAsync();

                if (exercicio == null)
                {
                    return(NotFound());
                }

                var alternativas = await dbContext.Alternativas.Where(a => a.CodExercicio ==
                                                                      exercicio.CodExercicio && a.Ativo == true).ToListAsync();

                if (alternativas.Count == 0)
                {
                    return(NotFound());
                }

                ExercicioViewModel evm = new ExercicioViewModel();

                evm.Videos = VideoController.GetVideos(dbContext);

                if (evm.Videos.Count() == 0)
                {
                    return(NotFound());
                }

                evm.CodExercicio = exercicio.CodExercicio;
                evm.CodVideo     = exercicio.CodVideo;
                evm.DescVideo    = evm.Videos.Where(v => v.CodVideo == evm.CodVideo).SingleOrDefault().Descricao;
                evm.Descricao    = exercicio.Descricao;
                evm.Resposta     = exercicio.Resposta;

                evm.Alternativa1 = alternativas.Where(a => a.CodAlternativa == 1).SingleOrDefault().Descricao;
                evm.Alternativa2 = alternativas.Where(a => a.CodAlternativa == 2).SingleOrDefault().Descricao;
                evm.Alternativa3 = alternativas.Where(a => a.CodAlternativa == 3).SingleOrDefault().Descricao;
                evm.Alternativa4 = alternativas.Where(a => a.CodAlternativa == 4).SingleOrDefault().Descricao;

                return(View(evm));
            }
            catch (Exception ex)
            {
                TempData["Mensagem"]  = "Erro ao alterar exercício!";
                TempData["Exception"] = ex;
                TempData["Sucesso"]   = false;
            }

            return(RedirectToAction("Index"));
        }
Пример #4
0
        public async Task <IActionResult> Create(ExercicioViewModel evm)
        {
            using (await dbContext.Database.BeginTransactionAsync())
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        evm.Descricao = evm.Descricao.Trim();

                        Exercicio e = await dbContext.Exercicios.Where(ex => ex.Descricao == evm.Descricao &&
                                                                       ex.Ativo == true).SingleOrDefaultAsync();

                        if (e == null)
                        {
                            e           = new Exercicio();
                            e.Descricao = evm.Descricao;
                            e.CodVideo  = evm.CodVideo;
                            e.Resposta  = evm.Resposta;
                            e.Ativo     = true;
                            dbContext.Exercicios.Add(e);

                            await dbContext.SaveChangesAsync();


                            Alternativa a1 = new Alternativa();
                            a1.Descricao      = evm.Alternativa1;
                            a1.CodAlternativa = 1;
                            a1.CodExercicio   = e.CodExercicio;
                            a1.Ativo          = true;
                            dbContext.Alternativas.Add(a1);

                            Alternativa a2 = new Alternativa();
                            a2.Descricao      = evm.Alternativa2;
                            a2.CodAlternativa = 2;
                            a2.CodExercicio   = e.CodExercicio;
                            a2.Ativo          = true;
                            dbContext.Alternativas.Add(a2);

                            Alternativa a3 = new Alternativa();
                            a3.Descricao      = evm.Alternativa3;
                            a3.CodAlternativa = 3;
                            a3.CodExercicio   = e.CodExercicio;
                            a3.Ativo          = true;
                            dbContext.Alternativas.Add(a3);

                            Alternativa a4 = new Alternativa();
                            a4.Descricao      = evm.Alternativa4;
                            a4.CodAlternativa = 4;
                            a4.CodExercicio   = e.CodExercicio;
                            a4.Ativo          = true;
                            dbContext.Alternativas.Add(a4);


                            await dbContext.SaveChangesAsync();

                            if (dbContext.Database.CurrentTransaction != null)
                            {
                                dbContext.Database.CommitTransaction();
                            }
                            TempData["Mensagem"] = "Exercício cadastrado com sucesso!";
                            TempData["Sucesso"]  = true;
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            TempData["Mensagem"] = "Já existe exercício com essa descrição!";
                        }
                    }

                    evm.Videos = VideoController.GetVideos(dbContext);
                }
                catch (Exception ex)
                {
                    TempData["Mensagem"]  = "Erro ao cadastrar exercício!";
                    TempData["Exception"] = ex;
                    TempData["Sucesso"]   = false;
                    if (dbContext.Database.CurrentTransaction != null)
                    {
                        dbContext.Database.RollbackTransaction();
                    }
                    return(RedirectToAction("Index"));
                }
            }

            return(View(evm));
        }
Пример #5
0
        public async Task <IActionResult> Edit(int?id, ExercicioViewModel evm)
        {
            using (await dbContext.Database.BeginTransactionAsync())
            {
                try
                {
                    Exercicio ex = await dbContext.Exercicios.Where(e => e.CodExercicio == id.Value &&
                                                                    e.Ativo == true).SingleOrDefaultAsync();

                    if (ex == null)
                    {
                        return(NotFound());
                    }

                    if (ModelState.IsValid)
                    {
                        ex.Descricao = evm.Descricao.Trim();

                        Exercicio existExercicio = await dbContext.Exercicios.Where(e => e.Descricao == ex.Descricao &&
                                                                                    e.CodExercicio != id.Value && e.Ativo == true).SingleOrDefaultAsync();

                        if (existExercicio == null)
                        {
                            ex.CodVideo = evm.CodVideo;
                            ex.Resposta = evm.Resposta;
                            dbContext.Exercicios.Update(ex);

                            Alternativa a1 = await dbContext.Alternativas.Where(a => a.CodExercicio
                                                                                == ex.CodExercicio && a.CodAlternativa == 1 && a.Ativo == true)
                                             .SingleOrDefaultAsync();

                            a1.Descricao = evm.Alternativa1;
                            dbContext.Alternativas.Update(a1);

                            Alternativa a2 = await dbContext.Alternativas.Where(a => a.CodExercicio
                                                                                == ex.CodExercicio && a.CodAlternativa == 2 && a.Ativo == true)
                                             .SingleOrDefaultAsync();

                            a2.Descricao = evm.Alternativa2;
                            dbContext.Alternativas.Update(a2);

                            Alternativa a3 = await dbContext.Alternativas.Where(a => a.CodExercicio
                                                                                == ex.CodExercicio && a.CodAlternativa == 3 && a.Ativo == true)
                                             .SingleOrDefaultAsync();

                            a3.Descricao = evm.Alternativa3;
                            dbContext.Alternativas.Update(a3);

                            Alternativa a4 = await dbContext.Alternativas.Where(a => a.CodExercicio
                                                                                == ex.CodExercicio && a.CodAlternativa == 4 && a.Ativo == true)
                                             .SingleOrDefaultAsync();

                            a4.Descricao = evm.Alternativa4;
                            dbContext.Alternativas.Update(a4);


                            await dbContext.SaveChangesAsync();

                            if (dbContext.Database.CurrentTransaction != null)
                            {
                                dbContext.Database.CommitTransaction();
                            }
                            TempData["Mensagem"] = "Exercício alterado com sucesso!";
                            TempData["Sucesso"]  = true;
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            TempData["Mensagem"] = "Já existe exercício com essa descrição!";
                        }
                    }

                    evm.CodExercicio = ex.CodExercicio;
                    evm.CodVideo     = ex.CodVideo;
                    evm.Videos       = VideoController.GetVideos(dbContext);
                    evm.DescVideo    = evm.Videos.Where(v => v.CodVideo == evm.CodVideo)
                                       .SingleOrDefault().Descricao;
                }
                catch (Exception ex)
                {
                    TempData["Mensagem"]  = "Erro ao alterar exercício!";
                    TempData["Exception"] = ex;
                    TempData["Sucesso"]   = false;
                    if (dbContext.Database.CurrentTransaction != null)
                    {
                        dbContext.Database.RollbackTransaction();
                    }
                    return(RedirectToAction("Index"));
                }
            }

            return(View(evm));
        }