public static ArchivedArtistContract GetAllProperties(ArchivedArtistVersion version) { var data = new ArchivedArtistContract(); var xmlCache = new XmlCache <ArchivedArtistContract>(); var thisVersion = xmlCache.Deserialize(version.Version, version.Data); data.ArtistType = thisVersion.ArtistType; data.BaseVoicebank = thisVersion.BaseVoicebank; data.Groups = thisVersion.Groups; data.Id = thisVersion.Id; data.MainPictureMime = thisVersion.MainPictureMime; data.Members = thisVersion.Members; data.ReleaseDate = thisVersion.ReleaseDate; data.TranslatedName = thisVersion.TranslatedName; DoIfExists(version, ArtistEditableFields.Description, xmlCache, v => { data.Description = v.Description; data.DescriptionEng = v.DescriptionEng; }); DoIfExists(version, ArtistEditableFields.Names, xmlCache, v => data.Names = v.Names); DoIfExists(version, ArtistEditableFields.Pictures, xmlCache, v => data.Pictures = v.Pictures); DoIfExists(version, ArtistEditableFields.WebLinks, xmlCache, v => data.WebLinks = v.WebLinks); return(data); }
public void SetUp() { var anotherUser = CreateEntry.User(id: 2); artist = CreateEntry.Artist(ArtistType.Producer); ArchivedArtistVersion.Create(artist, new ArtistDiff(), new AgentLoginData(anotherUser), ArtistArchiveReason.Created, string.Empty); user = CreateEntry.User(id: 1); }
public void Archive(ISession session, Artist artist, ArtistDiff diff, ArtistArchiveReason reason, string notes = "") { SysLog("Archiving " + artist); var agentLoginData = SessionHelper.CreateAgentLoginData(session, PermissionContext); var archived = ArchivedArtistVersion.Create(artist, diff, agentLoginData, reason, notes); session.Save(archived); }
public void Archive(IRepositoryContext <Artist> ctx, Artist artist, ArtistDiff diff, ArtistArchiveReason reason, string notes = "") { ctx.AuditLogger.SysLog("Archiving " + artist); var agentLoginData = ctx.CreateAgentLoginData(PermissionContext); var archived = ArchivedArtistVersion.Create(artist, diff, agentLoginData, reason, notes); ctx.Save(archived); }
public void CreateReport_OwnershipClaim() { var editor = _user2; _repository.Save(ArchivedArtistVersion.Create(_artist, new ArtistDiff(), new AgentLoginData(editor), ArtistArchiveReason.PropertiesUpdated, string.Empty)); var(created, _) = CallCreateReport(ArtistReportType.OwnershipClaim); created.Should().BeTrue("Report was created"); _repository.List <UserMessage>().Should().BeEmpty("No notification created"); }
public async Task <ArchivedArtistVersion> ArchiveAsync(IDatabaseContext <Artist> ctx, Artist artist, ArtistDiff diff, ArtistArchiveReason reason, string notes = "") { ctx.AuditLogger.SysLog("Archiving " + artist); var agentLoginData = await ctx.CreateAgentLoginDataAsync(PermissionContext); var archived = ArchivedArtistVersion.Create(artist, diff, agentLoginData, reason, notes); await ctx.SaveAsync(archived); return(archived); }
private static void DoIfExists(ArchivedArtistVersion version, ArtistEditableFields field, XmlCache <ArchivedArtistContract> xmlCache, Action <ArchivedArtistContract> func) { var versionWithField = version.GetLatestVersionWithField(field); if (versionWithField != null && versionWithField.Data != null) { var data = xmlCache.Deserialize(versionWithField.Version, versionWithField.Data); func(data); } }
private static void DoIfExists(ArchivedArtistVersion version, ArtistEditableFields field, XmlCache<ArchivedArtistContract> xmlCache, Action<ArchivedArtistContract> func) { var versionWithField = version.GetLatestVersionWithField(field); if (versionWithField != null && versionWithField.Data != null) { var data = xmlCache.Deserialize(versionWithField.Version, versionWithField.Data); func(data); } }
public void SetUp() { var anotherUser = CreateEntry.User(id: 2); _artist = CreateEntry.Artist(ArtistType.Producer); ArchivedArtistVersion.Create(_artist, new ArtistDiff(), new AgentLoginData(anotherUser), ArtistArchiveReason.Created, string.Empty); _user = CreateEntry.User(id: 1); _verifiedArtist = CreateEntry.Artist(ArtistType.Producer); _verifiedUser = CreateEntry.User(id: 3); _verifiedArtist.Status = EntryStatus.Approved; _verifiedUser.GroupId = UserGroupId.Regular; _verifiedUser.AddOwnedArtist(_verifiedArtist); }
public static EntryForPictureDisplayContract Create(ArchivedArtistVersion archivedVersion, ContentLanguagePreference languagePreference) { ParamIs.NotNull(() => archivedVersion); var name = archivedVersion.Artist.TranslatedName[languagePreference]; var versionWithPic = archivedVersion.GetLatestVersionWithField(ArtistEditableFields.Picture); PictureContract pic = null; if (versionWithPic != null && versionWithPic.Picture != null) pic = new PictureContract(versionWithPic.Picture, versionWithPic.PictureMime, Size.Empty); return new EntryForPictureDisplayContract(EntryType.Artist, archivedVersion.Artist.Id, name, archivedVersion.Version, pic); }
public static EntryForPictureDisplayContract Create(ArchivedArtistVersion archivedVersion, ContentLanguagePreference languagePreference) { ParamIs.NotNull(() => archivedVersion); var name = archivedVersion.Artist.TranslatedName[languagePreference]; var versionWithPic = archivedVersion.GetLatestVersionWithField(ArtistEditableFields.Picture); PictureContract pic = null; if (versionWithPic != null && versionWithPic.Picture != null) { pic = new PictureContract(versionWithPic.Picture, versionWithPic.PictureMime); } return(new EntryForPictureDisplayContract(EntryType.Artist, archivedVersion.Artist.Id, name, archivedVersion.Version, pic)); }
public ArchivedArtistVersionDetailsContract(ArchivedArtistVersion archived, ArchivedArtistVersion comparedVersion, ContentLanguagePreference languagePreference) { ArchivedVersion = new ArchivedArtistVersionContract(archived); Artist = new ArtistContract(archived.Artist, languagePreference); ComparedVersion = comparedVersion != null ? new ArchivedArtistVersionContract(comparedVersion) : null; ComparedVersionId = comparedVersion != null ? comparedVersion.Id : 0; Name = Artist.Name; ComparableVersions = archived.Artist.ArchivedVersionsManager.Versions .Where(v => v != archived) .Select(a => new ArchivedObjectVersionContract(a)) .ToArray(); Versions = ComparedArtistsContract.Create(archived, comparedVersion); ComparedVersionId = Versions.SecondId; }
public void CreateReport() { var editor = _user2; _repository.Save(ArchivedArtistVersion.Create(_artist, new ArtistDiff(), new AgentLoginData(editor), ArtistArchiveReason.PropertiesUpdated, string.Empty)); var(created, report) = CallCreateReport(ArtistReportType.InvalidInfo); created.Should().BeTrue("Report was created"); report.EntryBase.Id.Should().Be(_artist.Id); report.User.Should().Be(_user); report.ReportType.Should().Be(ArtistReportType.InvalidInfo); var notification = _repository.List <UserMessage>().FirstOrDefault(); notification.Should().NotBeNull("notification was created"); notification.Receiver.Should().Be(editor, "notification receiver is editor"); notification.Subject.Should().Be(string.Format(EntryReportStrings.EntryVersionReportTitle, _artist.DefaultName)); }
public ArchivedArtistVersionDetailsContract(ArchivedArtistVersion archived, ArchivedArtistVersion comparedVersion, ContentLanguagePreference languagePreference) { ArchivedVersion = new ArchivedArtistVersionContract(archived); Artist = new ArtistContract(archived.Artist, languagePreference); ComparedVersion = comparedVersion != null ? new ArchivedArtistVersionContract(comparedVersion) : null; ComparedVersionId = comparedVersion != null ? comparedVersion.Id : 0; Name = Artist.Name; ComparableVersions = archived.Artist.ArchivedVersionsManager.Versions .Where(v => v != archived) .Select(a => new ArchivedObjectVersionContract(a)) .ToArray(); Versions = ComparedArtistsContract.Create(archived, comparedVersion); ComparedVersionId = Versions.SecondId; }
public ArchivedArtistVersionDetailsContract(ArchivedArtistVersion archived, ArchivedArtistVersion comparedVersion, IUserPermissionContext permissionContext) { ParamIs.NotNull(() => archived); ArchivedVersion = new ArchivedArtistVersionContract(archived); Artist = new ArtistContract(archived.Artist, permissionContext.LanguagePreference); ComparedVersion = comparedVersion != null ? new ArchivedArtistVersionContract(comparedVersion) : null; ComparedVersionId = comparedVersion != null ? comparedVersion.Id : 0; Name = Artist.Name; ComparableVersions = archived.Artist.ArchivedVersionsManager .GetPreviousVersions(archived, permissionContext) .Select(a => ArchivedObjectVersionWithFieldsContract.Create(a, a.Diff.ChangedFields.Value, a.Reason)) .ToArray(); Versions = ComparedArtistsContract.Create(archived, comparedVersion); ComparedVersionId = Versions.SecondId; }
public static ArchivedArtistContract GetAllProperties(ArchivedArtistVersion version) { var data = new ArchivedArtistContract(); var xmlCache = new XmlCache<ArchivedArtistContract>(); var thisVersion = xmlCache.Deserialize(version.Version, version.Data); data.ArtistType = thisVersion.ArtistType; data.BaseVoicebank = thisVersion.BaseVoicebank; data.Groups = thisVersion.Groups; data.Id = thisVersion.Id; data.MainPictureMime = thisVersion.MainPictureMime; data.Members = thisVersion.Members; data.TranslatedName = thisVersion.TranslatedName; DoIfExists(version, ArtistEditableFields.Albums, xmlCache, v => data.Albums = v.Albums); DoIfExists(version, ArtistEditableFields.Description, xmlCache, v => data.Description = v.Description); DoIfExists(version, ArtistEditableFields.Names, xmlCache, v => data.Names = v.Names); DoIfExists(version, ArtistEditableFields.Pictures, xmlCache, v => data.Pictures = v.Pictures); DoIfExists(version, ArtistEditableFields.WebLinks, xmlCache, v => data.WebLinks = v.WebLinks); return data; }
protected void AddEntryEditedEntry(IDatabaseContext <ActivityEntry> ctx, Artist entry, EntryEditEvent editEvent, ArchivedArtistVersion archivedVersion) { var user = ctx.OfType <User>().GetLoggedUser(PermissionContext); var activityEntry = new ArtistActivityEntry(entry, editEvent, user, archivedVersion); AddActivityfeedEntry(ctx, activityEntry); }
public ArchivedArtistVersionContract(ArchivedArtistVersion archivedVersion) : base(archivedVersion) { ChangedFields = (archivedVersion.Diff != null ? archivedVersion.Diff.ChangedFields.Value : ArtistEditableFields.Nothing); Reason = archivedVersion.Reason; }
public static ComparedArtistsContract Create(ArchivedArtistVersion firstData, ArchivedArtistVersion secondData) { return(new ComparedArtistsContract(Create(firstData, secondData, ArchivedArtistContract.GetAllProperties, d => d.Id))); }
protected async Task AddEntryEditedEntryAsync(IDatabaseContext <ActivityEntry> ctx, Artist entry, EntryEditEvent editEvent, ArchivedArtistVersion archivedVersion) { var user = await ctx.OfType <User>().GetLoggedUserAsync(PermissionContext); var activityEntry = new ArtistActivityEntry(entry, editEvent, user, archivedVersion); await AddActivityfeedEntryAsync(ctx, activityEntry); }
protected void AddEntryEditedEntry(ISession session, Artist entry, EntryEditEvent editEvent, ArchivedArtistVersion archivedVersion) { var user = GetLoggedUser(session); var activityEntry = new ArtistActivityEntry(entry, editEvent, user, archivedVersion); AddActivityfeedEntry(session, activityEntry); }
public ArchivedArtistVersionContract(ArchivedArtistVersion archivedVersion) : base(archivedVersion) { ChangedFields = (archivedVersion.Diff != null ? archivedVersion.Diff.ChangedFields : ArtistEditableFields.Nothing); Reason = archivedVersion.Reason; }