public void LoadPontos(ref CreateEditImagemViewModel model) { IEnumerable <PontoInteresse> pontos; if (User.IsInRole("registado externo")) { //pontos = db.PontosInteresse.ToList().Where(p => p.CriadorPonto.Equals(db.Users.Where(u => u.UserName.Equals(User.Identity.Name)))); //model.PontosInteresse = pontos.Select(p => new SelectListItem { Value = p.Id.ToString(), Text = p.Nome.ToString() }); pontos = from s in db.PontosInteresse select s; //remover o que tem criador a null pontos = pontos.Where(s => s.CriadorPonto != null); pontos = pontos.Where(s => s.CriadorPonto.Equals(User.Identity.Name)); pontos = pontos.Where(s => !s.Visivel); model.PontosInteresse = pontos.Select(p => new SelectListItem { Value = p.Id.ToString(), Text = p.Nome.ToString() }); } else { pontos = db.PontosInteresse.ToList().Where(p => p.Visivel.Equals(true)); model.PontosInteresse = pontos.Select(p => new SelectListItem { Value = p.Id.ToString(), Text = p.Nome.ToString() }); } }
// GET: Imagems/Create public ActionResult Create() { CreateEditImagemViewModel model = new CreateEditImagemViewModel(); LoadPontos(ref model); if (model.PontosInteresse.Count() == 0) { return(View("ErroPonto")); } return(View(model)); }
public ActionResult Edit(CreateEditImagemViewModel model) { if (ModelState.IsValid) { var imagem = db.Imagens.Find(model.IdImagem); imagem.Autor = model.Autor; imagem.Nome = model.Nome; imagem.PontoInteresse = db.PontosInteresse.Find(model.PontoEscolhido); db.SaveChanges(); return(RedirectToAction("Index")); } LoadPontos(ref model); return(View(model)); }
public ActionResult Create(CreateEditImagemViewModel model, HttpPostedFileBase foto) { if (ModelState.IsValid) { var pontodb = db.PontosInteresse.Find(model.PontoEscolhido); pontodb.Imagens = pontodb.Imagens ?? new List <Imagem>(); var imagem = new Imagem { Autor = model.Autor, Nome = model.Nome, InseridaPor = db.Users.Where(u => u.UserName.Equals(User.Identity.Name)).FirstOrDefault().UserName }; pontodb.Imagens.Add(imagem); if (foto != null) { System.IO.Stream fs = foto.InputStream; System.IO.BinaryReader br = new System.IO.BinaryReader(fs); Byte[] bytes = br.ReadBytes((Int32)fs.Length); string base64String = Convert.ToBase64String(bytes, 0, bytes.Length); imagem.ConteudoImagem = "data:image/png;base64," + base64String; } else { ModelState.AddModelError("", "Ocorreu um erro no carregamento da foto"); LoadPontos(ref model); return(View(model)); } db.SaveChanges(); return(RedirectToAction("Index")); } LoadPontos(ref model); return(View(model)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Imagem imagem = db.Imagens.Find(id); if (imagem == null) { return(HttpNotFound()); } CreateEditImagemViewModel model = new CreateEditImagemViewModel(); LoadPontos(ref model); model.IdImagem = imagem.Id; model.Nome = imagem.Nome; model.Autor = imagem.Autor; model.Conteudo = imagem.ConteudoImagem; model.PontoEscolhido = imagem.PontoInteresse.Id; return(View(model)); }