private ArtistForEditContract CallUpdate(Stream image) { var contract = new ArtistForEditContract(artist, ContentLanguagePreference.English); using (var stream = image) { contract.Id = queries.Update(contract, new EntryPictureFileContract { UploadedFile = stream, Mime = MediaTypeNames.Image.Jpeg }, permissionContext); } return contract; }
public ArtistEditViewModel(ArtistContract artist, IUserPermissionContext permissionContext, ArtistForEditContract editedArtist = null) : this() { ParamIs.NotNull(() => artist); Artist = artist; AllowedEntryStatuses = EntryPermissionManager.AllowedEntryStatuses(permissionContext); EditedArtist = editedArtist; }
public ArtistEdit(ArtistForEditContract artist) : this() { ParamIs.NotNull(() => artist); ArtistType = artist.ArtistType; DefaultLanguageSelection = artist.TranslatedName.DefaultLanguage; Description = artist.Description; Groups = artist.Groups; Id = artist.Id; Name = artist.Name; NameEnglish = artist.TranslatedName.English; NameJapanese = artist.TranslatedName.Japanese; NameRomaji = artist.TranslatedName.Romaji; Names = artist.Names; Pictures = artist.Pictures; Status = artist.Status; TooManyAlbums = artist.TooManyAlbums; WebLinks = artist.WebLinks.Select(w => new WebLinkDisplay(w)).ToArray(); CopyNonEditableFields(artist); }
private ArtistForEditContract CallUpdate(ArtistForEditContract contract) { contract.Id = queries.Update(contract, null, permissionContext); return contract; }
public void Update_Names() { var contract = new ArtistForEditContract(artist, ContentLanguagePreference.English); contract.Names.First().Value = "Replaced name"; contract.UpdateNotes = "Updated artist"; contract = CallUpdate(contract); Assert.AreEqual(artist.Id, contract.Id, "Update album Id as expected"); var artistFromRepo = repository.Load(contract.Id); Assert.AreEqual("Replaced name", artistFromRepo.DefaultName); Assert.AreEqual(1, artistFromRepo.Version, "Version"); var archivedVersion = repository.List<ArchivedArtistVersion>().FirstOrDefault(); Assert.IsNotNull(archivedVersion, "Archived version was created"); Assert.AreEqual(artist, archivedVersion.Artist, "Archived version album"); Assert.AreEqual(ArtistArchiveReason.PropertiesUpdated, archivedVersion.Reason, "Archived version reason"); Assert.AreEqual(ArtistEditableFields.Names, archivedVersion.Diff.ChangedFields, "Changed fields"); var activityEntry = repository.List<ActivityEntry>().FirstOrDefault(); Assert.IsNotNull(activityEntry, "Activity entry was created"); Assert.AreEqual(artist, activityEntry.EntryBase, "Activity entry's entry"); Assert.AreEqual(EntryEditEvent.Updated, activityEntry.EditEvent, "Activity entry event type"); }
public void CopyNonEditableFields(ArtistForEditContract artist) { ParamIs.NotNull(() => artist); AllowedEntryStatuses = EntryPermissionManager.AllowedEntryStatuses(MvcApplication.LoginManager); Deleted = artist.Deleted; Draft = artist.Status == EntryStatus.Draft; ValidationResult = artist.ValidationResult; }