Remove .Common-project
Currently of no use
This commit is contained in:
parent
232231d20d
commit
b1d3ec73c9
31 changed files with 16020 additions and 109 deletions
|
|
@ -1,8 +1,45 @@
|
|||
using InkForge.Data;
|
||||
using InkForge.Desktop.Data.Options;
|
||||
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace InkForge.Desktop.Models;
|
||||
|
||||
public class Workspace(IServiceScope scope)
|
||||
public sealed class Workspace : IDisposable
|
||||
{
|
||||
public IServiceProvider ServiceProvider => scope.ServiceProvider;
|
||||
private readonly IDbContextFactory<NoteDbContext> _dbContextFactory;
|
||||
private bool _disposedValue;
|
||||
private IServiceScope? _scope;
|
||||
|
||||
public string Name { get; set; } = default!;
|
||||
|
||||
public LocalWorkspaceOptions Options { get; set; } = default!;
|
||||
|
||||
public IServiceProvider Services => _scope!.ServiceProvider;
|
||||
|
||||
public Workspace(IServiceScope scope)
|
||||
{
|
||||
_scope = scope;
|
||||
_dbContextFactory = Services.GetRequiredService<IDbContextFactory<NoteDbContext>>();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(disposing: true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void Dispose(bool disposing)
|
||||
{
|
||||
if (!_disposedValue)
|
||||
{
|
||||
{
|
||||
_scope!.Dispose();
|
||||
}
|
||||
|
||||
_scope = null;
|
||||
_disposedValue = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
12
app/InkForge.Desktop/Models/WorkspaceAccessor.cs
Normal file
12
app/InkForge.Desktop/Models/WorkspaceAccessor.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
namespace InkForge.Desktop.Models
|
||||
{
|
||||
public interface IWorkspaceAccessor
|
||||
{
|
||||
Workspace? Workspace { get; set; }
|
||||
}
|
||||
|
||||
public class WorkspaceAccessor : IWorkspaceAccessor
|
||||
{
|
||||
public Workspace? Workspace { get; set; }
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue