protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            var  isAuthorized = base.AuthorizeCore(httpContext);
            bool Valid        = false;

            if (!isAuthorized)
            {
                Valid = false;
            }
            if (HttpContext.Current.Session["User"] != null)
            {
                var session = HttpContext.Current.Session["User"] as SessionModel;
                if (session.UserRole.ToLower().Contains("super admin"))
                {
                    Permissions.AssignRight(new UserActionRights {
                        Create = true, Edit = true, ExcelExport = true, History = true, View = true
                    });
                    return(true);
                }
                else
                {
                    int UserId = session.UserId;
                    var menues = session.Menues as MenuMasterModel;
                    if (MenuName == 0)
                    {
                        return(true);
                    }

                    string privilegeLevels = menues.SubMenuList.Where(x => x.MenuCapId == MenuName).Select(x => x.ActionIds).FirstOrDefault();
                    if (AccessLevel.Length > 0 && !string.IsNullOrEmpty(privilegeLevels))
                    {
                        string[] items            = privilegeLevels.Split(',');
                        var      UserActionRights = new UserActionRights();
                        for (int i = 0; i < items.Length; i++)
                        {
                            if (Convert.ToInt32(items[i]) == 1)
                            {
                                UserActionRights.View = true;
                            }
                            if (Convert.ToInt32(items[i]) == 2)
                            {
                                UserActionRights.Create = true;
                            }
                            if (Convert.ToInt32(items[i]) == 3)
                            {
                                UserActionRights.Edit = true;
                            }
                            if (Convert.ToInt32(items[i]) == 4)
                            {
                                UserActionRights.Delete = true;
                            }
                            if (Convert.ToInt32(items[i]) == 5)
                            {
                                UserActionRights.History = true;
                            }
                            if (Convert.ToInt32(items[i]) == 6)
                            {
                                UserActionRights.ExcelExport = true;
                            }
                        }
                        Permissions.AssignRight(UserActionRights);
                        if (privilegeLevels.Contains(((int)AccessLevel[0]).ToString()) == true)
                        {
                            Valid = true;
                        }
                        else
                        {
                            Valid = false;
                        }
                    }
                }
            }
            else
            {
                Valid = false;
            }

            return(Valid);
        }