PlanTempusApp/Core/Sql/DatabaseScope.cs

35 lines
No EOL
837 B
C#

using System.Data;
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.ApplicationInsights.Extensibility;
namespace PlanTempus.Core.Sql;
public class DatabaseScope : IDisposable
{
private readonly IOperationHolder<DependencyTelemetry> _operation;
public DatabaseScope(IDbConnection connection, IOperationHolder<DependencyTelemetry> operation)
{
Connection = connection;
_operation = operation;
}
public IDbConnection Connection { get; }
public void Dispose()
{
_operation.Dispose();
Connection.Dispose();
}
public void Success()
{
_operation.Telemetry.Success = true;
}
public void Error(Exception ex)
{
_operation.Telemetry.Success = false;
_operation.Telemetry.Properties["Error"] = ex.Message;
}
}