示例#1
0
        private void CreateTrashedEntry(IDatabaseContext <Tag> ctx, Tag tag, string notes)
        {
            var archived = new ArchivedTagContract(tag, new TagDiff(true));
            var data     = XmlHelper.SerializeToXml(archived);
            var trashed  = new TrashedEntry(tag, data, GetLoggedUser(ctx), notes);

            ctx.Save(trashed);
        }
示例#2
0
        private void CreateTrashedEntry(IDatabaseContext ctx, ReleaseEventSeries eventSeries, string notes)
        {
            var archived = new ArchivedEventSeriesContract(eventSeries, new ReleaseEventSeriesDiff(true));
            var data     = XmlHelper.SerializeToXml(archived);
            var trashed  = new TrashedEntry(eventSeries, data, GetLoggedUser(ctx), notes);

            ctx.Save(trashed);
        }
示例#3
0
        public int MoveToTrash(int albumId)
        {
            PermissionContext.VerifyPermission(PermissionToken.MoveToTrash);

            return(HandleTransaction(session => {
                var album = session.Load <Album>(albumId);

                AuditLog(string.Format("moving {0} to trash", album), session);

                var archived = new ArchivedAlbumContract(album, new AlbumDiff(true));
                var data = XmlHelper.SerializeToXml(archived);
                var trashed = new TrashedEntry(album, data, GetLoggedUser(session));

                session.Save(trashed);

                album.DeleteLinks();
                session.Delete(album);

                return trashed.Id;
            }));
        }