Beispiel #1
0
        private SQuery _SQ_GetInGroupResources(params int[] pgidS)
        {
            if (pgidS.Length == 0)
            {
                throw new BCFException("GetInGroupResources(pgdiS)::@pgidS长度必须大于0");
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            rl.IncludeAll(false);
            rl.LK_OBJT.IsInc   = true;
            rl.P_Express.IsInc = true;

            ResourceExView rv = new ResourceExView(false);

            SQuery SQ = NewSQ();

            SQ.From(rv)
            .InnerJoin(rl)
            .On(rv.RSID == rl.RSID)
            .Where(rl.LK_OBJT == Group.LK_OBJT)
            .And(rl.LK_OBJT_ID.In(pgidS))
            .And(rv.Is_Disabled == false)
            .And(rv.PKG_Is_Disabled == false);

            this._Sort(SQ, rv);

            return(SQ);
        }
Beispiel #2
0
        /// <summary>
        /// 获取指定包里的资源
        /// </summary>
        /// <param name="packageIds">包ID组</param>
        /// <param name="incDisabled">是否包括忆禁用的部分</param>
        /// <returns>资源列表</returns>
        public List <Resource> GetResources(bool incDisabled, params int[] packageIds)
        {
            ResourceM        r  = new ResourceM();
            Resource_LinkedM rl = new Resource_LinkedM();

            rl.IncludeAll(false);

            SQuery SQ = NewSQ();

            SQ.From(r)
            .InnerJoin(rl)
            .On(rl.RSID == r.RSID)
            .Where(r.RSID != "0")
            .And(rl.LK_OBJT == Package.LK_OBJT)
            .And(rl.LK_OBJT_ID.In(packageIds));

            if (incDisabled == false)
            {
                SQ.And(r.Is_Disabled == false);
            }

            if (_OrderColumnName == null)
            {
                SQ.OrderBy(r.Order_Index);
            }
            else
            {
                if (r.Contains(_OrderColumnName))
                {
                    SQ.OrderBy(r[_OrderColumnName]);
                }
                else if (rl.Contains(_OrderColumnName))
                {
                    SQ.OrderBy(r[_OrderColumnName]);
                }
                else if (_OrderColumnName.IndexOf(",") > 0)
                {
                    SQ.OrderBy(r.CN_Name.Exp(_OrderColumnName));
                }
                else
                {
                    SQ.OrderBy(r.Order_Index);
                }
            }

            return(SQ.Select <Resource>());
        }
Beispiel #3
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="isOnlyLink">是否办需要关联信息</param>
        public ResourceExView(bool isOnlyLink)
        {
            this.IsOnlyLink = isOnlyLink;

            PKG.CN_Name.AsName     = "PG_CN_Name";
            PKG.EN_Name.AsName     = "PG_EN_Name";
            PKG.Order_Index.AsName = "PG_Order_Index";
            PKG.Is_Disabled.AsName = "PG_Is_Disabled";

            PKG.IncludeAll(false);

            PKG.PGID.IsInc        = true;
            PKG.Is_Disabled.IsInc = true;

            if (IsOnlyLink == false)
            {
                PKG.CN_Name.IsInc     = true;
                PKG.EN_Name.IsInc     = true;
                PKG.Order_Index.IsInc = true;
            }
            else //[IsOnlyLink == true]
            {
                SRC.IncludeAll(false);
                SRC.Is_Disabled.IsInc = true;
                SRC.RSID.IsInc        = true;
            }

            __link.IncludeAll(false);

            SQuery SQ = new SQuery();

            this.Code =
                SQ.From(SRC)
                .InnerJoin(__link).On(SRC.RSID == __link.RSID)
                .InnerJoin(PKG).On(PKG.PGID == __link.LK_OBJT_ID)
                .Where(PKG.R_PGID == Package.DEFINE)
                .SubSelect().Code;

            this.As("RV");

            //视图建好后,重新调整名称
            //
            InnerColumn(PKG.CN_Name, "PG_CN_Name");
            InnerColumn(PKG.EN_Name, "PG_EN_Name");
            InnerColumn(PKG.Order_Index, "PG_Order_Index");
            InnerColumn(PKG.Is_Disabled, "PG_Is_Disabled");
        }