public TResult Load <TResult>(string id, Type transformerType, Action <ILoadConfiguration> configure = null) { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; return(LoadInternal <TResult>(new[] { id }, null, transformer, configuration.TransformerParameters).FirstOrDefault()); }
public TResult[] Load <TResult>(IEnumerable <string> ids, Type transformerType, Action <ILoadConfiguration> configure = null) { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; return(LoadInternal <TResult>(ids.ToArray(), null, transformer, configuration.TransformerParameters)); }
public async Task <TResult[]> LoadAsync <TResult>(IEnumerable <string> ids, Type transformerType, Action <ILoadConfiguration> configure = null, CancellationToken token = default(CancellationToken)) { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; return(await LoadUsingTransformerInternalAsync <TResult>(ids.ToArray(), null, transformer, configuration.TransformerParameters, token).ConfigureAwait(false)); }
public async Task <TResult> LoadAsync <TResult>(string id, string transformer, Action <ILoadConfiguration> configure = null, CancellationToken token = default(CancellationToken)) { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var result = await LoadUsingTransformerInternalAsync <TResult>(new[] { id }, null, transformer, configuration.TransformerParameters, token).ConfigureAwait(false); return(result.FirstOrDefault()); }
public async Task <TResult[]> LoadAsync <TTransformer, TResult>(IEnumerable <string> ids, Action <ILoadConfiguration> configure = null, CancellationToken token = default(CancellationToken)) where TTransformer : AbstractTransformerCreationTask, new() { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var result = await LoadUsingTransformerInternalAsync <TResult>(ids.ToArray(), null, new TTransformer().TransformerName, configuration.TransformerParameters, token).ConfigureAwait(false); return(result); }
public async Task <T> LoadAsync <TTransformer, T>(string id, Action <ILoadConfiguration> configure = null, CancellationToken token = default(CancellationToken)) where TTransformer : AbstractTransformerCreationTask, new() { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var result = await LoadUsingTransformerInternalAsync <T>(new[] { id }, null, new TTransformer().TransformerName, configuration.TransformerParameters, token).ConfigureAwait(false); return(result.FirstOrDefault()); }
public async Task <TResult[]> LoadAsync <TTransformer, TResult>(IEnumerable <string> ids, Action <ILoadConfiguration> configure = null) where TTransformer : AbstractTransformerCreationTask, new() { var transformer = new TTransformer(); var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var result = await LoadAsyncInternal <TResult>(ids.ToArray(), null, transformer.TransformerName, configuration.TransformerParameters).ConfigureAwait(false); return(result); }
public async Task <TResult> LoadAsync <TResult>(string id, Type transformerType, Action <ILoadConfiguration> configure = null, CancellationToken token = new CancellationToken()) { var configuration = new RavenLoadConfiguration(); configure?.Invoke(configuration); var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; var result = await LoadUsingTransformerInternalAsync <TResult>(new[] { id }, null, transformer, configuration.TransformerParameters, token).ConfigureAwait(false); return(result.FirstOrDefault()); }
public async Task <TResult[]> LoadAsync <TResult>(IEnumerable <string> ids, Type transformerType, Action <ILoadConfiguration> configure = null) { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; var result = await LoadAsyncInternal <TResult>(ids.ToArray(), null, transformer, configuration.TransformerParameters).ConfigureAwait(false); return(result); }
public async Task <TResult> LoadAsync <TResult>(string id, Type transformerType, Action <ILoadConfiguration> configure = null) { var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; var result = await LoadAsyncInternal <TResult>(new[] { id }, null, transformer, configuration.TransformerParameters).ConfigureAwait(false); return(result.FirstOrDefault()); }
public Task <IEnumerable <TResult> > LoadStartingWithAsync <TTransformer, TResult>(string keyPrefix, string matches = null, int start = 0, int pageSize = 25, string exclude = null, RavenPagingInformation pagingInformation = null, Action <ILoadConfiguration> configure = null) where TTransformer : AbstractTransformerCreationTask, new() { var transformer = new TTransformer().TransformerName; var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } return(AsyncDatabaseCommands.StartsWithAsync(keyPrefix, matches, start, pageSize, exclude: exclude, pagingInformation: pagingInformation, transformer: transformer, queryInputs: configuration.QueryInputs) .ContinueWith( task => (IEnumerable <TResult>)task.Result.Select(TrackEntity <TResult>).ToList())); }
Lazy <Task <TResult> > IAsyncLazySessionOperations.LoadAsync <TResult>(string id, Type transformerType, Action <ILoadConfiguration> configure, Action <TResult> onEval, CancellationToken token) { var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; var ids = new[] { id }; var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var lazyLoadOperation = new LazyTransformerLoadOperation <TResult>( ids, transformer, configuration.TransformerParameters, new LoadTransformerOperation(this, transformer, ids), singleResult: true); return(AddLazyOperation(lazyLoadOperation, onEval, token)); }
public Task <IEnumerable <TResult> > LoadStartingWithAsync <TTransformer, TResult>(string keyPrefix, string matches = null, int start = 0, int pageSize = 25, string exclude = null, RavenPagingInformation pagingInformation = null, Action <ILoadConfiguration> configure = null, string skipAfter = null, CancellationToken token = default(CancellationToken)) where TTransformer : AbstractTransformerCreationTask, new() { var transformer = new TTransformer().TransformerName; var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var queryOperation = new QueryOperation(this, "Load/StartingWith", null, null, false, TimeSpan.Zero, null, null, false); return(AsyncDatabaseCommands.StartsWithAsync(keyPrefix, matches, start, pageSize, exclude: exclude, pagingInformation: pagingInformation, transformer: transformer, transformerParameters: configuration.TransformerParameters, skipAfter: skipAfter, token: token) .ContinueWith( task => (IEnumerable <TResult>)task.Result.Select(x => queryOperation.Deserialize <TResult>(x.ToJson())).ToList(), token)); }
Lazy <TResult[]> ILazySessionOperations.Load <TResult>(IEnumerable <string> ids, Type transformerType, Action <ILoadConfiguration> configure, Action <TResult> onEval) { var idsArray = ids.ToArray(); var cmds = GetCommandsToOperateOn(new ShardRequestData { Keys = idsArray, EntityType = transformerType }); var transformer = ((AbstractTransformerCreationTask)Activator.CreateInstance(transformerType)).TransformerName; var op = new LoadTransformerOperation(this, transformer, idsArray); var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } var lazyLoadOperation = new LazyTransformerLoadOperation <TResult>(idsArray, transformer, configuration.TransformerParameters, op, false); return(AddLazyOperation <TResult[]>(lazyLoadOperation, null, cmds)); }
public TResult[] LoadStartingWith <TTransformer, TResult>(string keyPrefix, string matches = null, int start = 0, int pageSize = 25, string exclude = null, RavenPagingInformation pagingInformation = null, Action <ILoadConfiguration> configure = null, string skipAfter = null) where TTransformer : AbstractTransformerCreationTask, new() { var transformer = new TTransformer().TransformerName; var configuration = new RavenLoadConfiguration(); if (configure != null) { configure(configuration); } IncrementRequestCount(); var shards = GetCommandsToOperateOn(new ShardRequestData { EntityType = typeof(TResult), Keys = { keyPrefix } }); var results = shardStrategy.ShardAccessStrategy.Apply(shards, new ShardRequestData { EntityType = typeof(TResult), Keys = { keyPrefix } }, (dbCmd, i) => dbCmd.StartsWith(keyPrefix, matches, start, pageSize, exclude: exclude, transformer: transformer, transformerParameters: configuration.TransformerParameters, skipAfter: skipAfter)); var queryOperation = new QueryOperation(this, "Load/StartingWith", null, null, false, TimeSpan.Zero, null, null, false); return(results.SelectMany(x => x).Select(x => queryOperation.Deserialize <TResult>(x.ToJson())) .ToArray()); }