1
0
Fork 0
mirror of https://github.com/Radarr/Radarr synced 2024-12-26 17:59:14 +00:00
Radarr/Marr.Data/UnitOfWorkSharedContext.cs

39 lines
858 B
C#
Raw Normal View History

using System;
namespace Marr.Data
{
/// <summary>
/// Works in conjunction with the UnitOfWork to create a new
/// shared context that will preserve a single IDataMapper.
/// </summary>
public class UnitOfWorkSharedContext : IDisposable
{
private UnitOfWork _mgr;
private bool _isParentContext;
public UnitOfWorkSharedContext(UnitOfWork mgr)
{
_mgr = mgr;
if (_mgr.IsShared)
{
_isParentContext = false;
}
else
{
_isParentContext = true;
_mgr.IsShared = true;
}
}
public void Dispose()
{
if (_isParentContext)
{
_mgr.IsShared = false;
_mgr.Dispose();
}
}
}
}