Remove .Common-project

Currently of no use
This commit is contained in:
Jöran Malek 2024-02-21 02:17:33 +01:00
parent 232231d20d
commit b1d3ec73c9
31 changed files with 16020 additions and 109 deletions

View file

@ -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;
}
}
}