/// <summary> /// Initializes a new instance of the <see cref="SaveAuditor"/> class. /// </summary> /// <param name="adapter">The adapter.</param> public SaveAuditor(DataClassAdapter adapter) { _adapter = adapter; _saveHandler = OnBeforeSave; _adapter.BeforeSave += _saveHandler; }
protected void Dispose(bool disposing) { if (_adapter != null) { lock (this) if (_adapter != null) { _adapter.BeforeSave -= _saveHandler; _adapter = null; } } if (disposing) { GC.SuppressFinalize(this); } }
/// <summary> /// Gets a DataClassAdapter of type Tdc. /// </summary> /// <typeparam name="Tdc">DC type</typeparam> /// <returns></returns> public virtual DataClassAdapter <Tdc> Adapter <Tdc>() where Tdc : class, new() { if (_adapters.ContainsKey(typeof(Tdc))) { return((DataClassAdapter <Tdc>)_adapters[typeof(Tdc)]); } lock (this) { // double-check after lock (be thread safe, sort of) if (_adapters.ContainsKey(typeof(Tdc))) { return((DataClassAdapter <Tdc>)_adapters[typeof(Tdc)]); } var adapter = new DataClassAdapter <Tdc>(Connection); _adapters.Add(typeof(Tdc), adapter); return(adapter); } }
/// <summary> /// Initializes a new instance of the <see cref="SaveAuditor"/> class. /// </summary> /// <param name="adapter">The adapter.</param> /// <param name="auditHandler">The audit handler.</param> public SaveAuditor(DataClassAdapter adapter, Action <SaveAudit> auditHandler) : this(adapter) { AuditHandler = auditHandler; }
public static T[] GetArray <T>(this DataClassAdapter <T> adapter, string filter, params object[] parameters) where T : class { using (var reader = adapter.OpenReader(filter, parameters)) return(reader.ToArray()); }
public static T[] GetArray <T>(this DataClassAdapter <T> adapter, Expression <Func <T, bool> > filterExpression) where T : class { using (var reader = adapter.OpenReader(filterExpression)) return(reader.ToArray()); }