public ICreationPolicyConfigurator UseDynamicAsyncProvider(Action <IDynamicAsyncDataProviderConfigurator> config) { var dataProvider = new DynamicAsyncDataProvider(); var dynamicConfig = new DynamicAsyncDataProviderConfigurator(dataProvider); config.Invoke(dynamicConfig); Configuration.DataProvider = dataProvider; return(new CreationPolicyConfigurator()); }
public async Task Test_AsyncDynamicDataProvider_FluentApi_Async() { int ins = 0; int upd = 0; var dyn = new DynamicAsyncDataProvider(_ => _ .OnInsert(async ev => { ins++; await Task.Delay(0); }) .OnReplace(async(id, ev) => { upd++; await Task.Delay(0); })); using (var scope = await AuditScope.CreateAsync(_ => _ .CreationPolicy(EventCreationPolicy.InsertOnStartReplaceOnEnd) .DataProvider(dyn)).ConfigureAwait(false)) { } Assert.AreEqual(1, ins); Assert.AreEqual(1, upd); }
#pragma warning restore CS3008 // Identifier is not CLS-compliant public DynamicAsyncDataProviderConfigurator(DynamicAsyncDataProvider dynamicAsyncDataProvider) { _dynamicAsyncDataProvider = dynamicAsyncDataProvider; }