/// <summary> /// /// </summary> /// <param name="locationAreaIdentifier"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <ILocationDataProvider> GetLocationDataAsync( Guid locationAreaIdentifier, CancellationToken cancellationToken = default(CancellationToken)) { if (locationAreaIdentifier == Guid.Empty || locationAreaIdentifier == LocationServiceConstants.SelfReferenceIdentifier) { return(LocalDataProvider); } else { // These methods might make a server call but generally it will be accessing cached data Guid instanceId = await LocalDataProvider.GetInstanceIdAsync(cancellationToken).ConfigureAwait(false); Guid instanceType = await LocalDataProvider.GetInstanceTypeAsync(cancellationToken).ConfigureAwait(false); if (locationAreaIdentifier == instanceId || locationAreaIdentifier == instanceType || instanceType == ServiceInstanceTypes.TFSOnPremises) { // Never do location traversal for OnPrem return(LocalDataProvider); } else { return(await ResolveLocationDataAsync(locationAreaIdentifier, cancellationToken).ConfigureAwait(false)); } } }
public void MyTestInitialize() { probeResultFactory = new ProbeResultFactory(); dataprovider = new LocalDataProvider(); MockRepository mocks = new MockRepository(); provider = mocks.StrictMock <IDataProvider>(); Expect.Call(provider.GetSession()).Repeat.Any().Return(dataprovider.GetSession()); mocks.ReplayAll(); }
private IEnumerable <CollectExecutionLog> GetExecutionLogs() { LocalDataProvider provider = new LocalDataProvider(); IDocumentSession fakeSession = provider.GetSession(); CollectRequest collectRequest = new CollectRequestFactory().CreateCollectRequestCompleteAfterCollect(fakeSession); fakeSession.SaveChanges(); IEnumerable <CollectExecutionLog> executionLogs = collectRequest.GetExecutionLog(fakeSession); return(executionLogs); }
static Configurer() { var builder = new ContainerBuilder(); IDataProvider repository = null; if (ConfigurationManager.AppSettings["DataSource"] == "Local") { repository = new LocalDataProvider(ConfigurationManager.AppSettings["LocalStoragePath"]); } builder.RegisterInstance <IDataProvider>(repository); builder.RegisterType <Repositories.Repository>().As <IRepository>(); Container = builder.Build(); }
/// <summary> /// /// </summary> /// <param name="locationAreaIdentifier"></param> /// <param name="currentProvider"></param> /// <returns></returns> private async Task <ILocationDataProvider> ResolveLocationDataAsync( Guid locationAreaIdentifier, CancellationToken cancellationToken = default(CancellationToken)) { ILocationDataProvider locationData = null; ProviderCache providerLookup = m_providerLookup; if (providerLookup == null) { providerLookup = new ProviderCache(); // Create and seed the cache with the local url String location = await LocalDataProvider.LocationForCurrentConnectionAsync( ServiceInterfaces.LocationService2, LocationServiceConstants.SelfReferenceIdentifier, cancellationToken).ConfigureAwait(false); if (location != null) { providerLookup.GetOrAdd(location, LocalDataProvider); } ProviderCache actualProvider = Interlocked.CompareExchange(ref m_providerLookup, providerLookup, null); // Did we lose the race? Pick the winner if (actualProvider != null) { providerLookup = actualProvider; } } if (!providerLookup.TryGetValue(locationAreaIdentifier, out locationData)) { // First, check our current provider (see if a direct pointer is registered) String location = await LocalDataProvider.LocationForCurrentConnectionAsync( ServiceInterfaces.LocationService2, locationAreaIdentifier, cancellationToken).ConfigureAwait(false); // Next, check and see if we have a root pointer if (location == null && locationAreaIdentifier != LocationServiceConstants.ApplicationIdentifier && locationAreaIdentifier != LocationServiceConstants.RootIdentifier) // Don't infinitely recurse { ILocationDataProvider rootProvider = await ResolveLocationDataAsync( LocationServiceConstants.RootIdentifier, cancellationToken).ConfigureAwait(false); if (rootProvider != null && !Object.ReferenceEquals(rootProvider, LocalDataProvider)) { location = await rootProvider.LocationForCurrentConnectionAsync( ServiceInterfaces.LocationService2, locationAreaIdentifier, cancellationToken).ConfigureAwait(false); } } if (location != null) { // The caller could be asking for a serviceIdentifier which resolves to a URL // for which we already have a cached provider. // This is typical when serviceIdentifier is a ResourceArea guid. if (!providerLookup.TryGetValue(location, out locationData)) { locationData = await CreateDataProviderAsync(location, cancellationToken).ConfigureAwait(false); locationData = providerLookup.GetOrAdd(location, locationData); } providerLookup[locationAreaIdentifier] = locationData; } } return(locationData); }
/// <summary> Initializes a new instance of the <see cref="BusinessListMetadata{T}"/> class. /// </summary> public BusinessListMetadata() { DataProvider = new LocalDataProvider <IListBM <T> >(); }
public void MyTestInitialize() { provider = new LocalDataProvider(); session = provider.GetSession(); }