Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        // GET: PontoInteresses/Create
        public ActionResult Create()
        {
            var model = new CreateEditPontoInteresseViewModel();

            return(View(model));
        }