コード例 #1
0
        public ActionResult Edit(FormCollection dadosNovos, int id)
        {
            //Verifica cada dado introduzido pelo utilizador por inconsistências (se os campos estão preenchidos, se os campos são válidos, etc.)
            if (string.IsNullOrEmpty(dadosNovos["nome"]) == true)
            {
                ModelState.AddModelError("nome", "Tem que preencher o campo do nome da técnica!");
            }

            //Se os dados introduzidos estiverem válidos, atualiza a técnica pretendida com esses mesmos dados
            //Depois submete as alterações na base de dados
            if (ModelState.IsValid == true)
            {
                Tecnica editTecnica = db.Tecnicas.Single(t => t.idTecnica == id);

                editTecnica.nome = dadosNovos["nome"];

                db.SubmitChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                TecnicasViewModel editViewModel = new TecnicasViewModel();

                //A técnica que nós queremos é a técnica correspondente ao ID passado como parâmetro
                editViewModel.TecnicasList.Add(db.Tecnicas.Single(t => t.idTecnica == id));
                editViewModel.QuadrantesTecnicaList   = db.Quadrante_Tecnicas.Where(qt => qt.idTecnica == id).ToList();
                editViewModel.QuadrantesList          = db.Quadrantes.ToList();
                editViewModel.PerguntasQuadrantesList = db.Pergunta_Quadrantes.ToList();
                editViewModel.PerguntasList           = db.Perguntas.ToList();

                return(View(editViewModel));
            }
        }
コード例 #2
0
        public ActionResult Details(int id)
        {
            TecnicasViewModel detailsViewModel = new TecnicasViewModel();

            detailsViewModel.TecnicasList.Add(db.Tecnicas.Single(t => t.idTecnica == id));

            return(View(detailsViewModel));
        }
コード例 #3
0
        public ActionResult DeletePergunta(int id)
        {
            TecnicasViewModel deletePerguntaViewModel = new TecnicasViewModel();

            deletePerguntaViewModel.PerguntasList.Add(db.Perguntas.Single(p => p.idPergunta == id));

            return(View(deletePerguntaViewModel));
        }
コード例 #4
0
        public ActionResult CreateQuadrante()
        {
            TecnicasViewModel createQuadranteViewModel = new TecnicasViewModel();

            createQuadranteViewModel.QuadrantesList.Add(new Quadrante());
            createQuadranteViewModel.PerguntasList = db.Perguntas.ToList();

            return(View(createQuadranteViewModel));
        }
コード例 #5
0
        // o que vai retornar ma View
        public ActionResult Index()
        {
            TecnicasViewModel indexViewModel = new TecnicasViewModel();

            indexViewModel.TecnicasList   = db.Tecnicas.Where(t => t.idUtilizador == Convert.ToInt32(Session["idUtilizadorAutenticado"])).ToList();
            indexViewModel.QuadrantesList = db.Quadrantes.Where(q => q.idUtilizador == Convert.ToInt32(Session["idUtilizadorAutenticado"])).ToList();
            indexViewModel.PerguntasList  = db.Perguntas.Where(p => p.idUtilizador == Convert.ToInt32(Session["idUtilizadorAutenticado"])).ToList();

            return(View(indexViewModel));
        }
コード例 #6
0
        public ActionResult EditQuadrante(int id)
        {
            TecnicasViewModel editQuadranteViewModel = new TecnicasViewModel();

            editQuadranteViewModel.QuadrantesList.Add(db.Quadrantes.Single(q => q.idQuadrante == id));
            editQuadranteViewModel.PerguntasQuadrantesList = db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == id).ToList();
            editQuadranteViewModel.PerguntasList           = db.Perguntas.ToList();

            return(View(editQuadranteViewModel));
        }
コード例 #7
0
        public ActionResult Edit(int id)
        {
            TecnicasViewModel editViewModel = new TecnicasViewModel();

            //A técnica que nós queremos é a técnica correspondente ao ID passado como parâmetro
            editViewModel.TecnicasList.Add(db.Tecnicas.Single(t => t.idTecnica == id));
            editViewModel.QuadrantesTecnicaList   = db.Quadrante_Tecnicas.Where(qt => qt.idTecnica == id).ToList();
            editViewModel.QuadrantesList          = db.Quadrantes.ToList();
            editViewModel.PerguntasQuadrantesList = db.Pergunta_Quadrantes.ToList();
            editViewModel.PerguntasList           = db.Perguntas.ToList();

            return(View(editViewModel));
        }
コード例 #8
0
        public ActionResult EditQuadrante(FormCollection dadosNovos, int id)
        {
            //Verifica cada dado introduzido pelo utilizador por inconsistências (se os campos estão preenchidos, se os campos são válidos, etc.)
            if (string.IsNullOrEmpty(dadosNovos["nome"]) == true)
            {
                ModelState.AddModelError("nome", "Tem que preencher o campo do nome do quadrante!");
            }

            if (ModelState.IsValid == true)
            {
                //Primeiro obtém o quadrante a editar, através do seu resptivo ID passado como parâmetro
                //Depois associa os novos dados a esse mesmo quadrante
                Quadrante editQuadrante = db.Quadrantes.Single(q => q.idQuadrante == id);

                editQuadrante.nome = dadosNovos["nome"];

                //Apaga todas as relações pergunta-quadrante associadas a este quadrante particular
                db.Pergunta_Quadrantes.DeleteAllOnSubmit(db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == id));
                db.SubmitChanges();

                //Depois das relações apagadas, volta a criar novas relações pergunta-quadrante, com base nas novas checkboxes seleccionadas
                foreach (Pergunta p in db.Perguntas)
                {
                    //Visto que o ASP.NET MVC faz umas coisas esquisitas com as checkboxes, este workaround certifica que a checkbox de cada pergunta é corretamente validada
                    if (dadosNovos[string.Concat("pergunta", p.idPergunta)].Contains("true") == true)
                    {
                        Pergunta_Quadrante newPerguntaQuadrante = new Pergunta_Quadrante();

                        newPerguntaQuadrante.idPergunta  = p.idPergunta;
                        newPerguntaQuadrante.idQuadrante = editQuadrante.idQuadrante;

                        db.Pergunta_Quadrantes.InsertOnSubmit(newPerguntaQuadrante);
                    }
                }

                db.SubmitChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                TecnicasViewModel editQuadranteViewModel = new TecnicasViewModel();

                editQuadranteViewModel.QuadrantesList.Add(db.Quadrantes.Single(q => q.idQuadrante == id));
                editQuadranteViewModel.PerguntasQuadrantesList = db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == id).ToList();
                editQuadranteViewModel.PerguntasList           = db.Perguntas.ToList();

                return(View(editQuadranteViewModel));
            }
        }
コード例 #9
0
        public ActionResult Delete(int id)
        {
            TecnicasViewModel deleteViewModel = new TecnicasViewModel();

            deleteViewModel.TecnicasList.Add(db.Tecnicas.Single(t => t.idTecnica == id));
            deleteViewModel.QuadrantesTecnicaList.AddRange(db.Quadrante_Tecnicas.Where(qt => qt.idTecnica == id));

            foreach (Quadrante_Tecnica qt in deleteViewModel.QuadrantesTecnicaList)
            {
                deleteViewModel.QuadrantesList.Add(db.Quadrantes.Single(q => q.idQuadrante == qt.idQuadrante));
            }

            return(View(deleteViewModel));
        }
コード例 #10
0
        public ActionResult CreateQuadrante(FormCollection dadosQuadrante)
        {
            if (string.IsNullOrEmpty(dadosQuadrante["nome"]) == true)
            {
                ModelState.AddModelError("nome", "Tem que preencher o campo do nome do quadrante!");
            }

            if (ModelState.IsValid == true)
            {
                Quadrante newQuadrante = new Quadrante();

                newQuadrante.nome         = dadosQuadrante["nome"];
                newQuadrante.idUtilizador = Convert.ToInt32(Session["idUtilizadorAutenticado"]);

                db.Quadrantes.InsertOnSubmit(newQuadrante);
                db.SubmitChanges();

                foreach (Pergunta p in db.Perguntas)
                {
                    //Visto que o ASP.NET MVC faz umas coisas esquisitas com as checkboxes, este workaround certifica que a checkbox de cada pergunta é corretamente validada
                    if (dadosQuadrante[string.Concat("pergunta", p.idPergunta)].Contains("true") == true)
                    {
                        Pergunta_Quadrante newPerguntaQuadrante = new Pergunta_Quadrante();

                        newPerguntaQuadrante.idPergunta  = p.idPergunta;
                        newPerguntaQuadrante.idQuadrante = newQuadrante.idQuadrante;

                        db.Pergunta_Quadrantes.InsertOnSubmit(newPerguntaQuadrante);
                    }
                }

                db.SubmitChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                TecnicasViewModel createQuadranteViewModel = new TecnicasViewModel();

                createQuadranteViewModel.QuadrantesList.Add(new Quadrante());
                createQuadranteViewModel.PerguntasList = db.Perguntas.ToList();

                return(View(createQuadranteViewModel));
            }
        }
コード例 #11
0
        public ActionResult DeleteQuadrante(int id)
        {
            TecnicasViewModel deleteQuadranteViewModel = new TecnicasViewModel();

            deleteQuadranteViewModel.QuadrantesTecnicaList = db.Quadrante_Tecnicas.Where(qt => qt.idQuadrante == id).ToList();

            foreach (Quadrante_Tecnica qt in deleteQuadranteViewModel.QuadrantesTecnicaList)
            {
                deleteQuadranteViewModel.TecnicasList.Add(db.Tecnicas.Single(t => t.idTecnica == qt.idTecnica));
            }

            deleteQuadranteViewModel.QuadrantesList.Add(db.Quadrantes.Single(q => q.idQuadrante == id));
            deleteQuadranteViewModel.PerguntasQuadrantesList = db.Pergunta_Quadrantes.Where(pq => pq.idQuadrante == id).ToList();

            foreach (Pergunta_Quadrante pq in deleteQuadranteViewModel.PerguntasQuadrantesList)
            {
                deleteQuadranteViewModel.PerguntasList.Add(db.Perguntas.Single(p => p.idPergunta == pq.idPergunta));
            }

            return(View(deleteQuadranteViewModel));
        }