From 9311c7a9c8bac5c2b8e94f6ef45753faa45e1028 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sat, 27 Feb 2021 15:28:05 -0600 Subject: [PATCH] more cleanup --- .../Commands/DeleteLocalMediaSource.cs | 9 -- .../Commands/DeleteLocalMediaSourceHandler.cs | 38 ------- ErsatzTV.Core/Metadata/LocalFileSystem.cs | 2 +- ErsatzTV/Shared/LocalMediaSources.razor | 102 ------------------ 4 files changed, 1 insertion(+), 150 deletions(-) delete mode 100644 ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSource.cs delete mode 100644 ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSourceHandler.cs delete mode 100644 ErsatzTV/Shared/LocalMediaSources.razor diff --git a/ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSource.cs b/ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSource.cs deleted file mode 100644 index 8455a4c63..000000000 --- a/ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSource.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Threading.Tasks; -using ErsatzTV.Core; -using LanguageExt; -using MediatR; - -namespace ErsatzTV.Application.MediaSources.Commands -{ - public record DeleteLocalMediaSource(int LocalMediaSourceId) : IRequest>; -} diff --git a/ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSourceHandler.cs b/ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSourceHandler.cs deleted file mode 100644 index 26eff7b38..000000000 --- a/ErsatzTV.Application/MediaSources/Commands/DeleteLocalMediaSourceHandler.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using ErsatzTV.Core; -using ErsatzTV.Core.Domain; -using ErsatzTV.Core.Interfaces.Repositories; -using LanguageExt; -using MediatR; - -namespace ErsatzTV.Application.MediaSources.Commands -{ - public class - DeleteLocalMediaSourceHandler : IRequestHandler> - { - private readonly IMediaSourceRepository _mediaSourceRepository; - - public DeleteLocalMediaSourceHandler(IMediaSourceRepository mediaSourceRepository) => - _mediaSourceRepository = mediaSourceRepository; - - public async Task> Handle( - DeleteLocalMediaSource request, - CancellationToken cancellationToken) => - (await MediaSourceMustExist(request)) - .Map(DoDeletion) - .ToEither(); - - private async Task DoDeletion(LocalMediaSource mediaSource) => - await _mediaSourceRepository.Delete(mediaSource.Id); - - private async Task> MediaSourceMustExist( - DeleteLocalMediaSource deleteMediaSource) => - (await _mediaSourceRepository.Get(deleteMediaSource.LocalMediaSourceId)) - .OfType() - .HeadOrNone() - .ToValidation( - $"Local media source {deleteMediaSource.LocalMediaSourceId} does not exist."); - } -} diff --git a/ErsatzTV.Core/Metadata/LocalFileSystem.cs b/ErsatzTV.Core/Metadata/LocalFileSystem.cs index 12a3a1b8a..25f892983 100644 --- a/ErsatzTV.Core/Metadata/LocalFileSystem.cs +++ b/ErsatzTV.Core/Metadata/LocalFileSystem.cs @@ -28,7 +28,7 @@ namespace ErsatzTV.Core.Metadata public Unit CopyFile(string source, string destination) { - string? directory = Path.GetDirectoryName(destination); + string directory = Path.GetDirectoryName(destination) ?? string.Empty; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); diff --git a/ErsatzTV/Shared/LocalMediaSources.razor b/ErsatzTV/Shared/LocalMediaSources.razor deleted file mode 100644 index ed6d2979f..000000000 --- a/ErsatzTV/Shared/LocalMediaSources.razor +++ /dev/null @@ -1,102 +0,0 @@ -@using ErsatzTV.Application.MediaSources -@using ErsatzTV.Application.MediaSources.Commands -@using ErsatzTV.Application.MediaSources.Queries -@implements IDisposable -@inject IDialogService Dialog -@inject IMediator Mediator -@inject IEntityLocker Locker -@inject ChannelWriter Channel - - - - Local Media Sources - - - - - - - Folder - - - - @context.Folder - -
- @if (Locker.IsLibraryLocked(context.Id)) - { -
- -
- } - else - { - - - - - } - - - - -
-
-
-
-@* *@ -@* Add Local Media Source *@ -@* *@ - -@code { - private IList _mediaSources; - - protected override void OnInitialized() => - Locker.OnLibraryChanged += LockChanged; - - protected override async Task OnParametersSetAsync() => await LoadMediaSources(); - - private async Task LoadMediaSources() => - _mediaSources = await Mediator.Send(new GetAllMediaSources()).Map(list => list.OfType().ToList()); - - private async Task DeleteMediaSource(LocalMediaSourceViewModel mediaSource) - { - int count = await Mediator.Send(new CountMediaItemsById(mediaSource.Id)); - - var parameters = new DialogParameters - { - { "EntityType", "media source" }, - { "EntityName", mediaSource.Folder }, - { "DetailText", $"This media source contains {count} media items." }, - { "DetailHighlight", count.ToString() } - }; - var options = new DialogOptions { CloseButton = true, MaxWidth = MaxWidth.ExtraSmall }; - - IDialogReference dialog = Dialog.Show("Delete Media Source", parameters, options); - DialogResult result = await dialog.Result; - if (!result.Cancelled) - { - await Mediator.Send(new DeleteLocalMediaSource(mediaSource.Id)); - await LoadMediaSources(); - } - } - - private async Task ScanMediaSource(LocalMediaSourceViewModel mediaSource) - { - if (Locker.LockLibrary(mediaSource.Id)) - { - await Channel.WriteAsync(new ForceScanLocalLibrary(mediaSource.Id)); - StateHasChanged(); - } - } - - private void LockChanged(object sender, EventArgs e) => - InvokeAsync(StateHasChanged); - - void IDisposable.Dispose() => Locker.OnLibraryChanged -= LockChanged; - -} \ No newline at end of file