public ActionResult Create(CreateEditPontoInteresseViewModel model) { if (model.PontoInteresse.CoordenadasPoligono != null) { foreach (var item in model.PontoInteresse.CoordenadasPoligono) { ModelState.Remove("PontoInteresse.CoordenadasPoligono[" + model.PontoInteresse.CoordenadasPoligono.IndexOf(item) + "].Id"); } } if (ModelState.IsValid) { if (User.IsInRole("administrador") || User.IsInRole("utilizador")) { model.PontoInteresse.Visivel = true; } else { model.PontoInteresse.Visivel = false; } model.PontoInteresse.CriadorPonto = db.Users.Where(u => u.UserName.Equals(User.Identity.Name)).FirstOrDefault().UserName; db.PontosInteresse.Add(model.PontoInteresse); db.SaveChanges(); if (User.IsInRole("registado externo")) { return(View("InfoAprovacao")); } return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Edit(CreateEditPontoInteresseViewModel model) { if (model.PontoInteresse.CoordenadasPoligono != null) { foreach (var item in model.PontoInteresse.CoordenadasPoligono) { ModelState.Remove("PontoInteresse.CoordenadasPoligono[" + model.PontoInteresse.CoordenadasPoligono.IndexOf(item) + "].Id"); } } if (ModelState.IsValid) { var oldPontoInteresse = db.PontosInteresse.Find(model.PontoInteresse.Id); foreach (var coordenada in oldPontoInteresse.CoordenadasPoligono.ToList()) { if (model.PontoInteresse.CoordenadasPoligono == null || !model.PontoInteresse.CoordenadasPoligono.Any(c => c.Id == coordenada.Id)) { oldPontoInteresse.CoordenadasPoligono.Remove(coordenada); } } if (model.PontoInteresse.CoordenadasPoligono != null) { foreach (var novaCoordenada in model.PontoInteresse.CoordenadasPoligono.Where(x => x.Id == 0).ToList()) { oldPontoInteresse.CoordenadasPoligono.Add(novaCoordenada); } } oldPontoInteresse.Ano = model.PontoInteresse.Ano; oldPontoInteresse.Autor = model.PontoInteresse.Autor; oldPontoInteresse.Descricao = model.PontoInteresse.Descricao; oldPontoInteresse.Localizacao = model.PontoInteresse.Localizacao; oldPontoInteresse.TipoEdificio = model.PontoInteresse.TipoEdificio; oldPontoInteresse.CoordenadaIcon = model.PontoInteresse.CoordenadaIcon; oldPontoInteresse.Nome = model.PontoInteresse.Nome; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PontoInteresse pontoInteresse = db.PontosInteresse.Find(id); if (pontoInteresse == null) { return(HttpNotFound()); } var model = new CreateEditPontoInteresseViewModel(); model.PontoInteresse = pontoInteresse; return(View(model)); }
// GET: PontoInteresses/Create public ActionResult Create() { var model = new CreateEditPontoInteresseViewModel(); return(View(model)); }