Ejemplo 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);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pgCode">代码模式:3301|33%|33__01%</param>
        /// <param name="incDisabled"></param>
        /// <param name="incUnVisible"></param>
        /// <returns></returns>
        private SQuery GetUsersQuery(string pgCode, bool incDisabled, bool incUnVisible)
        {
            UserM        u  = new UserM();
            User_LinkedM ul = new User_LinkedM();
            GroupM       g  = new GroupM();

            ul.IncludeAll(false);
            ul.LK_OBJT_ID.IsInc  = true;
            ul.LK_OBJT_ID.AsName = "PGID";

            SQuery SQ = NewSQ();

            SQ.From(u)
            .InnerJoin(ul)
            .On(u.PUID == ul.PUID).And(ul.LK_OBJT == Group.LK_OBJT)
            .InnerJoin(g)
            .On(ul.LK_OBJT_ID == g.PGID)
            .Where(g.PG_Code.Like(pgCode));

            if (incDisabled == false)
            {
                SQ.And(u.Is_Disabled != true);
            }

            if (incUnVisible == false)
            {
                SQ.And(u.Is_Visibled != false);
            }

            return(SQ);
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
        public bool ClearUsers()
        {
            string[] unClearPUIDs = new string[] { "0", "1" };

            //清理,与功能间的关联
            //
            Resource_LinkedM rl = new Resource_LinkedM();

            rl.Where(rl.LK_OBJT == User.LK_OBJT)
            .And(rl.LK_OBJT_ID.Unin(unClearPUIDs))
            .Delete();

            //清理,与组之音的关联
            //
            User_LinkedM ul = new User_LinkedM();

            ul.Where(ul.PUID.Unin(unClearPUIDs)).Delete();

            //清理用户数据
            //
            UserM u = new UserM();

            u.Where(u.PUID.Unin(unClearPUIDs)).Delete();

            return(true);
        }
Ejemplo n.º 6
0
        private SQuery GetUsersQuery(bool incDisabled, bool incUnVisible, params int[] pgids)
        {
            UserM        u  = new UserM();
            User_LinkedM ul = new User_LinkedM();

            ul.IncludeAll(false);
            ul.LK_OBJT_ID.IsInc  = true;
            ul.LK_OBJT_ID.AsName = "PGID";

            SQuery SQ = NewSQ();

            SQ.From(u)
            .InnerJoin(ul)
            .On(u.PUID == ul.PUID)
            .Where(ul.LK_OBJT_ID.In(pgids))
            .And(ul.LK_OBJT == Group.LK_OBJT);

            if (incDisabled == false)
            {
                SQ.And(u.Is_Disabled != true);
            }

            if (incUnVisible == false)
            {
                SQ.And(u.Is_Visibled != false);
            }

            SQ.OrderBy(u.CN_Name);

            return(SQ);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 核对密码
        /// </summary>
        public static bool CheckPassWd(string userId, string passWd)
        {
            string secretPassWd = User.EncryptPassWd(userId, passWd);

            UserM u = new UserM();

            u.Where(u.User_Id == userId)
            .And(u.Pass_Wd == secretPassWd);

            return(u.Exists());
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 是否存有组内用户
        /// </summary>
        /// <param name="pgid">组PGID</param>
        /// <param name="incDisabled">是否包括禁用的</param>
        /// <returns></returns>
        public bool ExistsUsers(int pgid, bool incDisabled)
        {
            User_LinkedM ul = new User_LinkedM();
            UserM        u  = new UserM();
            SQuery       SQ = new SQuery();

            return(SQ.From(ul.NoLock())
                   .InnerJoin(u.NoLock())
                   .On(ul.PUID == u.PUID)
                   .Where(ul.LK_OBJT == Group.LK_OBJT)
                   .And(ul.LK_OBJT_ID == pgid)
                   .Exists());
        }
Ejemplo n.º 9
0
        public bool VisibleUser(int puid, bool isVisibled)
        {
            if (puid < 1)
            {
                return(false);
            }

            UserM u = new UserM();

            u.Is_Visibled.Value = isVisibled;

            return(u.Where(u.PUID == puid).Update());
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 获取一个User[@orPuid 或者 @orUser_id]对象
        /// </summary>
        public User GetUser(int orPuid, string orUser_id)
        {
            if (orPuid == 0 && orUser_id == null)
            {
                throw new BCFException("PUID 与 User_Id不能同时为NULL");
            }


            UserM u = new UserM();

            return(u.Where(u.PUID == orPuid)
                   .Or(u.User_Id == orUser_id)
                   .SelectOne <User>());
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 修改用户必码
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="passWd">未加密的代码</param>
        public bool ModifyUserPassWd(string userId, string passWd)
        {
            UserM u = new UserM();


            u.Pass_Wd.Value = User.EncryptPassWd(userId, passWd);

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

            return(u.Where(u.User_Id == userId).Update());
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 是否存在一个用户
        /// </summary>
        public bool Exists(int orPuid, string orUser_id)
        {
            if (orUser_id == null)
            {
                orUser_id = "";
            }

            if (orUser_id.Length == 0 && orPuid < 1)
            {
                return(false);
            }

            UserM u = new UserM();

            return(u.Where(u.PUID == orPuid)
                   .Or(u.User_Id == orUser_id)
                   .Exists());
        }
Ejemplo n.º 13
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));
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="passWd">密码</param>
        /// <param name="groupId">限定的组ID</param>
        /// <returns>是否成功</returns>
        public bool Login(string userId, string passWd, int groupId)
        {
            if (userId == null || passWd == null)
            {
                throw new BCFException("!!!(userId == null || passWd == null)");
            }

            if (userId.Length < 1 || passWd.Length < 1)
            {
                throw new BCFException("!!!(userId.Length < 1 || passWd.Length < 1)");
            }

            string secretPassWd = User.EncryptPassWd(userId, passWd);

            //-------------------------------
            UserM        u  = new UserM();
            User_LinkedM ul = new User_LinkedM();

            ul.IncludeAll(false);

            //-------------------------------------
            SQuery SQ = NewSQ();

            SQ.From(u);

            if (groupId > 0)
            {
                SQ.InnerJoin(ul)
                .On(ul.PUID == u.PUID)
                .And(ul.LK_OBJT == Group.LK_OBJT)
                .And(ul.LK_OBJT_ID == groupId);
            }

            SQ.Where(u.User_Id == userId)
            .And(u.Pass_Wd == secretPassWd)
            .And(u.Is_Disabled == false);

            User user = SQ.SelectOne <User>();

            if (user.User_Id == null)
            {
                return(false);
            }
            else
            {
                if (_CurrentUser.Bind(user) == false)
                {
                    return(false);
                }

                if (groupId > 0)
                {
                    if (_CurrentGroup.Bind(GroupService.G.GetGroup(groupId)) == false)
                    {
                        return(false);
                    }
                }

                //------------------------->>成功登录后,执行插件调用
                //				PluginApply.OnLogin();
                //-------------------------<<

                return(true);
            }
        }
Ejemplo n.º 15
0
        public bool ExistsUser(string userID)
        {
            UserM u = new UserM();

            return(u.Where(u.User_Id == userID).Exists());
        }
Ejemplo n.º 16
0
        public List <User> GetUsers(params int[] puids)
        {
            UserM u = new UserM();

            return(u.Where(u.PUID.In(puids)).Select <User>());
        }