Esempio n. 1
0
        public bool RemoveUser(QDbTran tran, params int[] puidS)
        {
            if (puidS == null || puidS.Length < 1)
            {
                throw new BCFException("参数异常:(puidS == null || puidS.Length < 1)");
            }

            //删除User
            //
            UserM u = new UserM();

            u.Where(u.PUID.In(puidS)).Delete(tran);

            //删除User关联信息
            //
            User_LinkedM ul = new User_LinkedM();

            ul.Where(ul.PUID.In(puidS)).Delete(tran);

            //删除User与Resource
            //
            ResourceService.G.RemoveLink(tran, puidS);

            return(true);
        }
Esempio n. 2
0
        protected bool DoRemoveGroup(int p_pgid, QDbTran tran)
        {
            if (p_pgid == 0)
            {
                throw new BCFException("参数异常:(p_pgid == 0)");
            }

            //-------------------------------------
            //删除圈子
            //
            GroupM g = new GroupM();

            QView lkidView = g.Where(g.P_PGID == p_pgid).SubSelect(g.PGID);

            //1. 清除与Resource这间的连接
            //
            ResourceService.G.RemoveLink(lkidView, tran);

            //2. 清除与User这间的连接
            //
            UserService.G.RemoveLink(lkidView, tran);

            //3. 删除圈子
            //
            g.Where(g.P_PGID == p_pgid).Delete(tran);

            return(true);
        }
Esempio n. 3
0
        public int AppendUser(User user, bool checkUserId, QDbTran tran)
        {
            if (user == null)
            {
                return(0);
            }

            user.Create_Time = DateTime.Now;
            user.Last_Update = user.Create_Time;
            user.EncryptPassWd();

            UserM u = new UserM();

            u.Bind(user);

            u.Pass_Wd.IsInc = (!string.IsNullOrEmpty(u.Pass_Wd.Value));


            if (checkUserId == true) //验证用户名是否存在
            {
                if (u.Where(u.User_Id == user.User_Id).Exists())
                {
                    return(0);
                }
            }

            u.Insert(true, tran);

            return(u.INSERTED_ID);
        }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rsid"></param>
        /// <param name="puid"></param>
        /// <param name="exp"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public static bool JoinToUser(int rsid, int puid, PExpress exp, QDbTran tran)
        {
            if (rsid == 0 || rsid == 0)
            {
                return(false);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            rl.RSID.Value       = rsid;
            rl.LK_OBJT.Value    = User.LK_OBJT;
            rl.LK_OBJT_ID.Value = puid;
            rl.LK_Operate.Value = "+";
            rl.P_Express.Value  = (byte)exp;

            if (rl.Where(rl.RSID == rsid)
                .And(rl.LK_OBJT == User.LK_OBJT)
                .And(rl.LK_OBJT_ID == puid).NoLock().Exists())
            {
                return(false);
            }
            else
            {
                return(rl.Insert(tran));
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 移除Group,同时移除Group关联的信息
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="pgids"></param>
        protected bool DoRemoveGroup(QDbTran tran, params int[] pgids)
        {
            if (pgids == null || pgids.Length < 1)
            {
                throw new BCFException("参数异常:(pgids == null || pgids.Length < 1)");
            }

            //-------------------------------------
            //删除圈子
            //

            //清除与Resource这间的连接
            //
            ResourceService.G.RemoveLink(tran, pgids);

            //清除与User这间的连接
            //
            UserService.G.RemoveLink(tran, pgids);

            GroupM g = new GroupM();

            g.Where(g.PGID.In(pgids)).Delete(tran);

            return(true);
        }
Esempio n. 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="group"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        protected bool DoModifyGroup(T group, QDbTran tran)
        {
            GroupM g = new GroupM();

            g.Bind(group);
            g.PGID.IsInc = false;

            if (group.R_PGID < 1)
            {
                g.R_PGID.IsInc = false;
            }

            if (group.P_PGID == 0)
            {
                g.P_PGID.IsInc = false;
            }

            if (group.Order_Index == 0)
            {
                g.Order_Index.IsInc = false;
            }

            g.Create_Time.IsInc = false;
            g.Last_Update.Value = DateTime.Now;

            return(g.Where(g.PGID == group.PGID).Update(tran));
        }
Esempio n. 7
0
        public bool RemoveLink(QDbTran tran, string rsid, int lk_objt, int lk_objt_id)
        {
            Resource_LinkedM rl = new Resource_LinkedM();

            return(rl.Where(rl.RSID == rsid)
                   .And(rl.LK_OBJT == lk_objt)
                   .And(rl.LK_OBJT_ID == lk_objt_id).Delete(tran));
        }
Esempio n. 8
0
        /// <summary>
        /// 删除组与用户的关联
        /// </summary>
        public bool RemoveLink(QDbTran tran, params int[] pgidS)
        {
            User_LinkedM ul = new User_LinkedM();

            return(ul.Where(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.LK_OBJT_ID.In(pgidS))
                   .Delete(tran));
        }
Esempio n. 9
0
        public bool RemoveLink(QView lkidView, QDbTran tran)
        {
            User_LinkedM ul = new User_LinkedM();

            return(ul.Where(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.LK_OBJT_ID.In(lkidView))
                   .Delete(tran));
        }
Esempio n. 10
0
        /// <summary>
        /// 移除[删除]OPSx
        /// </summary>
        /// <param name="LK_OBJT"></param>
        /// <param name="LK_OBJT_ID"></param>
        /// <param name="tran"></param>
        public void RemoveOPSx(int LK_OBJT, int LK_OBJT_ID, QDbTran tran)
        {
            OPSxM o = new OPSxM();

            o.Where(o.LK_OBJT == LK_OBJT)
            .And(o.LK_OBJT_ID == LK_OBJT_ID)
            .UsingFilter(false)
            .Delete(tran);
        }
Esempio n. 11
0
        /// <summary>
        /// 清除与Group[@pgid]之间的连接关系
        /// </summary>
        public bool ClearInGroupLinked(string pgid, QDbTran tran)
        {
            if (pgid == null || pgid.Length < 1)
            {
                return(false);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            return(rl.Where(rl.LK_OBJT == Group.LK_OBJT)
                   .And(rl.LK_OBJT_ID == pgid)
                   .Delete(tran));
        }
Esempio n. 12
0
        /// <summary>
        /// 清除与User[@puid]之间的连接关系
        /// </summary>
        public bool ClearInUserLinked(string puid, QDbTran tran)
        {
            if (puid == null || puid.Length == 0)
            {
                return(false);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            return(rl.Where(rl.LK_OBJT == User.LK_OBJT)
                   .And(rl.LK_OBJT_ID == puid)
                   .Delete(tran));
        }
Esempio n. 13
0
        /// <summary>
        /// 获取与Group[@pgid]之间的连接关系
        /// </summary>
        public List <Resource_Linked> GetInGroupLinked(int pgid, QDbTran tran)
        {
            if (pgid < 1)
            {
                return(null);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            return(rl.Where(rl.LK_OBJT == Group.LK_OBJT)
                   .And(rl.LK_OBJT_ID == pgid)
                   .Select <Resource_Linked>());
        }
Esempio n. 14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rsid"></param>
        /// <param name="pgid"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public static bool LeaveGroup(int rsid, int pgid, QDbTran tran)
        {
            if (pgid == 0 || rsid == 0)
            {
                return(false);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            return
                (rl.Where(rl.LK_OBJT == Group.LK_OBJT)
                 .And(rl.LK_OBJT_ID == pgid)
                 .And(rl.RSID == rsid).Delete(tran));
        }
Esempio n. 15
0
        /// <summary>
        /// 脱离与一个组的关联
        /// </summary>
        /// <param name="puid">用户ID</param>
        /// <param name="pgid">组ID</param>
        /// <param name="tran">事务</param>
        /// <returns>是否成功</returns>
        public static bool LeaveGroup(int puid, int pgid, QDbTran tran)
        {
            if (pgid == 0 || puid == 0)
            {
                return(false);
            }

            User_LinkedM ul = new User_LinkedM();

            return(ul.Where(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.LK_OBJT_ID == pgid)
                   .And(ul.PUID == puid)
                   .Delete(tran));
        }
Esempio n. 16
0
        /// <summary>
        /// 移除与资源之间的关联
        /// </summary>
        /// <param name="tran">事务对象</param>
        /// <param name="rsidS">资源RSID组</param>
        /// <returns></returns>
        public bool RemoveResourceLink(QDbTran tran, params int[] rsidS)
        {
            if (this.PGID == 0 || rsidS.Length == 0)
            {
                return(false);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            return(rl.Where(rl.LK_OBJT == Group.LK_OBJT)
                   .And(rl.LK_OBJT_ID == this.PGID)
                   .And(rl.RSID.In(rsidS))
                   .Delete(tran));
        }
Esempio n. 17
0
        /// <summary>
        /// 移除与用户之间的关联
        /// </summary>
        /// <param name="tran">事务对象</param>
        /// <param name="puidS">用户PUID组</param>
        /// <returns></returns>
        public bool RemoveUserLink(QDbTran tran, params string[] puidS)
        {
            if (this.PGID == 0 || puidS.Length == 0)
            {
                return(false);
            }

            User_LinkedM ul = new User_LinkedM();

            return(ul.Where(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.LK_OBJT_ID == this.PGID)
                   .And(ul.PUID.In(puidS))
                   .Delete(tran));
        }
Esempio n. 18
0
        /// <summary>
        /// 清除与某一类组之间的关联
        /// </summary>
        /// <param name="puid">用户ID</param>
        /// <param name="groupDefine">组定义</param>
        /// <param name="tran">事务</param>
        /// <returns>是否成功</returns>
        public static bool ClearGroupLinked(int puid, int groupDefine, QDbTran tran)
        {
            GroupM g     = new GroupM();
            QView  pgidS = g.Where(g.R_PGID == groupDefine).SubSelect(g.PGID);

            User_LinkedM ul = new User_LinkedM();

            //清理,与用户之间的关联
            //
            return(ul.Where(ul.LK_OBJT_ID.In(pgidS))
                   .And(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.PUID == puid)
                   .Delete(tran));
        }
Esempio n. 19
0
        /// <summary>
        /// 写入日志
        /// </summary>
        /// <param name="log">日志对象</param>
        /// <param name="tran">事务[可以为null]</param>
        /// <returns>LogID</returns>
        public int WriteLog(Log log, QDbTran tran)
        {
            if (log == null)
            {
                return(0);
            }

            LogM l = new LogM();

            l.Bind(log);

            l.UsingFilter(false).Insert(true, tran);

            return(l.INSERTED_ID);
        }
Esempio n. 20
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rsid"></param>
        /// <param name="puid"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public static bool LeaveUser(int rsid, int puid, QDbTran tran)
        {
            if (rsid == 0 || puid == 0)
            {
                return(false);
            }

            Resource_LinkedM rl = new Resource_LinkedM();

            return
                (rl.Where(rl.LK_OBJT == User.LK_OBJT)
                 .And(rl.LK_OBJT_ID == puid)
                 .And(rl.RSID == rsid)
                 .Delete(tran));
        }
Esempio n. 21
0
        /// <summary>
        /// 移除资源,同时移除资源与其它对象的关联信息
        /// </summary>
        /// <param name="rsids">资源ID组</param>
        /// <param name="tran">事务</param>
        public bool RemoveResource(QDbTran tran, params int[] rsids)
        {
            Resource_LinkedM rl = new Resource_LinkedM();
            ResourceM        r  = new ResourceM();

            //删除关联表数据
            //
            bool temp = true;

            temp = temp && rl.Where(rl.RSID.In(rsids)).Delete(tran);

            //删除资源表数据
            temp = temp && r.Where(r.RSID.In(rsids)).Delete(tran);

            return(temp);
        }
Esempio n. 22
0
        /// <summary>
        /// 修改时,已实现自动[Pass_Wd]加密
        /// </summary>
        public bool ModifyUser(User user, QDbTran tran)
        {
            UserM u = new UserM();

            u.Pass_Wd.IsInc = user.EncryptPassWd();

            u.Bind(user);

            u.PUID.IsInc        = false;
            u.Create_Time.IsInc = false;
            u.Last_Update.Value = DateTime.Now;

            if (string.IsNullOrEmpty(u.Pass_Wd.Value))
            {
                u.Pass_Wd.IsInc = false;
            }

            return(u.Where(u.PUID == user.PUID).Update(tran));
        }
Esempio n. 23
0
        /// <summary>
        /// 设置OPSx
        /// </summary>
        /// <param name="LK_OBJT"></param>
        /// <param name="LK_OBJT_ID"></param>
        /// <param name="tags"></param>
        /// <param name="opsXml"></param>
        /// <param name="tran"></param>
        public void SetOPSx(int LK_OBJT, int LK_OBJT_ID, string tags, string opsXml, QDbTran tran)
        {
            OPSxM o = new OPSxM();

            o.LK_OBJT.Value    = LK_OBJT;
            o.LK_OBJT_ID.Value = LK_OBJT_ID;
            o.Tags.Value       = tags;
            o.OPSx.Value       = opsXml;

            o.Where(o.LK_OBJT == LK_OBJT)
            .And(o.LK_OBJT_ID == LK_OBJT_ID)
            .And(o.Tags == tags)
            .UsingFilter(false);

            if (o.Update(tran) == false)
            {
                o.Insert(tran);
            }
        }
Esempio n. 24
0
        /// <summary>
        /// 获取用户所在组的连接
        /// </summary>
        /// <param name="puid"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public List <Resource_Linked> GetInGroupOfUserLinked(int puid, QDbTran tran)
        {
            if (puid < 1)
            {
                return(null);
            }

            Resource_LinkedM rl = new Resource_LinkedM();
            User_LinkedM     ul = new User_LinkedM();

            QView ulv = ul.Where(ul.PUID == puid).And(ul.LK_OBJT == Group.LK_OBJT).SubSelect().As("T0");

            SQuery sq = new SQuery();

            return
                (sq.From(ulv)
                 .InnerJoin(rl).On(ul.LK_OBJT_ID == rl.LK_OBJT_ID)
                 .And(rl.LK_OBJT == Group.LK_OBJT)
                 .Select <Resource_Linked>(rl.RSID, rl.LK_OBJT_ID, rl.LK_OBJT, rl.LK_Operate, rl.P_Express));
        }
Esempio n. 25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="group"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        protected int DoAppendGroup(T group, QDbTran tran)
        {
            if (group == null)
            {
                return(0);
            }

            //是否存在@P_PGID的组
            //
            if (group.P_PGID > 0)
            {
                if (this.Exists(group.P_PGID) == false)
                {
                    return(0);
                }
            }
            else if (DEFINE_VALUE > 0)
            {
                group.P_PGID = DEFINE_VALUE;
            }


            // 如果有定义值,则根据定义值修改R_PGID
            //
            if (DEFINE_VALUE > 0)
            {
                group.R_PGID = DEFINE_VALUE;
            }

            group.Create_Time = DateTime.Now;
            group.Last_Update = group.Create_Time;


            GroupM g = new GroupM();

            g.Bind(group);

            g.Insert(true, tran);

            return(g.INSERTED_ID);
        }
Esempio n. 26
0
        /// <summary>
        /// 加入一个组
        /// </summary>
        /// <param name="puid">用户ID</param>
        /// <param name="pgid">组ID</param>
        /// <param name="tran">事务</param>
        /// <returns>是否成功</returns>
        public static bool JoinToGroup(int puid, int pgid, QDbTran tran)
        {
            if (pgid == 0 || puid == 0)
            {
                return(false);
            }

            User_LinkedM ul = new User_LinkedM();

            ul.PUID.Value       = puid;
            ul.LK_OBJT.Value    = Group.LK_OBJT;
            ul.LK_OBJT_ID.Value = pgid;
            ul.LK_Operate.Value = "+";

            if (ul.Where(ul.PUID == puid).And(ul.LK_OBJT == Group.LK_OBJT).And(ul.LK_OBJT_ID == pgid).Exists(tran))
            {
                return(false);
            }
            else
            {
                return(ul.Insert(tran));
            }
        }
Esempio n. 27
0
        /// <summary>
        /// 添加资源
        /// </summary>
        /// <param name="resource">资源实体</param>
        /// <param name="tran">事务</param>
        /// <returns>是否成功</returns>
        public int AppendResource(Resource resource, QDbTran tran)
        {
            if (resource == null)
            {
                return(0);
            }

            if (string.IsNullOrEmpty(resource.Uri_Target))
            {
                resource.Uri_Target = "_self";
            }

            resource.Create_Time = DateTime.Now;
            resource.Last_Update = resource.Create_Time;

            ResourceM r = new ResourceM();

            r.Bind(resource);

            r.Insert(true, tran);

            return(r.INSERTED_ID);
        }
Esempio n. 28
0
 /// <summary>
 /// 清理与某一类组的关系
 /// </summary>
 /// <param name="groupDefine"></param>
 /// <param name="tran"></param>
 /// <returns></returns>
 public bool ClearGroupLinked(int groupDefine, QDbTran tran)
 {
     return(ClearGroupLinked(this.PUID, groupDefine, tran));
 }
Esempio n. 29
0
 /// <summary>
 /// 脱离与一个组的关联
 /// </summary>
 /// <param name="pgid">组ID</param>
 /// <param name="tran">事务</param>
 /// <returns>是否成功</returns>
 public bool LeaveGroup(int pgid, QDbTran tran)
 {
     return(LeaveGroup(this.PUID, pgid, tran));
 }
Esempio n. 30
0
 /// <summary>
 /// 加入一个组
 /// </summary>
 /// <param name="pgid">组ID</param>
 /// <param name="tran">事务</param>
 /// <returns>是否成功</returns>
 public bool JoinToGroup(int pgid, QDbTran tran)
 {
     return(JoinToGroup(this.PUID, pgid, tran));
 }