ContentAccess namespace refactor

This commit is contained in:
2022-05-23 18:30:39 +02:00
parent d4bd9d3ba1
commit 4ac99480fa
24 changed files with 49 additions and 15 deletions

View File

@@ -2,6 +2,7 @@ using System.Reactive.Linq;
using FileTime.App.Core.ViewModels; using FileTime.App.Core.ViewModels;
using FileTime.App.Core.ViewModels.ItemPreview; using FileTime.App.Core.ViewModels.ItemPreview;
using FileTime.Core.Models; using FileTime.Core.Models;
using InitableService;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
namespace FileTime.App.Core.Services; namespace FileTime.App.Core.Services;

View File

@@ -25,6 +25,7 @@ public class ItemManipulationUserCommandHandlerService : UserCommandHandlerServi
private readonly ICommandScheduler _commandScheduler; private readonly ICommandScheduler _commandScheduler;
private readonly BindedCollection<FullName>? _markedItems; private readonly BindedCollection<FullName>? _markedItems;
private PointInTime _currentPointInTime; private PointInTime _currentPointInTime;
private IContainer? _currentLocation;
public ItemManipulationUserCommandHandlerService( public ItemManipulationUserCommandHandlerService(
IAppState appState, IAppState appState,
@@ -44,6 +45,7 @@ public class ItemManipulationUserCommandHandlerService : UserCommandHandlerServi
_currentPointInTime = null!; _currentPointInTime = null!;
SaveSelectedTab(t => _selectedTab = t); SaveSelectedTab(t => _selectedTab = t);
SaveCurrentLocation(l => _currentLocation = l);
SaveCurrentSelectedItem(i => _currentSelectedItem = i); SaveCurrentSelectedItem(i => _currentSelectedItem = i);
SaveCurrentPointInTime(t => _currentPointInTime = t); SaveCurrentPointInTime(t => _currentPointInTime = t);
@@ -130,7 +132,9 @@ public class ItemManipulationUserCommandHandlerService : UserCommandHandlerServi
//TODO: message on empty result //TODO: message on empty result
var newContainerName = containerNameInput.Value; var newContainerName = containerNameInput.Value;
var command = new CreateContainerCommand(); if (_currentLocation?.FullName is null || newContainerName is null) return;
var command = new CreateContainerCommand(_currentLocation.FullName, newContainerName, _timelessContentProvider);
await _commandScheduler.AddCommand(command); await _commandScheduler.AddCommand(command);
} }
} }

View File

@@ -6,6 +6,7 @@ using FileTime.Core.Models;
using FileTime.Core.Services; using FileTime.Core.Services;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;
using FileTime.Providers.Local; using FileTime.Providers.Local;
using InitableService;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
namespace FileTime.App.Core.Services.UserCommandHandler; namespace FileTime.App.Core.Services.UserCommandHandler;

View File

@@ -7,6 +7,7 @@ using FileTime.App.Core.Services;
using FileTime.App.Core.ViewModels.ItemPreview; using FileTime.App.Core.ViewModels.ItemPreview;
using FileTime.Core.Models; using FileTime.Core.Models;
using FileTime.Core.Services; using FileTime.Core.Services;
using InitableService;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using MvvmGen; using MvvmGen;

View File

@@ -3,7 +3,7 @@ using FileTime.Core.Enums;
using FileTime.Core.Models; using FileTime.Core.Models;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;
namespace FileTime.Core.Services; namespace FileTime.Core.ContentAccess;
public interface IContentProvider : IContainer, IOnContainerEnter public interface IContentProvider : IContainer, IOnContainerEnter
{ {

View File

@@ -24,8 +24,4 @@
<ProjectReference Include="..\..\Library\InitableService\InitableService.csproj" /> <ProjectReference Include="..\..\Library\InitableService\InitableService.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="ContentAccess" />
</ItemGroup>
</Project> </Project>

View File

@@ -1,4 +1,5 @@
using System.Reactive.Linq; using System.Reactive.Linq;
using FileTime.Core.ContentAccess;
using FileTime.Core.Enums; using FileTime.Core.Enums;
using FileTime.Core.Services; using FileTime.Core.Services;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;

View File

@@ -1,4 +1,3 @@
using System.Collections.ObjectModel;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Reactive.Subjects; using System.Reactive.Subjects;
using DynamicData; using DynamicData;
@@ -6,7 +5,7 @@ using FileTime.Core.Enums;
using FileTime.Core.Models; using FileTime.Core.Models;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;
namespace FileTime.Core.Services; namespace FileTime.Core.ContentAccess;
public abstract class ContentProviderBase : IContentProvider public abstract class ContentProviderBase : IContentProvider
{ {

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\FileTime.Core.Abstraction\FileTime.Core.Abstraction.csproj" />
</ItemGroup>
</Project>

View File

@@ -2,6 +2,7 @@ using System.Collections.ObjectModel;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Reactive.Subjects; using System.Reactive.Subjects;
using DynamicData; using DynamicData;
using FileTime.Core.ContentAccess;
using FileTime.Core.Enums; using FileTime.Core.Enums;
using FileTime.Core.Services; using FileTime.Core.Services;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;

View File

@@ -1,4 +1,5 @@
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using FileTime.Core.ContentAccess;
using FileTime.Core.Enums; using FileTime.Core.Enums;
using FileTime.Core.Services; using FileTime.Core.Services;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;

View File

@@ -1,4 +1,5 @@
using System.Reactive.Subjects; using System.Reactive.Subjects;
using FileTime.Core.ContentAccess;
using FileTime.Core.Enums; using FileTime.Core.Enums;
using FileTime.Core.Models; using FileTime.Core.Models;
using FileTime.Core.Services; using FileTime.Core.Services;

View File

@@ -55,6 +55,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Core.Command", "Co
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Core.Timeline", "Core\FileTime.Core.Timeline\FileTime.Core.Timeline.csproj", "{2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Core.Timeline", "Core\FileTime.Core.Timeline\FileTime.Core.Timeline.csproj", "{2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Core.ContentAccess", "Core\FileTime.Core.ContentAccess\FileTime.Core.ContentAccess.csproj", "{88BBB541-7306-44AE-95B1-0F8765AF1D4E}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -133,6 +135,10 @@ Global
{2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}.Debug|Any CPU.Build.0 = Debug|Any CPU {2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}.Release|Any CPU.ActiveCfg = Release|Any CPU {2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}.Release|Any CPU.Build.0 = Release|Any CPU {2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906}.Release|Any CPU.Build.0 = Release|Any CPU
{88BBB541-7306-44AE-95B1-0F8765AF1D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{88BBB541-7306-44AE-95B1-0F8765AF1D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{88BBB541-7306-44AE-95B1-0F8765AF1D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{88BBB541-7306-44AE-95B1-0F8765AF1D4E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -157,6 +163,7 @@ Global
{B7A45654-E56C-43C8-998E-0F4661395540} = {8C3CFEFE-78A5-4940-B388-D15FCE02ECE9} {B7A45654-E56C-43C8-998E-0F4661395540} = {8C3CFEFE-78A5-4940-B388-D15FCE02ECE9}
{1846BE76-8F68-4FC3-8954-871F14743F0B} = {3324D046-1E05-46B5-B1BA-82910D56B332} {1846BE76-8F68-4FC3-8954-871F14743F0B} = {3324D046-1E05-46B5-B1BA-82910D56B332}
{2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906} = {3324D046-1E05-46B5-B1BA-82910D56B332} {2AC5CAFF-EBDA-4C6E-BCFF-304B651F2906} = {3324D046-1E05-46B5-B1BA-82910D56B332}
{88BBB541-7306-44AE-95B1-0F8765AF1D4E} = {3324D046-1E05-46B5-B1BA-82910D56B332}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {859FB3DF-C60A-46B1-82E5-90274905D1EF} SolutionGuid = {859FB3DF-C60A-46B1-82E5-90274905D1EF}

View File

@@ -1,5 +1,5 @@
<Application <Application
x:Class="FileTime.GuiApp.App" x:Class="FileTime.GuiApp.App.App"
xmlns="https://github.com/avaloniaui" xmlns="https://github.com/avaloniaui"
xmlns:converters="using:FileTime.GuiApp.Converters" xmlns:converters="using:FileTime.GuiApp.Converters"
xmlns:local="using:FileTime.GuiApp" xmlns:local="using:FileTime.GuiApp"

View File

@@ -7,7 +7,7 @@ using FileTime.GuiApp.Views;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace FileTime.GuiApp; namespace FileTime.GuiApp.App;
public partial class App : Application public partial class App : Application
{ {

View File

@@ -3,7 +3,7 @@ using System.IO;
using Avalonia; using Avalonia;
using Avalonia.ReactiveUI; using Avalonia.ReactiveUI;
namespace FileTime.GuiApp; namespace FileTime.GuiApp.App;
public static class Program public static class Program
{ {

View File

@@ -4,6 +4,7 @@ using FileTime.App.Core.Services;
using FileTime.App.Core.ViewModels; using FileTime.App.Core.ViewModels;
using FileTime.Core.Interactions; using FileTime.Core.Interactions;
using FileTime.GuiApp.Configuration; using FileTime.GuiApp.Configuration;
using FileTime.GuiApp.CustomImpl.ViewModels;
using FileTime.GuiApp.IconProviders; using FileTime.GuiApp.IconProviders;
using FileTime.GuiApp.Logging; using FileTime.GuiApp.Logging;
using FileTime.GuiApp.Services; using FileTime.GuiApp.Services;
@@ -13,7 +14,7 @@ using Microsoft.Extensions.DependencyInjection;
using Serilog; using Serilog;
using Serilog.Configuration; using Serilog.Configuration;
namespace FileTime.GuiApp; namespace FileTime.GuiApp.App;
public static class Startup public static class Startup
{ {

View File

@@ -1,9 +1,10 @@
using FileTime.App.Core.Models; using FileTime.App.Core.Models;
using FileTime.App.Core.ViewModels; using FileTime.App.Core.ViewModels;
using FileTime.GuiApp.Configuration; using FileTime.GuiApp.Configuration;
using FileTime.GuiApp.ViewModels;
using MvvmGen; using MvvmGen;
namespace FileTime.GuiApp.ViewModels; namespace FileTime.GuiApp.CustomImpl.ViewModels;
[ViewModel] [ViewModel]
public partial class GuiAppState : AppStateBase, IGuiAppState public partial class GuiAppState : AppStateBase, IGuiAppState

View File

@@ -8,6 +8,7 @@ using FileTime.Core.Services;
using FileTime.Core.Timeline; using FileTime.Core.Timeline;
using FileTime.GuiApp.Services; using FileTime.GuiApp.Services;
using FileTime.Providers.Local; using FileTime.Providers.Local;
using InitableService;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using MvvmGen; using MvvmGen;

View File

@@ -1,7 +1,8 @@
// Autogenerated // Autogenerated
using InitableService;
namespace Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
namespace InitableService;
public static class InitableExtensions public static class InitableExtensions
{ {

View File

@@ -1,3 +1,4 @@
using FileTime.Core.ContentAccess;
using FileTime.Core.Services; using FileTime.Core.Services;
namespace FileTime.Providers.Local; namespace FileTime.Providers.Local;

View File

@@ -17,6 +17,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Core\FileTime.Core.Abstraction\FileTime.Core.Abstraction.csproj" /> <ProjectReference Include="..\..\Core\FileTime.Core.Abstraction\FileTime.Core.Abstraction.csproj" />
<ProjectReference Include="..\..\Core\FileTime.Core.ContentAccess\FileTime.Core.ContentAccess.csproj" />
<ProjectReference Include="..\..\Core\FileTime.Core.Models\FileTime.Core.Models.csproj" /> <ProjectReference Include="..\..\Core\FileTime.Core.Models\FileTime.Core.Models.csproj" />
<ProjectReference Include="..\..\Core\FileTime.Core.Services\FileTime.Core.Services.csproj" /> <ProjectReference Include="..\..\Core\FileTime.Core.Services\FileTime.Core.Services.csproj" />
<ProjectReference Include="..\FileTime.Providers.Local.Abstractions\FileTime.Providers.Local.Abstractions.csproj" /> <ProjectReference Include="..\FileTime.Providers.Local.Abstractions\FileTime.Providers.Local.Abstractions.csproj" />

View File

@@ -3,6 +3,7 @@ using System.Reactive.Subjects;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using DynamicData; using DynamicData;
using FileTime.App.Core.Models; using FileTime.App.Core.Models;
using FileTime.Core.ContentAccess;
using FileTime.Core.Enums; using FileTime.Core.Enums;
using FileTime.Core.Models; using FileTime.Core.Models;
using FileTime.Core.Services; using FileTime.Core.Services;

View File

@@ -1,3 +1,4 @@
using FileTime.Core.ContentAccess;
using FileTime.Core.Services; using FileTime.Core.Services;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;