public TagEdit(TagForEditContract contract) { ParamIs.NotNull(() => contract); AliasedTo = contract.AliasedTo; CategoryName = contract.CategoryName; Description = contract.Description; Name = contract.Name; CopyNonEditableProperties(contract); }
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); }
public void CopyNonEditableProperties(TagForEditContract contract) { AllCategoryNames = contract.AllCategoryNames; IsEmpty = contract.IsEmpty; Thumb = contract.Thumb; }
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; }); }