private TabItem BuildMediaResourceTabItem(MediaResourceType resourceType) { return(new TabItem { Header = resourceType.ToString(), Content = new ManageResourcesControl(this, resourceType) }); }
public IEnumerable <MediaResource> GetByResourceType(MediaResourceType resourceType) { return(_databaseContext.MediaResources .AsNoTracking() .Where(r => r.ResourceType == resourceType) .Select(r => r.ToDomain()) .ToList()); }
protected MediaResource( string name, string path, MediaResourceType resourceType) { Name = name; Path = path; ResourceType = resourceType; }
public static MediaResource Create( string name, string path, MediaResourceType resourceType) { return(resourceType switch { MediaResourceType.Image => new Image(name, path), MediaResourceType.Audio => new Audio(name, path), _ => throw new ArgumentOutOfRangeException(nameof(resourceType)) });
public ManageResourcesControl( Window owner, MediaResourceType mediaResourceType) { _owner = owner; _mediaResourceRepository = new MediaResourceRepository(); _mediaResourceType = mediaResourceType; InitializeComponent(); var mediaResources = _mediaResourceRepository.GetByResourceType(_mediaResourceType).ToList(); _mediaResources = new ObservableCollection <MediaResource>(mediaResources); resourcesList.ItemsSource = _mediaResources; addResourceButton.Content = $"Add {mediaResourceType}"; }