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