コード例 #1
0
ファイル: TesteController.cs プロジェクト: guidefreitas/tacs
        public ActionResult Create(VMCreateEditTeste vm)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Teste teste = new Teste();
                    var disciplina = db.Disciplinas.Find(vm.DisciplinaId);
                    teste.Disciplina = disciplina;
                    teste.DataInicioValidade = vm.DataInicioValidade;
                    teste.DataFimValidade = vm.DataFimValidade;
                    teste.CriterioInicio = vm.CriterioInicio;
                    teste.CriterioFinalizacao = vm.CriterioFinalizacao;
                    teste.CriterioEscolhaQuestao = vm.CriterioEscolhaQuestao;
                    db.Testes.Add(teste);
                    db.SaveChanges();
                    this.FlashInfo("Teste criado com sucesso");
                    return RedirectToAction("Edit", "Teste", new { id = teste.Id });
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }

            vm.Disciplinas = db.Disciplinas.Select(m => new VMDisciplina()
            {
                Id = m.Id,
                Nome = m.Nome
            }).ToList();

            return View(vm);
        }
コード例 #2
0
ファイル: TesteController.cs プロジェクト: guidefreitas/tacs
        public ActionResult Create()
        {
            VMCreateEditTeste vm = new VMCreateEditTeste();
            vm.DataInicioValidade = DateTime.Now;
            vm.DataFimValidade = DateTime.Now.AddMonths(1);
            vm.Disciplinas = db.Disciplinas.Select(m => new VMDisciplina()
            {
                Id = m.Id,
                Nome = m.Nome
            }).ToList();

            return View(vm);
        }
コード例 #3
0
ファイル: TesteController.cs プロジェクト: guidefreitas/tacs
        public ActionResult Edit(long id, VMCreateEditTeste vm)
        {
            Teste model = db.Testes.Where(m => m.Id == id).FirstOrDefault();
            if (model == null)
                return HttpNotFound();

            if (model.Itens.Count > 0)
            {
                ModelState.AddModelError("", "Esse teste já possui respostas e não pode ser alterado");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var disciplina = db.Disciplinas.Find(vm.DisciplinaId);
                    model.Disciplina = disciplina;
                    model.DataInicioValidade = vm.DataInicioValidade;
                    model.DataFimValidade = vm.DataFimValidade;
                    model.CriterioInicio = vm.CriterioInicio;
                    model.CriterioFinalizacao = vm.CriterioFinalizacao;
                    model.CriterioEscolhaQuestao = vm.CriterioEscolhaQuestao;
                    db.SaveChanges();
                    this.FlashInfo("Teste atualizado com sucesso");
                    return RedirectToAction("Index");
                }catch(DbEntityValidationException dbEx)
                {
                    RegistraErros(dbEx);
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }

            vm.Itens = model.Itens.Select(i => new VMTesteItem()
            {
                Id = i.Id,
                AlternativaId = i.Resposta.Id,
                Questao = i.Questao.Descricao,
                QuestaoId = i.Questao.Id,
                TesteId = i.Teste.Id,
                TempoResposta = i.TempoResposta,
                UsuarioNome = i.Usuario.UserName
            }).ToList();

            vm.Disciplinas = db.Disciplinas.Select(m => new VMDisciplina()
            {
                Id = m.Id,
                Nome = m.Nome
            }).ToList();

            vm.Assuntos = model.Assuntos.Select(m => new VMAssunto()
            {
                Id = m.Id,
                Titulo = m.Titulo
            }).ToList();

            return View(vm);
        }
コード例 #4
0
ファイル: TesteController.cs プロジェクト: guidefreitas/tacs
        public ActionResult Edit(VMCreateEditTeste vm)
        {
            Teste model = db.Testes.Where(m => m.Id == vm.Id).FirstOrDefault();
            if (model == null)
                return HttpNotFound();

            foreach(var assunto in model.Assuntos.ToList())
            {
                model.Assuntos.Remove(assunto);
            }

            foreach(var item in model.Itens.ToList())
            {
                db.TesteItens.Remove(item);
            }
            db.Testes.Remove(model);
            db.SaveChanges();
            return this.RedirectToAction("Index");
        }
コード例 #5
0
ファイル: TesteController.cs プロジェクト: guidefreitas/tacs
        public ActionResult Edit(long id)
        {
            var model = db.Testes.Where(m => m.Id == id).FirstOrDefault();
            if (model == null)
                return HttpNotFound();

            VMCreateEditTeste vm = new VMCreateEditTeste();
            vm.Id = model.Id;
            vm.Assuntos = model.Assuntos.Select(a => new VMAssunto()
            {
                Id = a.Id,
                Titulo = a.Titulo
            }).ToList();

            vm.CriterioEscolhaQuestao = model.CriterioEscolhaQuestao;
            vm.CriterioFinalizacao = model.CriterioFinalizacao;
            vm.CriterioInicio = model.CriterioInicio;
            vm.DataFimValidade = model.DataFimValidade;
            vm.DataInicioValidade = model.DataInicioValidade;
            vm.DisciplinaId = model.Disciplina.Id;

            foreach(var item in model.Itens)
            {
                var vmItem = new VMTesteItem();
                vmItem.Id = item.Id;
                vmItem.AlternativaId = item.Resposta.Id;
                vmItem.Questao = item.Questao.Descricao;
                vmItem.QuestaoId = item.Questao.Id;
                vmItem.TesteId = item.Teste.Id;
                vmItem.TempoResposta = item.TempoResposta;
                vmItem.UsuarioNome = item.Usuario.UserName;
                vm.Itens.Add(vmItem);
            }

            /*
            vm.Itens = model.Itens.Select(i => new VMTesteItem()
            {
                Id = i.Id,
                AlternativaId = i.Resposta.Id,
                Questao = i.Questao.Descricao,
                QuestaoId = i.Questao.Id,
                TesteId = i.Teste.Id,
                TempoResposta = i.TempoResposta,
                UsuarioNome = i.Usuario.UserName
            }).ToList();
            */

            vm.Disciplinas = db.Disciplinas.Select(m => new VMDisciplina()
            {
                Id = m.Id,
                Nome = m.Nome
            }).ToList();

            vm.Assuntos = model.Assuntos.Select(m => new VMAssunto()
            {
                Id = m.Id,
                Titulo = m.Titulo
            }).ToList();

            return View(vm);
        }