public IViewComponentResult Invoke(IEnumerable <Claim> Claim) { int user = Env.GetUserInfo("Id", Claim).ToInt32(); var notify = _notificationService.GetAll().Where(i => i.ToUserId == user && i.IsRead == null).ToArray(); return(View(notify)); }
//public IViewComponentResult Invoke() //{ // //var articles = _articleService.GetNewArticles(numberOfItems); // //return View(articles); // return View(); //} public HtmlString Invoke(IEnumerable <Claim> Claim) { StringBuilder sb = new StringBuilder(); int? ParentId = null; //get role id and role regarding to role bind this var UserId = Convert.ToInt32(Env.GetUserInfo("Id", Claim)); var RoleId = Convert.ToInt32(Env.GetUserInfo("RoleId", Claim)); //var cacheItemKey = "jApMenuBar" + userId + "Us" + RoleId; var cacheItemKey = "AllMenuBar"; var globle = (List <MenuPermission>)_cache.Get(cacheItemKey); if (globle == null) { globle = _MenuBarSer.GetMenuBarlist().ToList(); //listMenuPer = (List<MenuPermission>)globle; _cache.Set(cacheItemKey, globle, DateTime.Now.AddMinutes(60)); } string dashboard = "/Home"; if (RoleId == userRole) { dashboard = "/Home/UserIndex"; } sb.Append("<ul class=\"sidebar-menu\">"); sb.Append("<li class=\"active\"> <a href=\"" + dashboard + "\"> <i class=\"fa fa-dashboard\"></i> <span>" + localizer["Dashboard"] + " </span> </a> </li>"); sb.Append(GetMenuBar(ParentId, globle.Where(i => (i.RoleId == RoleId && i.UserId == null) || i.UserId == UserId).ToArray())); sb.Append("</ul>"); return(new HtmlString(sb.ToString())); }
public int RoleId() { return(Env.GetUserInfo("RoleId", User.Claims).ToInt32()); }
public string UserName() { return(Env.GetUserInfo("UserName", User.Claims)); }
public string RoleName() { return(Env.GetUserInfo("Role", User.Claims)); }
public void OnActionExecuting(ActionExecutingContext context) { // do something before the action executes //base.OnActionExecuting(context); try { var userid = Convert.ToInt32(Env.GetUserInfo("Id", context.HttpContext.User.Claims)); var roleid = Convert.ToInt32(Env.GetUserInfo("RoleId", context.HttpContext.User.Claims)); var descriptor = context.ActionDescriptor as ControllerActionDescriptor; var actionName = descriptor.ActionName.ToLower(); var controllerName = descriptor.ControllerName.ToLower(); var GetOrPost = context.HttpContext.Request.Method.ToString(); //var checkAreaName = context.HttpContext.Request.RequestContext.RouteData.DataTokens["area"]; string AreaName = ""; //if (checkAreaName != null) //{ // AreaName = checkAreaName.ToString().ToLower() + "/"; //} var cacheItemKey = "AllMenuBarFilter"; var globle = _cache.Get(cacheItemKey); if (GetOrPost == "POST") { ///if menupermission create,edit,delete then update value "true" in IsMenuChange file if (controllerName == "menupermission" && (actionName == "create" || actionName == "edit" || actionName == "delete" || actionName == "multiviewindex")) { globle = MenuBarCache(cacheItemKey, globle, "shortcache"); } } if (globle == null) //if cashe is null { globle = MenuBarCache(cacheItemKey, globle, "60mincache"); //make cache from db } var menuaccess = (MenuOfRole[])globle; string menuUrl = AreaName + controllerName + "/" + actionName; if (IsActionNameEqualToCrudPageName(actionName)) { menuUrl = AreaName + controllerName; } var checkUrl = menuaccess.FirstOrDefault(i => (i.MenuURL == AreaName + controllerName + "/" + actionName) || i.MenuURL == menuUrl); ///checkUrl: check if menu url Exists in MenuPermission if not exists then will be run if (checkUrl != null) { var checkControllerActionRoleUserId = menuaccess.FirstOrDefault(i => i.MenuURL == menuUrl && i.RoleId == roleid && i.UserId == userid); ///check menu && roleid && userid if (checkControllerActionRoleUserId != null) { if (IsActionNameEqualToCrudPageName(actionName)) { CheckAccessOfPageAction(context, actionName, checkControllerActionRoleUserId); } else { if (checkControllerActionRoleUserId.IsRead == false || checkControllerActionRoleUserId.IsDelete == false || checkControllerActionRoleUserId.IsCreate == false || checkControllerActionRoleUserId.IsUpdate == false)//if userid !=null && Check Crud { UnAuthoRedirect(context); } } } else { var checkControllerActionRole = menuaccess.FirstOrDefault(i => i.MenuURL == menuUrl && i.RoleId == roleid && i.UserId == null); if (checkControllerActionRole != null) { if (IsActionNameEqualToCrudPageName(actionName)) { CheckAccessOfPageAction(context, actionName, checkControllerActionRole); } else { if (checkControllerActionRole.IsRead == false || checkControllerActionRole.IsDelete == false || checkControllerActionRole.IsCreate == false || checkControllerActionRole.IsUpdate == false)//if userid !=null && Check Crud { UnAuthoRedirect(context); } } } else { if (IsThisAjaxRequest(context) == false)//if userid !=null && Check Crud { UnAuthoRedirect(context); } } } } } catch (Exception) { } }