コード例 #1
0
ファイル: TagEdit.cs プロジェクト: realzhaorong/vocadb
        public TagEdit(TagForEditContract contract)
        {
            ParamIs.NotNull(() => contract);

            AliasedTo = contract.AliasedTo;
            CategoryName = contract.CategoryName;
            Description = contract.Description;
            Name = contract.Name;

            CopyNonEditableProperties(contract);
        }
コード例 #2
0
ファイル: TagEdit.cs プロジェクト: realzhaorong/vocadb
        public TagEdit(TagForEditContract contract)
            : this()
        {
            ParamIs.NotNull(() => contract);

            AliasedTo = contract.AliasedTo;
            CategoryName = contract.CategoryName;
            Description = contract.Description;
            Name = contract.Name;
            Parent = contract.Parent;
            Status = contract.Status;
            Thumb = contract.Thumb;

            CopyNonEditableProperties(contract);
        }
コード例 #3
0
ファイル: TagEdit.cs プロジェクト: realzhaorong/vocadb
 public void CopyNonEditableProperties(TagForEditContract contract)
 {
     AllCategoryNames = contract.AllCategoryNames;
     IsEmpty = contract.IsEmpty;
     Thumb = contract.Thumb;
 }
コード例 #4
0
ファイル: TagService.cs プロジェクト: realzhaorong/vocadb
		public TagForEditContract GetTagForEdit(string tagName) {

			ParamIs.NotNullOrEmpty(() => tagName);

			return HandleQuery(session => {

				var inUse = session.Query<ArtistTagUsage>().Any(a => a.Tag.Name == tagName && !a.Artist.Deleted) ||
					session.Query<AlbumTagUsage>().Any(a => a.Tag.Name == tagName && !a.Album.Deleted) ||
					session.Query<SongTagUsage>().Any(a => a.Tag.Name == tagName && !a.Song.Deleted);

				var contract = new TagForEditContract(session.Load<Tag>(tagName),
					session.Query<Tag>().Select(t => t.CategoryName).OrderBy(t => t).Distinct().ToArray(), !inUse);

				return contract;

			});

		}