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)); } }
public ActionResult Details(int id) { TecnicasViewModel detailsViewModel = new TecnicasViewModel(); detailsViewModel.TecnicasList.Add(db.Tecnicas.Single(t => t.idTecnica == id)); return(View(detailsViewModel)); }
public ActionResult DeletePergunta(int id) { TecnicasViewModel deletePerguntaViewModel = new TecnicasViewModel(); deletePerguntaViewModel.PerguntasList.Add(db.Perguntas.Single(p => p.idPergunta == id)); return(View(deletePerguntaViewModel)); }
public ActionResult CreateQuadrante() { TecnicasViewModel createQuadranteViewModel = new TecnicasViewModel(); createQuadranteViewModel.QuadrantesList.Add(new Quadrante()); createQuadranteViewModel.PerguntasList = db.Perguntas.ToList(); return(View(createQuadranteViewModel)); }
// 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)); }
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)); }
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)); }
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)); } }
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)); }
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)); } }
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)); }