public bool DeleteUser() { if(this.siteSettings.ReallyDeleteUsers) { SubscriberRepository subscriptions = new SubscriberRepository(); List<LetterSubscriber> subs = subscriptions.GetListByUser(siteSettings.SiteGuid, userGuid); foreach (LetterSubscriber subscription in subs) { subscriptions.Delete(subscription); LetterInfo.UpdateSubscriberCount(subscription.LetterInfoGuid); } UserLocation.DeleteByUser(userGuid); UserPage.DeleteByUser(userGuid); DBSiteUser.DeletePropertiesByUser(userGuid); bool result = DBSiteUser.DeleteUser(this.userID); if(result) { Role.DeleteUserRoles(this.userID); } return result; } else { return DBSiteUser.FlagAsDeleted(this.userID); } }
public static void RemoveDuplicates(List<LetterSubscriber> userSubscriptions) { SubscriberRepository subscriptions = new SubscriberRepository(); List<LetterSubscriber> cleanSubscriptions = new List<LetterSubscriber>(); List<LetterSubscriber> duplicates = new List<LetterSubscriber>(); foreach (LetterSubscriber s in userSubscriptions) { if (!ContainsSubscription(cleanSubscriptions, s.LetterInfoGuid)) { cleanSubscriptions.Add(s); } else { duplicates.Add(s); } } foreach (LetterSubscriber s in duplicates) { subscriptions.Delete(s, false); LetterInfo.UpdateSubscriberCount(s.LetterInfoGuid); } }