void BindMemberAdminOptionsDataGrid() { if (HasMemberAdmin) { #region Status level Q ArrayList alStatusLevels = new ArrayList(); if (MemberAdminOptionsMembersCheckBox.Checked) { alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Member)); } if (MemberAdminOptionsRequestCheckBox.Checked) { alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Request)); alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Recommend)); } if (MemberAdminOptionsInvitedCheckBox.Checked) { alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Invite)); alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.InviteRejected)); } if (MemberAdminOptionsRejectedCheckBox.Checked) { alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.RecommendRejected)); alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.RequestRejected)); } if (MemberAdminOptionsExitedCheckBox.Checked) { alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Exited)); } if (MemberAdminOptionsBarredCheckBox.Checked) { alStatusLevels.Add(new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Barred)); } Q qStatusLevels = new Q(false); MemberAdminOptionsSearchNoneSelected.Visible = alStatusLevels.Count == 0 && MemberAdminOptionsSearchClicked; if (alStatusLevels.Count > 0) { qStatusLevels = new Or((Q[])alStatusLevels.ToArray(typeof(Q))); } #endregion #region Nickname Q Q qNickName = new Q(true); if (MemberAdminOptionsSearchTextBox.Text.Trim().Length > 0) { qNickName = new Q(new Column(GroupUsr.Columns.UsrK, Usr.Columns.NickName), QueryOperator.TextContains, MemberAdminOptionsSearchTextBox.Text.Trim()); } #endregion Query q = new Query(); q.QueryCondition = new And( new Q(GroupUsr.Columns.GroupK, CurrentGroup.K), qStatusLevels, qNickName ); q.Columns = new ColumnSet( GroupUsr.Columns.UsrK, GroupUsr.Columns.Status, GroupUsr.Columns.Moderator, GroupUsr.Columns.NewsAdmin, GroupUsr.Columns.MemberAdmin, GroupUsr.Columns.Owner, GroupUsr.Columns.StatusChangeDateTime, GroupUsr.Columns.StatusChangeUsrK, GroupUsr.Columns.InviteUsrK, new JoinedColumnSet( GroupUsr.Columns.UsrK, Usr.LinkColumns ), new JoinedColumnSet( GroupUsr.Columns.StatusChangeUsrK, Usr.LinkColumns ), new JoinedColumnSet( GroupUsr.Columns.InviteUsrK, Usr.LinkColumns ) ); q.TableElement = GroupUsr.UsrAndStatusChangeUsrJoin; q.OrderBy = new OrderBy(new OrderBy(GroupUsr.Columns.StatusChangeDateTime, OrderBy.OrderDirection.Descending), new OrderBy(new Column(GroupUsr.Columns.UsrK, Usr.Columns.NickName))); GroupUsrSet gus = new GroupUsrSet(q); MemberAdminOptionsSearchNoResults.Visible = gus.Count == 0 && alStatusLevels.Count > 0; MemberAdminOptionsDataGridP.Visible = gus.Count > 0; if (gus.Count > 0) { MemberAdminOptionsDataGrid.AllowPaging = (gus.Count > MemberAdminOptionsDataGrid.PageSize); MemberAdminOptionsDataGrid.DataSource = gus; MemberAdminOptionsDataGrid.DataBind(); } } }
protected void MemberAdminRequestsUpdate_Click(object sender, System.EventArgs e) { if (HasMemberAdmin) { Query q = new Query(); q.NoLock = true; q.QueryCondition = new And( new Q(GroupUsr.Columns.GroupK, CurrentGroup.K), new Or( new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Request), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Recommend) ) ); GroupUsrSet gus = new GroupUsrSet(q); MemberAdminRequestsUpdateResultsP.InnerHtml = ""; bool doneOne = false; foreach (GroupUsr gu in gus) { try { CheckBox accCb = (CheckBox)Cambro.Web.Helpers.SearchControl(MemberAdminRequestsDataGrid, "ReqAccUsrK" + gu.UsrK.ToString()); CheckBox rejCb = (CheckBox)Cambro.Web.Helpers.SearchControl(MemberAdminRequestsDataGrid, "ReqRejUsrK" + gu.UsrK.ToString()); if (accCb != null && rejCb != null) { if (accCb.Checked != rejCb.Checked) { if (accCb.Checked) { doneOne = true; Return r = CurrentGroup.Invite(gu.Usr, gu, Usr.Current, CurrentGroupUsr, "", false); MemberAdminRequestsUpdateResultsP.InnerHtml += (MemberAdminRequestsUpdateResultsP.InnerHtml.Length > 0 ? "<br>" : "") + "Accepting " + gu.Usr.Link() + " - " + (r.Success ? "Done." : "Error: " + r.MessageHtml); } else if (rejCb.Checked) { doneOne = true; Return r = CurrentGroup.Reject(gu.Usr, gu, Usr.Current, CurrentGroupUsr); MemberAdminRequestsUpdateResultsP.InnerHtml += (MemberAdminRequestsUpdateResultsP.InnerHtml.Length > 0 ? "<br>" : "") + "Rejecting " + gu.Usr.Link() + " - " + (r.Success ? "Done." : "Error: " + r.MessageHtml); } } } } catch { } } if (doneOne) { CurrentGroup.UpdateTotalMembers(); MemberAdminRequestsDataGrid.CurrentPageIndex = 0; BindRequestsDataGrid(); ContainerPage.AnchorSkip("MemberAdminRequests"); } } }
void BindRequestsDataGrid() { if (HasMemberAdmin) { Query q = new Query(); q.QueryCondition = new And( new Q(GroupUsr.Columns.GroupK, CurrentGroup.K), new Or( new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Request), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Recommend) ) ); q.Columns = new ColumnSet( GroupUsr.Columns.Status, GroupUsr.Columns.Moderator, GroupUsr.Columns.NewsAdmin, GroupUsr.Columns.MemberAdmin, GroupUsr.Columns.Owner, GroupUsr.Columns.StatusChangeDateTime, GroupUsr.Columns.UsrK, GroupUsr.Columns.InviteUsrK, new JoinedColumnSet( GroupUsr.Columns.UsrK, Usr.LinkColumns ), GroupUsr.Columns.StatusChangeUsrK, new JoinedColumnSet( GroupUsr.Columns.StatusChangeUsrK, Usr.LinkColumns ), new JoinedColumnSet( GroupUsr.Columns.InviteUsrK, Usr.LinkColumns ) ); q.TableElement = GroupUsr.UsrAndStatusChangeUsrJoin; q.OrderBy = new OrderBy(GroupUsr.Columns.StatusChangeDateTime, OrderBy.OrderDirection.Descending); GroupUsrSet gus = new GroupUsrSet(q); MemberAdminRequestsDataGridPanel.Visible = gus.Count > 0; MemberAdminRequestsNoResultsP.Visible = gus.Count == 0; if (gus.Count > 0) { MemberAdminRequestsDataGrid.AllowPaging = (gus.Count > MemberAdminRequestsDataGrid.PageSize); MemberAdminRequestsDataGrid.DataSource = gus; MemberAdminRequestsDataGrid.DataBind(); } } }
void BindModeratorsDataGrid() { if (HasOwner) { Query q = new Query(); q.QueryCondition = new And( new Q(GroupUsr.Columns.GroupK, CurrentGroup.K), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Member), new Q(GroupUsr.Columns.Moderator, true) ); q.Columns = new ColumnSet( GroupUsr.Columns.UsrK, GroupUsr.Columns.Status, GroupUsr.Columns.Moderator, GroupUsr.Columns.NewsAdmin, GroupUsr.Columns.MemberAdmin, GroupUsr.Columns.Owner, new JoinedColumnSet( GroupUsr.Columns.UsrK, Usr.LinkColumns ) ); q.TableElement = GroupUsr.UsrJoin; q.OrderBy = new OrderBy(new Column(GroupUsr.Columns.UsrK, Usr.Columns.NickName)); GroupUsrSet gus = new GroupUsrSet(q); if (gus.Count > 0) { OwnerModeratorsDataGrid.AllowPaging = (gus.Count > OwnerModeratorsDataGrid.PageSize); OwnerModeratorsDataGrid.DataSource = gus; OwnerModeratorsDataGrid.DataBind(); } } }
protected void OwnerModeratorsUpdate(object sender, System.EventArgs e) { if (HasOwner) { Query q = new Query(); q.NoLock = true; q.QueryCondition = CurrentGroup.ModeratorQ; GroupUsrSet gus = new GroupUsrSet(q); #region check for at least one owner!!! bool gotOwner = false; foreach (GroupUsr gu in gus) { CheckBox ownerCb = (CheckBox)Cambro.Web.Helpers.SearchControl(OwnerModeratorsDataGrid, "OwnerUsrK" + gu.UsrK.ToString()); if (ownerCb != null) { if (ownerCb.Checked) { gotOwner = true; } } else { if (gu.Owner) { gotOwner = true; } } } #endregion if (!gotOwner) OnwerModeratorError.Visible = true; else { bool removedMod = false; foreach (GroupUsr gu in gus) { try { if (Usr.Current.IsAdmin || gu.UsrK != Usr.Current.K) { CheckBox modCb = (CheckBox)Cambro.Web.Helpers.SearchControl(OwnerModeratorsDataGrid, "ModUsrK" + gu.UsrK.ToString()); CheckBox newsCb = (CheckBox)Cambro.Web.Helpers.SearchControl(OwnerModeratorsDataGrid, "NewsUsrK" + gu.UsrK.ToString()); CheckBox memberCb = (CheckBox)Cambro.Web.Helpers.SearchControl(OwnerModeratorsDataGrid, "MemberUsrK" + gu.UsrK.ToString()); CheckBox ownerCb = (CheckBox)Cambro.Web.Helpers.SearchControl(OwnerModeratorsDataGrid, "OwnerUsrK" + gu.UsrK.ToString()); if (modCb != null && newsCb != null && memberCb != null && ownerCb != null) { bool prevOwner = gu.Owner; bool prevMemberAdmin = gu.MemberAdmin; bool prevNewsAdmin = gu.NewsAdmin; bool prevModerator = gu.Moderator; if (ownerCb.Checked) { gu.ChangeModeratorPermission(true, true, true, true); } else if (memberCb.Checked || newsCb.Checked) { gu.ChangeModeratorPermission(true, newsCb.Checked, memberCb.Checked, false); } else if (modCb.Checked) { gu.ChangeModeratorPermission(true, false, false, false); } else { removedMod = true; gu.ChangeModeratorPermission(false, false, false, false); } } } } catch { } } CurrentGroup.UpdateTotalMembers(); if (removedMod) BindModeratorsDataGrid(); OnwerModeratorDone.Visible = true; } } }
public void UpdateIsGroupModerator() { Query q = new Query(); q.QueryCondition = new And(new Q(GroupUsr.Columns.UsrK, this.K), new Q(GroupUsr.Columns.Moderator, true)); q.TopRecords = 1; GroupUsrSet gus = new GroupUsrSet(q); bool newVal = gus.Count != 0; if (this.IsGroupModerator != newVal) { this.IsGroupModerator = newVal; this.Update(); } }
void BindGroups() { Query q = new Query(); q.QueryCondition = new And( new Q(GroupUsr.Columns.UsrK, Usr.Current.K), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Member) ); q.Columns = new ColumnSet( GroupUsr.Columns.GroupK, GroupUsr.Columns.Status, GroupUsr.Columns.Moderator, //GroupUsr.Columns.HideWhenRead, GroupUsr.Columns.Favourite, new JoinedColumnSet( GroupUsr.Columns.GroupK, Group.Columns.Name, Group.Columns.BrandK, Group.Columns.TotalMembers, Group.Columns.TotalComments, Group.Columns.LastPost, Group.Columns.UrlName), new JoinedColumnSet( GroupUsr.Columns.GroupK, CommentAlert.Columns.UsrK, CommentAlert.Columns.ParentObjectType, CommentAlert.Columns.ParentObjectK) ); q.TableElement = GroupUsr.GroupJoin; q.TableElement = new Join( q.TableElement, new TableElement(new Column(GroupUsr.Columns.GroupK, CommentAlert.Columns.ParentObjectK)), QueryJoinType.Left, new And( new Q(GroupUsr.Columns.GroupK, new Column(GroupUsr.Columns.GroupK, CommentAlert.Columns.ParentObjectK), true), new Q(new Column(GroupUsr.Columns.GroupK, CommentAlert.Columns.ParentObjectType), Model.Entities.ObjectType.Group), new Q(new Column(GroupUsr.Columns.GroupK, CommentAlert.Columns.UsrK), Usr.Current.K) ) ); q.OrderBy = new OrderBy( new OrderBy(GroupUsr.Columns.Favourite, OrderBy.OrderDirection.Descending), new OrderBy(GroupUsr.Columns.Owner, OrderBy.OrderDirection.Descending), new OrderBy(GroupUsr.Columns.Moderator, OrderBy.OrderDirection.Descending), new OrderBy(new Column(GroupUsr.Columns.GroupK, Group.Columns.Name)) ); GroupUsrSet vs = new GroupUsrSet(q); PanelGroupsList.Visible = vs.Count > 0; PanelNoGroups.Visible = vs.Count == 0; if (vs.Count > 0) { GroupsDataGrid.AllowPaging = (vs.Count > GroupsDataGrid.PageSize); GroupsDataGrid.DataSource = vs; GroupsDataGrid.DataBind(); } }
void BindInvites() { Query q = new Query(); q.QueryCondition = new And( new Q(GroupUsr.Columns.UsrK, Usr.Current.K), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Invite) ); q.Columns = new ColumnSet( GroupUsr.Columns.GroupK, GroupUsr.Columns.Status, GroupUsr.Columns.StatusChangeDateTime, GroupUsr.Columns.InviteMessage, GroupUsr.Columns.InviteUsrK, new JoinedColumnSet( GroupUsr.Columns.InviteUsrK, Usr.LinkColumns ), new JoinedColumnSet( GroupUsr.Columns.GroupK, Group.Columns.Name, Group.Columns.TotalMembers, Group.Columns.TotalComments, Group.Columns.LastPost, Group.Columns.UrlName ) ); q.TableElement = GroupUsr.GroupAndInvitingUsrJoin; q.OrderBy = new OrderBy(GroupUsr.Columns.StatusChangeDateTime, OrderBy.OrderDirection.Descending); GroupUsrSet gus = new GroupUsrSet(q); PanelInvites.Visible = gus.Count > 0; if (gus.Count > 0) { InvitesDataGrid.AllowPaging = (gus.Count > InvitesDataGrid.PageSize); InvitesDataGrid.DataSource = gus; InvitesDataGrid.DataBind(); } }
public void MergeAndDelete(Group merge) { if (this.K==merge.K) throw new DsiUserFriendlyException("Can't merge group into itself!"); Cambro.Web.Helpers.WriteAlertHeader(); Cambro.Web.Helpers.WriteAlert("Starting group merge...", true); Cambro.Web.Helpers.WriteAlert("Merging group members...", true); //members Query qGu = new Query(); qGu.QueryCondition=new Q(GroupUsr.Columns.GroupK,merge.K); GroupUsrSet gus = new GroupUsrSet(qGu); int count = 0; foreach (GroupUsr guMerge in gus) { if (count%10==0) Cambro.Web.Helpers.WriteAlert("Merging usr " + guMerge.UsrK + " ("+count+" / "+gus.Count+")..."); try { count++; GroupUsr guMaster = this.GetGroupUsr(guMerge.Usr); if (guMaster == null) { guMaster = new GroupUsr(); guMaster.UsrK = guMerge.UsrK; guMaster.GroupK = this.K; guMaster.Status = guMerge.Status; guMaster.StatusChangeDateTime = guMerge.StatusChangeDateTime; guMaster.StatusChangeUsrK = guMerge.StatusChangeUsrK; guMaster.Owner = guMerge.Owner; guMaster.Moderator = guMerge.Moderator; guMaster.NewsAdmin = guMerge.NewsAdmin; guMaster.MemberAdmin = guMerge.MemberAdmin; guMaster.MemberAdminNewUserEmails = guMerge.MemberAdminNewUserEmails; guMaster.Favourite = guMerge.Favourite; guMaster.InviteMessage = guMerge.InviteMessage; guMaster.InviteUsrK = guMerge.InviteUsrK; guMaster.Update(); guMaster.Usr.UpdateIsGroupModerator(); } else { if (guMaster.StatusPermissionLevel < guMerge.StatusPermissionLevel) { guMaster.Status = guMerge.Status; guMaster.StatusChangeDateTime = guMerge.StatusChangeDateTime; guMaster.StatusChangeUsrK = guMerge.StatusChangeUsrK; guMaster.InviteMessage = guMerge.InviteMessage; guMaster.InviteUsrK = guMerge.InviteUsrK; } if (this.BrandK == 0 || merge.BrandK > 0) { if (guMerge.Owner) guMaster.Owner = true; if (guMerge.Moderator) guMaster.Moderator = true; if (guMerge.NewsAdmin) guMaster.NewsAdmin = true; if (guMerge.MemberAdmin) { guMaster.MemberAdmin = true; guMaster.MemberAdminNewUserEmails = guMerge.MemberAdminNewUserEmails; } } if (guMerge.Favourite) guMaster.Favourite = true; guMaster.Update(); guMaster.Usr.UpdateIsGroupModerator(); } if (guMaster.IsMember) { Mailer m = new Mailer(); m.UsrRecipient = guMerge.Usr; m.Subject = "A group you were in has been merged"; m.Body = "<p><i>" + merge.FriendlyName + "</i> has been merged with <i>" + this.FriendlyName + "</i>. " + "Your membership details have been moved across. If you ever want to exit the group, click the button " + "on the <a href=\"[LOGIN(" + this.Url() + ")]\">group homepage</a>.</p>"; m.RedirectUrl = this.Url(); m.Bulk = true; m.Send(); } if (guMaster.IsMember && CommentAlert.IsEnabled(guMerge.UsrK, guMerge.GroupK, Model.Entities.ObjectType.Group)) CommentAlert.Enable(guMaster.Usr, guMaster.GroupK, Model.Entities.ObjectType.Group); } catch { Cambro.Web.Helpers.WriteAlert("Exception! ... deleting membership for usr " + guMerge.UsrK + " (" + count + " / " + gus.Count + ")..."); guMerge.Delete(); } } Cambro.Web.Helpers.WriteAlert("Done merging usrs..."); //picture if (merge.HasPic && !this.HasPic) { Cambro.Web.Helpers.WriteAlert("Copying picture...", true); try { Utilities.CopyPic(merge, this); } catch { Cambro.Web.Helpers.WriteAlert("Exception while copying picture...", true); } Cambro.Web.Helpers.WriteAlert("Done copying picture...", true); } //recommended events if (this.BrandK == 0) { Cambro.Web.Helpers.WriteAlert("Merging recommended events...", true); Query qEv = new Query(); qEv.QueryCondition = new Q(GroupEvent.Columns.GroupK, merge.K); GroupEventSet ges = new GroupEventSet(qEv); foreach (GroupEvent geMerge in ges) { try { GroupEvent geMaster = new GroupEvent(this.K, geMerge.EventK); } catch (BobNotFound) { GroupEvent geMaster = new GroupEvent(); geMaster.GroupK = this.K; geMaster.EventK = geMerge.EventK; geMaster.Update(); } } Cambro.Web.Helpers.WriteAlert("Done merging recommended events..."); } Cambro.Web.Helpers.WriteAlert("Merging top photos...", true); //top photos Query qPh = new Query(); qPh.QueryCondition=new Q(GroupPhoto.Columns.GroupK,merge.K); GroupPhotoSet gps = new GroupPhotoSet(qPh); foreach (GroupPhoto gpMerge in gps) { try { GroupPhoto gpMaster = new GroupPhoto(this.K,gpMerge.PhotoK); if (!gpMaster.ShowOnFrontPage && gpMerge.ShowOnFrontPage) { gpMaster.Caption=gpMerge.Caption; gpMaster.DateTime=gpMerge.DateTime; gpMaster.AddedByUsrK=gpMerge.AddedByUsrK; gpMaster.ShowOnFrontPage=gpMerge.ShowOnFrontPage; gpMaster.Update(); } } catch (BobNotFound) { GroupPhoto gpMaster = new GroupPhoto(); gpMaster.GroupK=this.K; gpMaster.PhotoK=gpMerge.PhotoK; gpMaster.Caption=gpMerge.Caption; gpMaster.DateTime=gpMerge.DateTime; gpMaster.AddedByUsrK=gpMerge.AddedByUsrK; gpMaster.ShowOnFrontPage=gpMerge.ShowOnFrontPage; gpMaster.Update(); } } Cambro.Web.Helpers.WriteAlert("Done merging top photos..."); //addedbyusrk's if (true) { Cambro.Web.Helpers.WriteAlert("Updating invited users...", true); Update update = new Update(); update.Changes.Add(new Assign(Usr.Columns.AddedByGroupK, this.K)); update.Table = TablesEnum.Usr; update.Where = new Q(Usr.Columns.AddedByGroupK, merge.K); update.Run(); Cambro.Web.Helpers.WriteAlert("Done updating invited users..."); } Cambro.Web.Helpers.WriteAlert("Merging topics (1/4)...", true); //chats if (merge.PrivateChat != this.PrivateChat || merge.ThemeK != this.ThemeK || merge.MusicTypeK != this.MusicTypeK) { Update update = new Update(); update.Table=TablesEnum.Thread; update.Changes.Add(new Assign(Thread.Columns.PrivateGroup,this.PrivateChat)); update.Changes.Add(new Assign(Thread.Columns.ThemeK, this.ThemeK)); update.Changes.Add(new Assign(Thread.Columns.MusicTypeK, this.MusicTypeK)); update.Where=new Q(Thread.Columns.GroupK,merge.K); update.Run(); } Cambro.Web.Helpers.WriteAlert("Done merging topics (1/4)..."); if (true) { Cambro.Web.Helpers.WriteAlert("Merging topics (2/4)...", true); Update update = new Update(); update.Table=TablesEnum.Thread; update.Changes.Add(new Assign(Thread.Columns.UrlFragment,"groups/"+this.UrlName)); update.Changes.Add(new Assign(Thread.Columns.CountryK, this.CountryK)); update.Changes.Add(new Assign(Thread.Columns.PlaceK,this.PlaceK)); update.Where=new And(new Q(Thread.Columns.ParentObjectType,Model.Entities.ObjectType.Group),new Q(Thread.Columns.ParentObjectK,merge.K)); update.Run(); Cambro.Web.Helpers.WriteAlert("Done merging topics (2/4)..."); } if (true) { Cambro.Web.Helpers.WriteAlert("Merging topics (3/4)...", true); Update update = new Update(); update.Table=TablesEnum.Thread; update.Changes.Add(new Assign(Thread.Columns.GroupK,this.K)); update.Where=new Q(Thread.Columns.GroupK,merge.K); update.Run(); Cambro.Web.Helpers.WriteAlert("Done merging topics (3/4)..."); } if (true) { Cambro.Web.Helpers.WriteAlert("Merging topics (4/4)...", true); Update update = new Update(); update.Table=TablesEnum.Thread; update.Changes.Add(new Assign(Thread.Columns.ParentObjectK,this.K)); update.Where=new And(new Q(Thread.Columns.ParentObjectType,Model.Entities.ObjectType.Group),new Q(Thread.Columns.ParentObjectK,merge.K)); update.Run(); Cambro.Web.Helpers.WriteAlert("Done merging topics (4/4)..."); } Cambro.Web.Helpers.WriteAlert("Deleting old group...", true); merge.DeleteAll(null); Cambro.Web.Helpers.WriteAlert("Done deleting old group..."); Cambro.Web.Helpers.WriteAlert("Updating stats...", true); this.UpdateTotalComments(null); this.UpdateTotalMembers(); Cambro.Web.Helpers.WriteAlert("Done updating stats..."); Cambro.Web.Helpers.WriteAlert("Finished merging groups.", true); }
public void UpdateTotalMembers() { bool update=false; if (true) { Query q = new Query(); q.QueryCondition=this.MemberQ; q.ReturnCountOnly=true; GroupUsrSet gus = new GroupUsrSet(q); if (this.TotalMembers!=gus.Count) { this.TotalMembers=gus.Count; update=true; } } if (true) { Query q = new Query(); q.QueryCondition=this.ModeratorQ; q.ReturnCountOnly=true; GroupUsrSet gus = new GroupUsrSet(q); if (this.TotalModerators!=gus.Count) { this.TotalModerators=gus.Count; update=true; } } if (true) { Query q = new Query(); q.QueryCondition=this.OwnerQ; q.ReturnCountOnly=true; GroupUsrSet gus = new GroupUsrSet(q); if (this.TotalOwners!=gus.Count) { this.TotalOwners=gus.Count; update=true; } } if (true) { Query q = new Query(); q.QueryCondition=new And(this.MemberQ,new Q(GroupUsr.Columns.Favourite,true)); q.ReturnCountOnly=true; GroupUsrSet gus = new GroupUsrSet(q); if (this.FavouriteCount!=gus.Count) { this.FavouriteCount=gus.Count; update=true; } } if (update) this.Update(); }