コード例 #1
0
        public ActionResult ComprarEntrada(int cantidad)
        {
            if (Session["UsuarioLogeado"] == null)
            {
                ViewData["SessionExpirada"] = "Para poder realizar una compra debes logearte.";
                return(View("~/Views/Login/Login.cshtml"));
            }
            if (cantidad == null)
            {
                cantidad = 1;
            }
            int entradas = SessionHelper.EventoActual.topeEntradas();

            if (entradas + cantidad > SessionHelper.EventoActual.Tope_gente)
            {
                ViewData["ErrorMessage"] = "El evento ya alcanzo el maximo de entradas vendidas";
                //return RedirectToAction("Evento", "Evento");
                return(RedirectToAction("Evento", new RouteValueDictionary(
                                            new { controller = "Evento", action = "Evento", id = SessionHelper.EventoActual.Id, errorMsg = "El evento ya alcanzo el maximo de entradas vendidas" })
                                        ));
            }
            usuario_evento usuario_evento = new usuario_evento
            {
                Id             = 0,
                Id_Evento      = SessionHelper.EventoActual.Id,
                Id_Usuario     = SessionHelper.UsuarioLogueado.Id,
                Activo         = true,
                Cantidad       = cantidad,
                Fecha_Creacion = DateTime.Now
            };
            var success = RNEvento.ComprarEntrada(usuario_evento);

            if (!success)
            {
                ViewData["Error"] = "Surgio un error intentado comprar la entrada. Revise los datos e intente de nuevo.";
                return(View("~/Views/Evento/Evento.cshtml", SessionHelper.EventoActual.Id));
            }

            return(RedirectToAction("Index", "Home"));
        }