public ArchivedObjectVersionWithFieldsContract(ArchivedObjectVersion archivedVersion,
                                                TFields fields, TReason reason)
     : base(archivedVersion)
 {
     ChangedFields = fields;
     Reason        = reason;
 }
 public ArchivedObjectVersionWithFieldsContract(ArchivedObjectVersion archivedVersion, IUserIconFactory userIconFactory,
                                                TFields fields, TReason reason)
     : base(archivedVersion, userIconFactory)
 {
     ChangedFields = fields;
     Reason        = reason;
 }
예제 #3
0
        public VersioningInfoContract(ArchivedObjectVersion archivedObjectVersion)
        {
            ParamIs.NotNull(() => archivedObjectVersion);

            Author  = archivedObjectVersion.Author.Name;
            Created = archivedObjectVersion.Created;
            Version = archivedObjectVersion.Version;
        }
        public ArchivedObjectVersionForApiContract(ArchivedObjectVersion archivedObjectVersion)
        {
            ParamIs.NotNull(() => archivedObjectVersion);

            ChangedFields = archivedObjectVersion.DiffBase.ChangedFieldNames;
            Id            = archivedObjectVersion.Id;
            Notes         = archivedObjectVersion.Notes;
            Version       = archivedObjectVersion.Version;
        }
예제 #5
0
        protected bool DoSnapshot(ArchivedObjectVersion latestVersion, User user)
        {
            if (latestVersion == null)
            {
                return(true);
            }

            return((((latestVersion.Version + 1) % 5) == 0) || !user.Equals(latestVersion.Author));
        }
예제 #6
0
        public ActivityEntryContract(ArchivedObjectVersion entry, ContentLanguagePreference languagePreference)
        {
            ParamIs.NotNull(() => entry);

            ArtistString = GetArtistString(entry.EntryBase, languagePreference);
            Author       = new UserContract(entry.Author);
            CreateDate   = entry.Created;
            EditEvent    = entry.EditEvent;
            EntryRef     = new EntryWithImageContract(entry.EntryBase, GetMime(entry.EntryBase), GetSongThumbUrl(entry.EntryBase), languagePreference);
        }
예제 #7
0
        public ActivityEntryContract(ArchivedObjectVersion entry, ContentLanguagePreference languagePreference)
        {
            ParamIs.NotNull(() => entry);

            ArtistString = GetArtistString(entry.EntryBase, languagePreference);
            Author = new UserContract(entry.Author);
            CreateDate = entry.Created;
            EditEvent = entry.EditEvent;
            EntryRef = new EntryRefWithNameContract(entry.EntryBase, languagePreference);
            SongThumbUrl = GetSongThumbUrl(entry.EntryBase);
        }
        public ArchivedObjectVersionContract(ArchivedObjectVersion archivedObjectVersion)
        {
            ParamIs.NotNull(() => archivedObjectVersion);

            AgentName  = archivedObjectVersion.AgentName;
            Author     = (archivedObjectVersion.Author != null ? new UserContract(archivedObjectVersion.Author) : null);
            Created    = archivedObjectVersion.Created;
            EditEvent  = archivedObjectVersion.EditEvent;
            Id         = archivedObjectVersion.Id;
            IsSnapshot = archivedObjectVersion.DiffBase.IsSnapshot;
            Notes      = archivedObjectVersion.Notes;
            Status     = archivedObjectVersion.Status;
            Version    = archivedObjectVersion.Version;
        }
        public ArchivedObjectVersionContract(ArchivedObjectVersion archivedObjectVersion)
        {
            ParamIs.NotNull(() => archivedObjectVersion);

            AgentName = archivedObjectVersion.AgentName;
            Author = (archivedObjectVersion.Author != null ? new UserContract(archivedObjectVersion.Author) : null);
            Created = archivedObjectVersion.Created;
            EditEvent = archivedObjectVersion.EditEvent;
            Id = archivedObjectVersion.Id;
            IsSnapshot = archivedObjectVersion.DiffBase.IsSnapshot;
            Notes = archivedObjectVersion.Notes;
            Status = archivedObjectVersion.Status;
            Version = archivedObjectVersion.Version;
        }
        public ArchivedObjectVersionContract(ArchivedObjectVersion archivedObjectVersion)
        {
            ParamIs.NotNull(() => archivedObjectVersion);

            AgentName  = !string.IsNullOrEmpty(archivedObjectVersion.AgentName) || archivedObjectVersion.Author == null ? archivedObjectVersion.AgentName : archivedObjectVersion.Author.Name;
            Author     = (archivedObjectVersion.Author != null ? new UserContract(archivedObjectVersion.Author) : null);
            Created    = archivedObjectVersion.Created;
            EditEvent  = archivedObjectVersion.EditEvent;
            Hidden     = archivedObjectVersion.Hidden;
            Id         = archivedObjectVersion.Id;
            IsSnapshot = archivedObjectVersion.DiffBase.IsSnapshot;
            Notes      = archivedObjectVersion.Notes;
            Status     = archivedObjectVersion.Status;
            Version    = archivedObjectVersion.Version;
        }
예제 #11
0
        public void SendReportNotification(IDatabaseContext <UserMessage> ctx,
                                           ArchivedObjectVersion reportedVersion,
                                           string notes,
                                           IEntryLinkFactory entryLinkFactory,
                                           string reportName)
        {
            if (reportedVersion == null)
            {
                return;
            }

            var receiver = reportedVersion.Author;

            if (receiver == null)
            {
                return;
            }

            var entry = reportedVersion.EntryBase;

            string body, title;

            using (new ImpersonateUICulture(CultureHelper.GetCultureOrDefault(receiver.LanguageOrLastLoginCulture)))
            {
                body  = EntryReportStrings.EntryVersionReportBody;
                title = EntryReportStrings.EntryVersionReportTitle;
            }

            // Report type name + notes
            string notesAndName = notes;

            if (!string.IsNullOrEmpty(reportName) && !string.IsNullOrEmpty(notes))
            {
                notesAndName = $"{reportName} ({notes})";
            }
            else if (string.IsNullOrEmpty(notes))
            {
                notesAndName = reportName;
            }

            var message = string.Format(body,
                                        MarkdownHelper.CreateMarkdownLink(entryLinkFactory.GetFullEntryUrl(entry), entry.DefaultName),
                                        notesAndName);

            var notification = new UserMessage(receiver, string.Format(title, entry.DefaultName), message, false);

            ctx.Save(notification);
        }
예제 #12
0
 public ArchivedObjectVersionPropertiesViewModel(ArchivedObjectVersion ver, ArchivedObjectVersion compareTo = null)
 {
     Ver       = ver;
     CompareTo = compareTo;
 }