Exemple #1
0
        public DataTable GetInLinked(int rsid)
        {
            if (rsid < 1)
            {
                return(null);
            }

            Resource_LinkedM rl = new Resource_LinkedM();
            GroupM           g  = new GroupM();
            UserM            u  = new UserM();

            g.IncludeAll(false);
            g.CN_Name.As("LK_OBJT_Name").IsInc = true;
            u.IncludeAll(false);
            u.CN_Name.As("LK_OBJT_Name").IsInc = true;

            DataTable dt1 = rl.InnerJoin(u).On(rl.LK_OBJT_ID == u.PUID)
                            .And(rl.RSID == rsid).And(rl.LK_OBJT == User.LK_OBJT)
                            .Select();

            rl = new Resource_LinkedM();

            DataTable dt2 = rl.InnerJoin(g).On(rl.LK_OBJT_ID == g.PGID)
                            .And(rl.RSID == rsid)
                            .And(rl.LK_OBJT == Group.LK_OBJT)
                            .And(g.R_PGID != Package.DEFINE)
                            .Select();

            foreach (DataRow row in dt2.Rows)
            {
                dt1.Rows.Add(row.ItemArray);
            }

            return(dt1);
        }
Exemple #2
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");
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="puid"></param>
        /// <param name="incDisabled"></param>
        /// <param name="forView"></param>
        /// <returns></returns>
        public SQuery GetInGroupsSQ(int puid, bool incDisabled, bool forView)
        {
            GroupM       g  = new GroupM();
            User_LinkedM ul = new User_LinkedM();

            SQuery SQ = new SQuery();

            ul.IncludeAll(false);

            if (forView == true)
            {
                g.IncludeAll(false);
                g.PGID.IsInc = true;
            }

            SQ.From(g.NoLock())
            .InnerJoin(ul).On(g.PGID == ul.LK_OBJT_ID)
            .Where(ul.PUID == puid);

            if (incDisabled == false)
            {
                SQ.And(g.Is_Disabled != 1);
            }

            if (DEFINE_VALUE > 0)
            {
                SQ.And(g.R_PGID == DEFINE_VALUE.ToString());
            }

            if (forView == false)
            {
                SQ.OrderBy(g.Order_Index);
            }

            return(SQ);
        }