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); }
/// <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"); }
/// <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); }