Initial commit carried over from private repo. This is V2.
This commit is contained in:
33
code/MessengerApi/Models/Scoped/UnitOfWork.cs
Normal file
33
code/MessengerApi/Models/Scoped/UnitOfWork.cs
Normal file
@ -0,0 +1,33 @@
|
||||
using MessengerApi.Contracts.Factories;
|
||||
using MessengerApi.Contracts.Models.Scoped;
|
||||
using MessengerApi.Db;
|
||||
using MessengerApi.Db.Contracts.Repositories;
|
||||
using MessengerApi.Db.Repositories;
|
||||
|
||||
namespace MessengerApi.Models.Scoped
|
||||
{
|
||||
public class UnitOfWork : IUnitOfWork
|
||||
{
|
||||
private MessengerDbContext context;
|
||||
|
||||
public IUserRepository Users { get; }
|
||||
|
||||
public IUserRouteRepository UserRoutes { get; }
|
||||
|
||||
public IMessageRepository Messages { get; }
|
||||
|
||||
public UnitOfWork(
|
||||
IDbContextFactory dbContextFactory)
|
||||
{
|
||||
this.context = dbContextFactory.CreateDbContext();
|
||||
this.Users = new UserRepository(this.context.Users);
|
||||
this.UserRoutes = new UserRouteRepository(this.context.UserRoutes);
|
||||
this.Messages = new MessageRepository(this.context.Messages);
|
||||
}
|
||||
|
||||
public Task SaveChanges(CancellationToken ct = default)
|
||||
{
|
||||
return this.context.SaveChangesAsync(ct);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user