public virtual JsonResult GetApplicationMenu()
        {
            var appMenu  = new List <dynamic>();
            var cacheKey = string.Empty;

            try
            {
                if (UserClaims != null)
                {
                    //Creates a cacheKey using user login
                    cacheKey = "appMenu" + UserClaims.FirstOrDefault(uc => uc.ClaimType == ClaimTypes.WindowsAccountName).Value;
                    appMenu  = (List <dynamic>)HttpContext.Cache.Get(cacheKey);
                }

                if (appMenu == null || appMenu.Count <= 0)
                {
                    var menu = AppMenu.GetApplicationMenu();
                    appMenu = AppMenu.CastToDynamicMenuList(menu);

                    if (!string.IsNullOrEmpty(cacheKey))
                    {
                        HttpContext.Cache.Add(cacheKey, appMenu, null, DateTime.Now.AddHours(1), Cache.NoSlidingExpiration, CacheItemPriority.Default, null);
                    }
                }
            }
            catch (Exception ex)
            {
            }

            return(Json(appMenu, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public virtual List <MenuModel> GetApplicationMenu()
        {
            var appMenu = new List <MenuModel>();

            try
            {
                appMenu = AppMenu.GetApplicationMenu();
            }
            catch (Exception ex)
            {
            }

            return(appMenu);
        }