예제 #1
0
 private TabItem BuildMediaResourceTabItem(MediaResourceType resourceType)
 {
     return(new TabItem
     {
         Header = resourceType.ToString(),
         Content = new ManageResourcesControl(this, resourceType)
     });
 }
예제 #2
0
 public IEnumerable <MediaResource> GetByResourceType(MediaResourceType resourceType)
 {
     return(_databaseContext.MediaResources
            .AsNoTracking()
            .Where(r => r.ResourceType == resourceType)
            .Select(r => r.ToDomain())
            .ToList());
 }
예제 #3
0
 protected MediaResource(
     string name,
     string path,
     MediaResourceType resourceType)
 {
     Name         = name;
     Path         = path;
     ResourceType = resourceType;
 }
예제 #4
0
 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))
     });
예제 #5
0
        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}";
        }