Exemplo n.º 1
0
        public async Task <IActionResult> Valorar(ListaPlanPorCiudadVM listaPlanPorCiudadVM)
        {
            AppUser user = await _userManager.GetUserAsync(User);

            listaPlanPorCiudadVM.Valoracion.Fecha   = DateTime.Now;
            listaPlanPorCiudadVM.Valoracion.Usuario = user;

            await _valoracionesServices.CreateValoracionAsync(listaPlanPorCiudadVM.Valoracion);


            Plan plan = await _planesServices.GetPlanByIdAsync(listaPlanPorCiudadVM.Valoracion.PlanId);

            int cantValoraciones = plan.CantidadValoraciones + 1;

            plan.CantidadValoraciones = cantValoraciones;
            if (plan.CantidadValoraciones == 1)
            {
                double mediaValoracion = (plan.ValoracionMedia + listaPlanPorCiudadVM.Valoracion.Puntuacion) / 1;
                plan.ValoracionMedia = mediaValoracion;
            }
            else if (plan.CantidadValoraciones > 1)
            {
                double mediaValoracion = (plan.ValoracionMedia + listaPlanPorCiudadVM.Valoracion.Puntuacion) / 2;
                plan.ValoracionMedia = mediaValoracion;
            }


            await _planesServices.UpdatePlanAsync(plan);

            return(RedirectToActionPermanent("CityPlan", "Planes", new { ciudadId = listaPlanPorCiudadVM.Valoracion.Plan.CiudadId }));
            //return RedirectToAction("CityPlan", new { ciudadId = plan.CiudadId });
        }
Exemplo n.º 2
0
        // GET: Planes/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var plan = await _planesServices.GetPlanByIdAsync(id);

            if (plan == null)
            {
                return(NotFound());
            }

            return(View(plan));
        }