コード例 #1
0
        /// <summary>
        /// 获取权限列表
        /// </summary>
        /// <param name="CategoryId">权限大类编号(小于等于0不作条件)</param>
        /// <param name="ClassId">权限类别编号(小于等于0不作条件)</param>
        /// <returns>返回系统权限数据实体集合</returns>
        public virtual IList <Model.SystemStructure.SysPermission> GetSysPermissionList(int CategoryId, int ClassId)
        {
            IList <Model.SystemStructure.SysPermission> List = new List <Model.SystemStructure.SysPermission>();
            string strWhere = Sql_SysPermission_Select + " where 1 = 1 ";

            if (CategoryId > 0)
            {
                strWhere += string.Format(" and CategoryId = {0} ", CategoryId);
            }
            if (ClassId > 0)
            {
                strWhere += string.Format(" and ClassId = {0} ", ClassId);
            }

            DbCommand dc = base.SystemStore.GetSqlStringCommand(strWhere);

            using (IDataReader dr = DbHelper.ExecuteReader(dc, base.SystemStore))
            {
                Model.SystemStructure.SysPermission model = null;
                while (dr.Read())
                {
                    model = new EyouSoft.Model.SystemStructure.SysPermission();
                    if (!dr.IsDBNull(0))
                    {
                        model.Id = dr.GetInt32(0);
                    }
                    if (!dr.IsDBNull(1))
                    {
                        model.CategoryId = dr.GetInt32(1);
                    }
                    if (!dr.IsDBNull(2))
                    {
                        model.ClassId = dr.GetInt32(2);
                    }
                    model.PermissionName = dr[3].ToString();
                    if (!dr.IsDBNull(4))
                    {
                        model.SortId = dr.GetInt32(4);
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("IsEnable")) && dr["IsEnable"].ToString().Equals("1"))
                    {
                        model.IsEnable = true;
                    }
                    else
                    {
                        model.IsEnable = false;
                    }

                    List.Add(model);
                }
            }
            return(List);
        }
コード例 #2
0
        /// <summary>
        /// 获取用户后台所有的(已启用的)权限
        /// </summary>
        /// <param name="companyTypes">用户公司类型集合</param>
        /// <returns></returns>
        public Model.SystemStructure.SysPermissionCategory GetAllPermissionByUser(Model.CompanyStructure.CompanyType[] companyTypes)
        {
            var strSql = new StringBuilder();

            strSql.Append(" declare @Category int; ");
            //个人中心(用户后台)
            strSql.AppendFormat(" select @Category = [Id] from tbl_SysPermissionCategory where [TypeId] = {0} and IsEnable = '1'; ", 2);
            strSql.Append(" select * from tbl_SysPermissionCategory where [Id] = @Category; ");
            strSql.Append(" select *  ");
            strSql.Append(
                " ,(select * FROM tbl_SysPermissionList list WHERE list.CategoryId = @Category AND list.IsEnable = '1' and list.ClassId = tbl_SysPermissionClass.Id for xml raw,root('Root')) as PermissionList ");
            strSql.Append(" from tbl_SysPermissionClass where CategoryId = @Category and IsEnable = '1' ");
            //营销工具 = 97,  系统设置 = 98,  我的网店 = 99
            //营销工具、系统设置、我的网店 所有身份公司都有这些权限
            strSql.Append(" and tbl_SysPermissionClass.Id in (97,98,99 ");
            if (companyTypes != null && companyTypes.Any())
            {
                foreach (var t in companyTypes)
                {
                    switch (t)
                    {
                    case Model.CompanyStructure.CompanyType.专线:
                    case Model.CompanyStructure.CompanyType.组团:
                    case Model.CompanyStructure.CompanyType.地接:
                    case Model.CompanyStructure.CompanyType.景区:
                        strSql.AppendFormat(" ,{0} ", (int)t);
                        break;

                    default:
                        continue;
                    }
                }
            }
            strSql.Append(" ) ; ");

            DbCommand dc = SystemStore.GetSqlStringCommand(strSql.ToString());

            var model = new Model.SystemStructure.SysPermissionCategory();

            using (IDataReader dr = DbHelper.ExecuteReader(dc, SystemStore))
            {
                if (dr.Read())
                {
                    if (!dr.IsDBNull(dr.GetOrdinal("Id")))
                    {
                        model.Id = dr.GetInt32(dr.GetOrdinal("Id"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("TypeId")))
                    {
                        model.TypeId = dr.GetInt32(dr.GetOrdinal("TypeId"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("CategoryName")))
                    {
                        model.CategoryName = dr.GetString(dr.GetOrdinal("CategoryName"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("SortId")))
                    {
                        model.SortId = dr.GetInt32(dr.GetOrdinal("SortId"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("IsEnable")))
                    {
                        if (dr.GetString(dr.GetOrdinal("IsEnable")) == "1" || dr.GetString(dr.GetOrdinal("IsEnable")).ToLower() == "ture")
                        {
                            model.IsEnable = true;
                        }
                    }
                }

                dr.NextResult();

                model.SysPermissionClass = new List <Model.SystemStructure.SysPermissionClass>();
                Model.SystemStructure.SysPermissionClass classModel;
                while (dr.Read())
                {
                    classModel = new Model.SystemStructure.SysPermissionClass();
                    if (!dr.IsDBNull(dr.GetOrdinal("Id")))
                    {
                        classModel.Id = dr.GetInt32(dr.GetOrdinal("Id"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("CategoryId")))
                    {
                        classModel.CategoryId = dr.GetInt32(dr.GetOrdinal("CategoryId"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("SortId")))
                    {
                        classModel.SortId = dr.GetInt32(dr.GetOrdinal("SortId"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("ClassName")))
                    {
                        classModel.ClassName = dr.GetString(dr.GetOrdinal("ClassName"));
                    }
                    if (!dr.IsDBNull(dr.GetOrdinal("IsEnable")))
                    {
                        if (dr.GetString(dr.GetOrdinal("IsEnable")) == "1" || dr.GetString(dr.GetOrdinal("IsEnable")).ToLower() == "ture")
                        {
                            classModel.IsEnable = true;
                        }
                    }

                    if (!dr.IsDBNull(dr.GetOrdinal("PermissionList")))
                    {
                        var xRoot = XElement.Parse(dr.GetString(dr.GetOrdinal("PermissionList")));
                        var xRows = Common.Utility.GetXElements(xRoot, "row");
                        if (xRows != null && xRows.Any())
                        {
                            classModel.SysPermission = new List <Model.SystemStructure.SysPermission>();
                            foreach (var t in xRows)
                            {
                                if (t == null)
                                {
                                    continue;
                                }

                                var tmp = new Model.SystemStructure.SysPermission
                                {
                                    CategoryId     = model.Id,
                                    ClassId        = classModel.Id,
                                    Id             = Common.Utility.GetInt(Common.Utility.GetXAttributeValue(t, "Id")),
                                    PermissionName =
                                        Common.Utility.GetXAttributeValue(t, "PermissionName"),
                                    SortId =
                                        Common.Utility.GetInt(Common.Utility.GetXAttributeValue(t,
                                                                                                "SortId"))
                                };
                                string strt = Common.Utility.GetXAttributeValue(t, "IsEnable");
                                if (!string.IsNullOrEmpty(strt) && (strt == "1" || strt.ToLower() == "true"))
                                {
                                    tmp.IsEnable = true;
                                }
                                classModel.SysPermission.Add(tmp);
                            }
                        }
                    }

                    model.SysPermissionClass.Add(classModel);
                }
            }

            return(model);
        }