public ActionResult Index(int id = 0) { //obtiene los datos principales de la sucursal y los asigna a una variable de sesión if (id > 0) { var suc = new SucursalDatos(); if (!ControlAcceso.AccesoSucursal(id)) { return(RedirectToAction("AccesoDenegadoSuc", "Home")); } //Si ya existe datos guardado en sesion //validamos si el idSucursal es distinto al de la session actual. if (Session["Sucursal"] != null) { suc = Session["Sucursal"] as SucursalDatos; //Si la variable idSucursal es distinto al IdSucursal de la session //entonces se selecciono una nueva sucursal if (suc != null && suc.IdSucursal != id) { suc = ctx.ObtenerSucursalDatosPorId(id); } } //Si la session actual es null else if (Session["Sucursal"] == null) { suc = ctx.ObtenerSucursalDatosPorId(id); } //Si no se encontró la sucursal if (suc == null) { return(RedirectToAction("Index", "Home")); } //Agregamos los nuevos datos a la session //y guardamos en la lista de mas recientes. if (suc.GuardadoEnReciente == false) { suc.GuardadoEnReciente = ctx.InsertarSucursalReciente(id); Session["Sucursal"] = suc; } return(View(suc)); } return(RedirectToAction("Index", "Home")); }
public bool IsValid() { var user = ControlAcceso.GetUsuarioEnSession(); //Si el perfil del usuario es SU se le concede acceso inmediato if (user.IdPerfil == 0) { return(true); } var reg = HttpContext.Current.Session["Sucursal"] as Sucursal; if (reg == null) { return(false); } return(ControlAcceso.AccesoSucursal(reg.IdSucursal)); }