public void DetailsView() { var context = new TestGesNaturaAppContext(); var percurso = new Percurso(); percurso.ID = 1; percurso.Nome = "Um Caminho"; percurso.Tipologia = "Linear"; percurso.Dificuldade = "Baixa"; percurso.DuracaoAproximada = 2; percurso.Distancia = 5; context.Percursos.Add(percurso); //context.Percursos.Add(new Percurso { ID = 1, Nome="Um Caminho" }); var percCriado = new PercursosCriados(); percCriado.IDCliente = "12345"; percCriado.NomeCliente = "Luis"; var percursoVM = new PercursoVM(); percursoVM.ID = percurso.ID; percursoVM.Nome = percurso.Nome; percursoVM.ClientID = percCriado.IDCliente; percursoVM.Nome = percCriado.NomeCliente; //Act var controller = new PercursosController(context); var result = controller.Details(1) as ViewResult; var perc = (Percurso)result.ViewData.Model; //Assert Assert.AreEqual("Um Caminho", perc.Nome); }
public async Task <ActionResult> DeleteConfirmed(int id) { PercursosCriados percursosCriados = await db.PercursosCriados.FindAsync(id); db.PercursosCriados.Remove(percursosCriados); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit([Bind(Include = "ID,ClientID,PercursoID")] PercursosCriados percursosCriados) { if (ModelState.IsValid) { db.Entry(percursosCriados).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(percursosCriados)); }
public async Task <ActionResult> Create([Bind(Include = "ID,ClientID,PercursoID")] PercursosCriados percursosCriados) { if (ModelState.IsValid) { db.PercursosCriados.Add(percursosCriados); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(percursosCriados)); }
// GET: PercursosCriados/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PercursosCriados percursosCriados = await db.PercursosCriados.FindAsync(id); if (percursosCriados == null) { return(HttpNotFound()); } return(View(percursosCriados)); }
public async Task <ActionResult> Create([Bind(Include = "ID,Nome,Descricao,Tipologia,Distancia,DuracaoAproximada,Dificuldade,GPS_Lat_Inicio,GPS_Long_Inicio,KmlPath,POIs,Especies,Morada,CodPostal")] Percurso percurso) { if (ModelState.IsValid) { db.Percursos.Add(percurso); //await db.SaveChangesAsync(); db.SaveChanges(); PercursosCriados percursosCriados = new PercursosCriados(); percursosCriados.IDCliente = User.Identity.GetUserId(); percursosCriados.PercursoID = percurso.ID; db.PercursosCriados.Add(percursosCriados); //await db.SaveChangesAsync(); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.POIs = new SelectList(db.POIs, "ID", "Nome", percurso.POIs); ViewBag.FotoPercursos = new SelectList(db.FotoPercursos, "ID", "Nome", percurso.FotoPercursos); ViewBag.Especies = new SelectList(db.Especies, "ID", "Nome", percurso.Especies); return(View(percurso)); }
public void MarcarComoModificado(PercursosCriados item) { }
public void MarcarComoModificado(PercursosCriados item) { Entry(item).State = EntityState.Modified; }
// GET: Percursos/Details/5 //[Authorize(Roles = "Supervisor,Admin")] public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Percurso percurso = db.Percursos.Where(p => p.ID == id). Include("POIs").Include("FotoPercursos").Include("PercursoComentarios").Include("Especies").FirstOrDefault(); PercursosCriados percCriado = db.PercursosCriados.Where(pc => pc.PercursoID == id).FirstOrDefault(); //PercursosPercorridos percursosPercorridos = db.PercursosPercorridos.Include(p => p.Percurso).Where(ppc => ppc.PercursoID == id).FirstOrDefault(); PercursoVM percursoVM = new PercursoVM(); percursoVM.ListaPOIVM = new List <PoiVM>(); percursoVM.ListaFotoPercursoVM = new List <FotoPercursoVM>(); percursoVM.ListaFotoPoiVM = new List <FotoPoiVM>(); percursoVM.ListaComentarios = new List <PercursoComentarioVM>(); percursoVM.ListaEspeciesVM = new List <EspecieViewModel>(); percursoVM.ID = percurso.ID; percursoVM.Nome = percurso.Nome; percursoVM.Descricao = percurso.Descricao; percursoVM.Distancia = percurso.Distancia; percursoVM.Duracao = percurso.DuracaoAproximada; percursoVM.Dificuldade = percurso.Dificuldade; percursoVM.Tipologia = percurso.Tipologia; percursoVM.ClientID = percCriado.IDCliente; percursoVM.NomeCliente = percCriado.NomeCliente; percursoVM.Latitude = percurso.GPS_Lat_Inicio; percursoVM.Longitude = percurso.GPS_Long_Inicio; percursoVM.Kml = percurso.KmlPath; foreach (var poi in percurso.POIs) { PoiVM poiVM = new PoiVM(); poiVM.Nome = poi.Nome; poiVM.Descricao = poi.Descricao; poiVM.Latitude = poi.GPS_Lat; poiVM.Longitude = poi.GPS_Long; percursoVM.ListaPOIVM.Add(poiVM); //FotoPoiVM fotoPoiVM = new FotoPoiVM(); //fotoPoiVM.Caminho = poi.FotoPoi.Caminho; //percursoVM.ListaFotoPoiVM.Add(fotoPoiVM); } foreach (var foto in percurso.FotoPercursos) { FotoPercursoVM fotoVM = new FotoPercursoVM(); fotoVM.ID = foto.ID; fotoVM.GPS_Lat = foto.GPS_Lat; fotoVM.GPS_Lng = foto.GPS_Long; fotoVM.Caminho = foto.Caminho; percursoVM.ListaFotoPercursoVM.Add(fotoVM); } foreach (var comentario in percurso.PercursoComentarios) { PercursoComentarioVM percComent = new PercursoComentarioVM(); percComent.ID = comentario.ID; percComent.Classificacao = comentario.Classificacao; percComent.UserName = comentario.UserName; percComent.SomaRating += comentario.Classificacao; //ViewBag.SomaRating = percComent.SomaRating; percComent.ContRating++; //ViewBag.ContRating = percComent.ContRating; percComent.Comentario = comentario.Comentario; percComent.DataHora = comentario.DataHora; percursoVM.ListaComentarios.Add(percComent); } foreach (var espec in percurso.Especies) { EspecieViewModel especVM = new EspecieViewModel(); especVM.ID = espec.ID; especVM.Nome = espec.Nome; percursoVM.ListaEspeciesVM.Add(especVM); } var ratings = percursoVM.ListaComentarios; if (ratings.Count() > 0) { var ratingSum = ratings.Sum(d => d.Classificacao); ViewBag.SomaRating = ratingSum; var ratingCount = ratings.Count(); ViewBag.ContRating = ratingCount; var classTotal = ratingSum / ratingCount; percursoVM.Classificacao = classTotal; } else { ViewBag.SomaRating = 0; ViewBag.ContRating = 0; } if (percurso == null) { return(HttpNotFound()); } return(View(percursoVM)); }