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 void Index() { //Arrange 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 percursoVM = new PercursoVM(); percursoVM.ID = percurso.ID; percursoVM.Nome = percurso.Nome; //Act var controller = new PercursosController(context); var result = controller.Index(percursoVM); //Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult)); }
//public async Task<ActionResult> Index() //{ // var percursos = db.Percursos.ToListAsync(); // return View(await percursos); //} // GET: Percursos public ActionResult Index(PercursoVM model = null) { Percurso percurso = db.Percursos.FirstOrDefault(); if (percurso == null) { return(View(percurso)); } //int i; //if (model != null) //{ // i = model.CurrentPageIndex; //} model = new PercursoVM { Cust = db.Percursos.ToList(), CustDDL = db.Percursos.ToList(), Nome = percurso.Nome, Distancia = percurso.Distancia, Latitude = percurso.GPS_Lat_Inicio, Longitude = percurso.GPS_Long_Inicio }; //var res = (from s in model.Cust // select s); //res = res.ToList(); //if (model.CurrentPageIndex == 0) //{ // model.CurrentPageIndex = 0; //} //model.PageSize = 8; //model.PageCount = ((res.Count() + model.PageSize - 1) / model.PageSize); //if (model.CurrentPageIndex > model.PageCount) //{ // model.CurrentPageIndex = model.PageCount; //} //model.Cust = res.Skip(model.CurrentPageIndex * model.PageSize).Take(model.PageSize); //model.ID = percurso.ID; //model.Nome = percurso.Nome; //model.Descricao = percurso.Descricao; //model.Distancia = percurso.Distancia; //model.Duracao = percurso.DuracaoAproximada; //model.Dificuldade = percurso.Dificuldade; //model.Tipologia = percurso.Tipologia; //model.Latitude = percurso.GPS_Lat_Inicio; //model.Longitude = percurso.GPS_Long_Inicio; //model.Kml = percurso.KmlPath; return(View(model)); //var percursos = db.Percursos.Include(p => p.POIs); //return View(); }
public ActionResult Pesquisa(PercursoVM model, string btn = null) { Percurso percurso = db.Percursos.FirstOrDefault(); model.ID = percurso.ID; model.Latitude = percurso.GPS_Lat_Inicio; model.Longitude = percurso.GPS_Long_Inicio; model.Nome = percurso.Nome; model.Descricao = percurso.Descricao; return(View(model)); }
public ActionResult Dados(string clientID) { PercursoVM percVM = new PercursoVM(); percVM.ListaPercurosPercorridosVM = new List <PercursoPercorridoVM>(); percVM.ListaPercursosCriadosVM = new List <PercursoCriadoVM>(); percVM.ListaComentarios = new List <PercursoComentarioVM>(); var listaPercursos = db.PercursosPercorridos.Include(p => p.Percurso).Where(pr => pr.ClientID == clientID).ToList(); var listaPercursosCriados = db.PercursosCriados.Include(p => p.Percurso).Where(pc => pc.IDCliente == clientID).ToList(); var listaComentarios = db.PercursoComentarios.Include(p => p.Percurso).Where(c => c.CriadorPercurso == clientID).ToList(); float contaKms = 0; float contaHoras = 0; float media = 0; int nmrComentariosPorPercurso = 0; double numeroPercursosCriados = 0; int maiorNmrComentarios = 0; foreach (var item in listaPercursos) { PercursoPercorridoVM ppercVM = new PercursoPercorridoVM(); ppercVM.Nome = item.Percurso.Nome; ppercVM.ID = item.PercursoID; ppercVM.ClientID = item.ClientID; ppercVM.Distancia = item.Percurso.Distancia; ppercVM.KmsPercorridos += percVM.Distancia; contaKms += item.Percurso.Distancia; ViewBag.TotalKms = contaKms.ToString(); contaHoras += item.Percurso.DuracaoAproximada; ViewBag.TotalHoras = contaHoras.ToString(); media = contaKms / contaHoras; ViewBag.Media = media.ToString(); percVM.ListaPercurosPercorridosVM.Add(ppercVM); } var maior = 0; double numeroComentarios = 0; foreach (var item in listaComentarios) { PercursoComentarioVM pComentVM = new PercursoComentarioVM(); pComentVM.PercursoID = item.PercursoID; ViewBag.ID = pComentVM.PercursoID; pComentVM.NomePercurso = item.Percurso?.Nome ?? "Sem Correspondencia"; pComentVM.Classificacao = item.Classificacao; pComentVM.Comentario = item.Comentario; var listaComentPorPercurso = listaComentarios.Where(p => p.PercursoID == item.PercursoID).ToList(); if (listaComentPorPercurso.Count > 1 && numeroComentarios < listaComentarios.Count) { int somaPerc = 0; foreach (var perc in listaComentPorPercurso) { somaPerc += perc.Classificacao; nmrComentariosPorPercurso++; int classPerc = somaPerc / nmrComentariosPorPercurso; pComentVM.Classificacao = classPerc; if (nmrComentariosPorPercurso > maiorNmrComentarios) { maiorNmrComentarios = nmrComentariosPorPercurso; ViewBag.MaisComentarios = perc.Percurso.Nome; } } nmrComentariosPorPercurso = 0; numeroComentarios = nmrComentariosPorPercurso - 1; } numeroComentarios++; if (pComentVM.Classificacao > maior) { maior = pComentVM.Classificacao; ViewBag.Maior = maior.ToString(); ViewBag.Nome = pComentVM.NomePercurso; } if (numeroComentarios > listaComentarios.Count) { numeroComentarios--; } percVM.ListaComentarios.Add(pComentVM); } foreach (var item in listaPercursosCriados) { PercursoCriadoVM pCriadoVM = new PercursoCriadoVM(); pCriadoVM.IDCliente = item.IDCliente; pCriadoVM.NomeCliente = item.NomeCliente; pCriadoVM.PercursoID = item.PercursoID; pCriadoVM.NomePercurso = item.Percurso.Nome; numeroPercursosCriados++; percVM.ListaPercursosCriadosVM.Add(pCriadoVM); } double percentagem = (listaComentarios.Count / numeroPercursosCriados) * 100; ViewBag.Percentagem = percentagem.ToString(); return(View(percVM)); }
public ActionResult Index(PercursoVM model, string btn = null) { Percurso percurso = db.Percursos.FirstOrDefault(); if (model.SortField == null) { model.SortField = "TipologiaSelecionada"; model.SortDirection = "ascending"; } #region SortData switch (model.SortField) { case "TipologiaSelecionada": model.Cust = (model.SortDirection == "ascending" ? db.Percursos.OrderBy(p => p.Tipologia) : db.Percursos.OrderByDescending(p => p.Tipologia)); break; case "DificuldadeSelecionada": model.Cust = (model.SortDirection == "ascending" ? db.Percursos.OrderBy(p => p.Dificuldade) : db.Percursos.OrderByDescending(p => p.Dificuldade)); break; } #endregion var ddl = (from d in model.Cust select d); model.CustDDL = ddl; #region FilterData if (!String.IsNullOrEmpty(model.TipologiaSelecionada)) { model.Cust = model.Cust.Where(s => s.Tipologia.ToString().Trim().Equals(model.TipologiaSelecionada.Trim())); } if (!String.IsNullOrEmpty(model.DificuldadeSelecionada)) { model.Cust = model.Cust.Where(s => s.Dificuldade.ToString().Trim().Equals(model.DificuldadeSelecionada.Trim())); } #endregion var res = (from s in model.Cust select s); res = res.ToList(); if (model.CurrentPageIndex == 0) { model.CurrentPageIndex = 0; } model.PageSize = 6; model.PageCount = ((res.Count() + model.PageSize - 1) / model.PageSize); if (model.CurrentPageIndex > model.PageCount) { model.CurrentPageIndex = model.PageCount; } model.Cust = res.Skip(model.CurrentPageIndex * model.PageSize).Take(model.PageSize); model.ID = percurso.ID; model.Nome = percurso.Nome; model.Descricao = percurso.Descricao; model.Distancia = percurso.Distancia; model.Duracao = percurso.DuracaoAproximada; model.Dificuldade = percurso.Dificuldade; model.Tipologia = percurso.Tipologia; model.Latitude = percurso.GPS_Lat_Inicio; model.Longitude = percurso.GPS_Long_Inicio; model.CodPostal = percurso.CodPostal; model.Kml = percurso.KmlPath; return(View(model)); }
// 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)); }