Exemplo n.º 1
0
        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));
        }
Exemplo n.º 6
0
 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)
 {
 }
Exemplo n.º 8
0
 public void MarcarComoModificado(PercursosCriados item)
 {
     Entry(item).State = EntityState.Modified;
 }
Exemplo n.º 9
0
        // 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));
        }