Exemplo n.º 1
0
		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;
		}
Exemplo n.º 2
0
        public ArtistEditViewModel(ArtistContract artist, IUserPermissionContext permissionContext,
            ArtistForEditContract editedArtist = null)
            : this()
        {
            ParamIs.NotNull(() => artist);

            Artist = artist;
            AllowedEntryStatuses = EntryPermissionManager.AllowedEntryStatuses(permissionContext);
            EditedArtist = editedArtist;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
		private ArtistForEditContract CallUpdate(ArtistForEditContract contract) {
			contract.Id = queries.Update(contract, null, permissionContext);
			return contract;
		}
Exemplo n.º 5
0
		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");

		}
Exemplo n.º 6
0
        public void CopyNonEditableFields(ArtistForEditContract artist)
        {
            ParamIs.NotNull(() => artist);

            AllowedEntryStatuses = EntryPermissionManager.AllowedEntryStatuses(MvcApplication.LoginManager);
            Deleted = artist.Deleted;
            Draft = artist.Status == EntryStatus.Draft;
            ValidationResult = artist.ValidationResult;
        }