Пример #1
0
        public void RemoveAttachmentsFromPages(PageBE[] pages, DateTime timestamp, uint transactionId) {
            //This method used from page deletion

            IList<ResourceBE> files = _resourceBL.GetResources(pages.Select(e => (uint)e.ID).ToArray(), ResourceBE.ParentType.PAGE, ResourceBL.FILES, null, DeletionFilter.ACTIVEONLY, null, null, null);
            RemoveAttachments(files, timestamp, transactionId);
        }
Пример #2
0
 public static void DeletePages(PageBE[] pagesToDelete, DateTime timeStampUtc, uint transactionId, bool showInRecentChanges) {
     AttachmentBL.Instance.RemoveAttachmentsFromPages(pagesToDelete, timeStampUtc, transactionId);
     IList<ulong> pageIds = pagesToDelete.Select(e => e.ID).ToList();
     DbUtils.CurrentSession.Links_MoveInboundToBrokenLinks(pageIds);
     DbUtils.CurrentSession.Archive_MovePagesTo(pageIds, transactionId);
     bool minorChange = false;
     foreach(PageBE p in pagesToDelete) {
         if(showInRecentChanges) {
             RecentChangeBL.AddDeletePageRecentChange(timeStampUtc, p, DekiContext.Current.User, string.Format(DekiResources.DELETED_ARTICLE, p.Title.AsPrefixedUserFriendlyPath()), minorChange, transactionId);
             minorChange = true;
         }
         DekiContext.Current.Instance.EventSink.PageDelete(DreamContext.Current.StartTime, p, DekiContext.Current.User);
     }
 }