Пример #1
0
        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);
            }
        }
Пример #2
0
        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);

            }
        }