示例#1
0
        //public static bool AddUserGroupInfo(UserGroup userGroupInfo)
        //{

        //    return true;
        //}

        public static bool DeleteUserGroupInfo(int groupid)
        {
            if (UserGroup.IsSystemOrTemplateUserGroup(groupid))
            {
                return(false);
            }

            var ug = UserGroup.FindByID(groupid);

            if (groupid >= 9)
            {
                //var list = UserGroup.FindAllWithCache().FindAll(e => e.ID != ug.ID);
                var list = UserGroup.GetUserGroupExceptGroupid(ug.ID);
                //DataTable userGroupExceptGroupid = UserGroups.GetUserGroupExceptGroupid(groupid);
                //if (userGroupExceptGroupid.Rows.Count > 1)
                if (list.Count > 1)
                {
                    if (!ug.Is管理团队)
                    {
                        int creditshigher = ug.Creditshigher;
                        int creditslower  = ug.Creditslower;
                        UserGroup.SystemCheckCredits("delete", ref creditshigher, ref creditslower, groupid);
                    }
                }
                else
                {
                    if (list.Count != 1)
                    {
                        throw new Exception("当前用户组为系统中唯一的用户组,因此系统无法删除");
                    }

                    //UserGroup.UpdateUserGroupLowerAndHigherToLimit(userGroupExceptGroupid.Rows[0][0].ToInt(0));
                    //UserGroup.UpdateUserGroupLowerAndHigherToLimit(list[0].ID);
                    var ug2 = list[0];
                    ug2.Creditshigher = -9999999;
                    ug2.Creditslower  = 9999999;
                    ug2.Update();
                }
            }
            //UserGroups.DeleteUserGroupInfo(groupid);
            ug.Delete();
            //AdminGroups.DeleteAdminGroupInfo(short.Parse(groupid.ToString()));
            var adg = AdminGroup.FindByID(groupid);

            if (adg != null)
            {
                adg.Delete();
            }
            //BBX.Data.OnlineUsers.DeleteOnlineByUserGroup(groupid);
            Online.DeleteByUserGroup(groupid);
            //Caches.ReSetAdminGroupList();
            //Caches.ReSetUserGroupList();

            return(true);
        }
示例#2
0
        public static int CreateNoticeInfo(Notice inf)
        {
            if (inf.PosterID == inf.Uid)
            {
                return(0);
            }

            int num = inf.Insert();

            if (num > 0)
            {
                var online = Online.FindByUserID(inf.Uid);
                if (online != null)
                {
                    online.UpdateNewNotices(0);
                }
            }
            return(num);
        }
示例#3
0
        public Int32 DeleteWithCredits()
        {
            if (UserGroup.IsSystemOrTemplateUserGroup(ID))
            {
                return(-1);
            }

            var ug = this;

            if (ID >= 9)
            {
                //var list = UserGroup.FindAllWithCache().FindAll(e => e.ID != ug.ID);
                var list = UserGroup.GetUserGroupExceptGroupid(ug.ID);
                //DataTable userGroupExceptGroupid = UserGroups.GetUserGroupExceptGroupid(groupid);
                //if (userGroupExceptGroupid.Rows.Count > 1)
                if (list.Count > 1)
                {
                    if (!ug.Is管理团队)
                    {
                        int creditshigher = ug.Creditshigher;
                        int creditslower  = ug.Creditslower;
                        //SystemCheckCredits("delete", ref creditshigher, ref creditslower, ID);

                        // 找到紧挨着的上一个积分组,把它的下限改为当前下限
                        var ug2 = FindByCreditsLower(ug.Creditshigher);
                        if (ug2 != null)
                        {
                            //UpdateCreditsLowerByCreditsLower(creditsLower, creditsHigher);
                            ug2.Creditslower = ug.Creditslower;
                            ug2.Update();
                        }
                        // 找下一个积分组,它的上限改为当前上限
                        else
                        {
                            //UpdateCreditsHigherByCreditsHigher(creditsHigher, creditsLower);
                            ug2 = FindByCreditsHigher(ug.Creditslower);
                            if (ug2 != null)
                            {
                                //UpdateCreditsLowerByCreditsLower(creditsLower, creditsHigher);
                                ug2.Creditshigher = ug.Creditshigher;
                                ug2.Update();
                            }
                        }
                    }
                }
                else
                {
                    if (list.Count != 1)
                    {
                        throw new Exception("当前用户组为系统中唯一的用户组,因此系统无法删除");
                    }

                    var ug2 = list[0];
                    ug2.Creditshigher = -9999999;
                    ug2.Creditslower  = 9999999;
                    ug2.Update();
                }
            }

            var adg = AdminGroup.FindByID(ID);

            if (adg != null)
            {
                adg.Delete();
            }

            Online.DeleteByUserGroup(ID);

            return(ug.Delete());
        }