Exemplo n.º 1
0
 public AdminCatalog CreateCatalog(AdminCatalogType adminCatalogType)
 {
     try
     {
         return(new AdminCatalog(this.VcloudClient, SdkUtil.Post <AdminCatalogType>(this.VcloudClient, this.Resource.href + "/catalogs", SerializationUtil.SerializeObject <AdminCatalogType>(adminCatalogType, "com.vmware.vcloud.api.rest.schema"), "application/vnd.vmware.admin.catalog+xml", 201)));
     }
     catch (Exception ex)
     {
         throw new VCloudException(ex.Message);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 相当于根目录的路径
        /// </summary>
        /// <param name="path"></param>
        /// <param name="Type">导航类别</param>
        /// <returns></returns>
        public static Privileges GetPrivileges <TEnum>(AdminCatalogType Type)
        {
            Type type = typeof(TEnum);

            FieldInfo[] fields = type.GetFields();
            if (fields.Length == 1)
            {
                return(null);
            }
            Privileges p = new Privileges();

            foreach (var field in fields)
            {
                var attributes = field.GetCustomAttributes(typeof(PrivilegeAttribute), true);
                if (attributes.Length == 0)
                {
                    continue;
                }
                GroupActionItem           group   = new GroupActionItem();
                ActionItem                item    = new ActionItem();
                List <string>             actions = new List <string>();
                List <PrivilegeAttribute> attrs   = new List <PrivilegeAttribute>();
                List <Controllers>        ctrls   = new List <Controllers>();
                string linkTarget = string.Empty;
                foreach (var attr in attributes)
                {
                    Controllers ctrl      = new Controllers();
                    var         attribute = attr as PrivilegeAttribute;
                    if (!attribute.AdminCatalogType.Equals(Type))
                    {
                        continue;
                    }
                    ctrl.ControllerName = attribute.Controller;
                    ctrl.ActionNames.AddRange(attribute.Action.Split(','));
                    ctrls.Add(ctrl);
                    attrs.Add(attribute);
                    linkTarget = attribute.LinkTarget;
                }
                if (attrs.Count.Equals(0))
                {
                    continue;
                }
                var groupInfo = attrs.FirstOrDefault(a => !string.IsNullOrEmpty(a.GroupName));
                group.GroupName  = groupInfo.GroupName;
                item.PrivilegeId = groupInfo.Pid;
                item.Name        = groupInfo.Name;
                item.Url         = groupInfo.Url;
                item.Type        = groupInfo.AdminCatalogType;
                item.LinkTarget  = linkTarget;
                item.Controllers.AddRange(ctrls);
                var currentGroup = p.Privilege.FirstOrDefault(a => a.GroupName == group.GroupName);
                if (currentGroup == null)
                {
                    group.Items.Add(item);
                    p.Privilege.Add(group);
                }
                else
                {
                    currentGroup.Items.Add(item);
                }
            }
            return(p);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 相当于根目录的路径
        /// </summary>
        /// <param name="path"></param>
        /// <param name="Type">导航类别</param>
        /// <returns></returns>
        public static Privileges GetPrivileges <TEnum>(AdminCatalogType Type)
        {
            var sitesetting = SiteSettingApplication.SiteSettings;

            Type type = typeof(TEnum);

            FieldInfo[] fields = type.GetFields();
            if (fields.Length == 1)
            {
                return(null);
            }
            Privileges p = new Privileges();

            foreach (var field in fields)
            {
                var attributes = field.GetCustomAttributes(typeof(PrivilegeAttribute), true);
                if (attributes.Length == 0)
                {
                    continue;
                }
                GroupActionItem           group   = new GroupActionItem();
                ActionItem                item    = new ActionItem();
                List <string>             actions = new List <string>();
                List <PrivilegeAttribute> attrs   = new List <PrivilegeAttribute>();
                List <Controllers>        ctrls   = new List <Controllers>();
                string linkTarget = string.Empty;
                foreach (var attr in attributes)
                {
                    Controllers ctrl      = new Controllers();
                    var         attribute = attr as PrivilegeAttribute;
                    if (!attribute.AdminCatalogType.Equals(Type))
                    {
                        continue;
                    }
                    ctrl.ControllerName = attribute.Controller;
                    ctrl.ActionNames.AddRange(attribute.Action.Split(','));
                    ctrls.Add(ctrl);
                    attrs.Add(attribute);
                    linkTarget = attribute.LinkTarget;
                }
                if (attrs.Count.Equals(0))
                {
                    continue;
                }
                var groupInfo = attrs.FirstOrDefault(a => !string.IsNullOrEmpty(a.GroupName));
                if (sitesetting != null)
                {
                    if (!sitesetting.IsOpenPC)//PC端未开启授权
                    {
                        if (groupInfo.GroupName == "网站")
                        {
                            if (groupInfo.Name == "首页模板" && groupInfo.Pid == 7001)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "主题设置" && groupInfo.Pid == 7004)
                            {
                                continue;
                            }
                        }
                        if (groupInfo.GroupName == "营销")
                        {
                            if (groupInfo.Name == "PC端专题" && groupInfo.Pid == 9010)
                            {
                                continue;
                            }
                        }
                    }

                    if (!sitesetting.IsOpenH5)//H5端未开启授权
                    {
                        if (groupInfo.GroupName == "微商城")
                        {
                            if (groupInfo.Name == "商城首页设置" && groupInfo.Pid == 10001)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "底部导航栏" && groupInfo.Pid == 10007)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "微店管理" && groupInfo.Pid == 10002)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "菜单设置" && groupInfo.Pid == 10003)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "公众号设置" && groupInfo.Pid == 10004)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "素材管理" && groupInfo.Pid == 10005)
                            {
                                continue;
                            }
                        }

                        if (groupInfo.GroupName == "分销" && !sitesetting.IsOpenMallSmallProg)
                        {
                            if (groupInfo.Name == "分销设置" && groupInfo.Pid == 7101)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "分销商品" && groupInfo.Pid == 7102)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "销售员管理" && groupInfo.Pid == 7103)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "销售员等级" && groupInfo.Pid == 7104)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "分销业绩" && groupInfo.Pid == 7105)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "佣金提现管理" && groupInfo.Pid == 7106)
                            {
                                continue;
                            }
                        }

                        if (groupInfo.GroupName == "营销")
                        {
                            if (groupInfo.Name == "签到" && groupInfo.Pid == 9008)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "吸粉红包" && groupInfo.Pid == 9004)
                            {
                                continue;
                            }
                        }
                    }

                    if (!sitesetting.IsOpenApp)
                    {
                        if (groupInfo.GroupName == "APP")
                        {
                            if (groupInfo.Name == "APP商品配置" && groupInfo.Pid == 12003)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "APP首页配置" && groupInfo.Pid == 12001)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "关于我们" && groupInfo.Pid == 12002)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "APP引导页" && groupInfo.Pid == 12004)
                            {
                                continue;
                            }
                        }

                        if (groupInfo.GroupName == "营销")
                        {
                            if (groupInfo.Name == "APP积分商城" && groupInfo.Pid == 9016)
                            {
                                continue;
                            }
                        }
                    }

                    if (!sitesetting.IsOpenMallSmallProg)
                    {
                        if (groupInfo.GroupName == "小程序")
                        {
                            if (groupInfo.Name == "首页配置" && groupInfo.Pid == 13001)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "商品配置" && groupInfo.Pid == 13002)
                            {
                                continue;
                            }
                            if (groupInfo.Name == "消息配置" && groupInfo.Pid == 13003)
                            {
                                continue;
                            }
                        }
                    }

                    //if (!sitesetting.IsOpenMultiStoreSmallProg)
                    //{
                    //    //if (groupInfo.GroupName == "小程序")
                    //    //{
                    //    //    if (groupInfo.Name == "消息配置" && groupInfo.Pid == 13003)
                    //    //        continue;
                    //    //}

                    //    if (groupInfo.GroupName == "店铺")
                    //    {
                    //        if (groupInfo.Name == "O2O小程序消息" && groupInfo.Pid == 5008)
                    //            continue;
                    //    }
                    //}

                    if (!sitesetting.IsOpenStore)
                    {
                        if (groupInfo.GroupName == "店铺")
                        {
                            if (groupInfo.Name == "门店管理" && groupInfo.Pid == 5006)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "周边门店设置" && groupInfo.Pid == 5007)
                            {
                                continue;
                            }
                        }
                    }

                    if (!(sitesetting.IsOpenPC || sitesetting.IsOpenH5 || sitesetting.IsOpenApp))
                    {
                        if (groupInfo.GroupName == "营销")
                        {
                            if (groupInfo.Name == "新人礼包" && groupInfo.Pid == 9013)//新人礼包
                            {
                                continue;
                            }
                        }
                    }
                    if (!(sitesetting.IsOpenH5 || sitesetting.IsOpenApp))
                    {
                        if (groupInfo.GroupName == "营销")
                        {
                            if (groupInfo.Name == "刮刮卡管理" && groupInfo.Pid == 9012)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "大转盘管理" && groupInfo.Pid == 9014)
                            {
                                continue;
                            }

                            if (groupInfo.Name == "移动端专题" && groupInfo.Pid == 9009)
                            {
                                continue;
                            }
                        }
                    }

                    if (!(sitesetting.IsOpenPC || sitesetting.IsOpenApp))
                    {
                        if (groupInfo.Name == "礼品管理" && groupInfo.Pid == 9006)
                        {
                            continue;
                        }
                    }
                }


                group.GroupName  = groupInfo.GroupName;
                item.PrivilegeId = groupInfo.Pid;
                item.Name        = groupInfo.Name;
                item.Url         = groupInfo.Url;
                item.Type        = groupInfo.AdminCatalogType;
                item.LinkTarget  = linkTarget;
                item.Controllers.AddRange(ctrls);
                var currentGroup = p.Privilege.FirstOrDefault(a => a.GroupName == group.GroupName);
                if (currentGroup == null)
                {
                    group.Items.Add(item);
                    p.Privilege.Add(group);
                }
                else
                {
                    currentGroup.Items.Add(item);
                }
            }
            return(p);
        }