Beispiel #1
0
 public SearchConfiguration(
     IModelConventionInputBuilder <TSource> modelConventionInputBuilder,
     IGraphQlRepository graphQlRepository)
 {
     _modelConventionInputBuilder = modelConventionInputBuilder;
     _graphQlRepository           = graphQlRepository;
 }
 public TableStorageConfiguration(IModelConventionInputBuilder <TSource> modelConventionInputBuilder,
                                  IGraphQlRepository graphQlRepository,
                                  Type typeSource)
 {
     _modelConventionInputBuilder = modelConventionInputBuilder;
     _graphQlRepository           = graphQlRepository;
     _typeSource = typeSource;
 }
        public SearchConfiguration <TSource> ConfigureSearch <TSearchModel>()
        {
            _graphQlRepositoryProvider.Use <SearchModel, SearchRepository>();

            _graphQlRepository = _graphQlRepositoryProvider.Use <TSearchModel, SearchRepository>();
            _typeSource        = typeof(TSearchModel);
            return(new SearchConfiguration <TSource>(this, _graphQlRepository));
        }
 private IGraphQlRepository GetConnectionEdgeRepository()
 {
     if (_connectionEdgeRepository == null)
     {
         _connectionEdgeRepository = _graphQlRepositoryProvider.GetRepository <ConnectionEdge>();
     }
     return(_connectionEdgeRepository);
 }
Beispiel #5
0
        public ConnectionEdgeHandlerTests()
        {
            _graphQlRepositoryProvider = Substitute.For <IGraphQlRepositoryProvider>();
            _connectionEdgeRepository  = Substitute.For <IGraphQlRepository>();

            _graphQlRepositoryProvider.GetRepository <ConnectionEdge>().Returns(_connectionEdgeRepository);

            _connectionEdgeHandler = new ConnectionEdgeHandler(_graphQlRepositoryProvider, new ConnectionEdgeResolver(), Substitute.For <ILogger>());
        }
Beispiel #6
0
        private static async Task RunAsync(IGraphQlRepository graphQlRepository, Type type, object mappedInstance, string action, IGraphRequestContext graphRequestContext)
        {
            MethodInfo method = graphQlRepository.GetType().GetMethod(action);

            // ReSharper disable once PossibleNullReferenceException
            MethodInfo generic = method.MakeGenericMethod(type);

            var task = (Task)generic.Invoke(graphQlRepository, new[] { mappedInstance, graphRequestContext });

            await task.ConfigureAwait(false);
        }
Beispiel #7
0
        public static async Task DeleteAllAsync(this IGraphQlRepository graphQlRepository, Type type, IGraphRequestContext graphRequestContext)
        {
            MethodInfo method = graphQlRepository.GetType().GetMethod("DeleteAllAsync");

            // ReSharper disable once PossibleNullReferenceException
            MethodInfo generic = method.MakeGenericMethod(type);

            var task = (Task)generic.Invoke(graphQlRepository, new object[] { graphRequestContext });

            await task.ConfigureAwait(false);
        }
Beispiel #8
0
        private static async Task InternalBatchAsync(IGraphQlRepository graphQlRepository, Type type, List <object> items, IGraphRequestContext graphRequestContext, string methodName)
        {
            var listType = typeof(List <>).MakeGenericType(type);
            var list     = Activator.CreateInstance(listType);
            var c        = (IList)list;

            items.ForEach(item => c.Add(item));

            MethodInfo method = graphQlRepository.GetType().GetMethod(methodName);

            // ReSharper disable once PossibleNullReferenceException
            MethodInfo generic = method.MakeGenericMethod(type);

            var task = (Task)generic.Invoke(graphQlRepository, new[] { list, graphRequestContext });

            await task.ConfigureAwait(false);
        }
Beispiel #9
0
 public static async Task UpdateAsync(this IGraphQlRepository graphQlRepository, Type type, object mappedInstance, IGraphRequestContext graphRequestContext)
 {
     await RunAsync(graphQlRepository, type, mappedInstance, "UpdateAsync", graphRequestContext);
 }
Beispiel #10
0
 public static async Task BatchAddOrUpdateAsync(this IGraphQlRepository graphQlRepository, Type type, List <object> items, IGraphRequestContext graphRequestContext)
 {
     await InternalBatchAsync(graphQlRepository,
                              type, items, graphRequestContext, "BatchAddOrUpdateAsync");
 }
 public DocumentDbConfiguration <TSource> ConfigureDocumentDb <TType>()
 {
     _graphQlRepository = _graphQlRepositoryProvider.Use <TType, DocumentDbRepository>();
     _typeSource        = typeof(TType);
     return(new DocumentDbConfiguration <TSource>(this, _graphQlRepository, _typeSource));
 }
 public HttpConfiguration <TSource> ConfigureHttp <TType>()
 {
     _graphQlRepository = _graphQlRepositoryProvider.Use <TType, HttpRepository>();
     _typeSource        = typeof(TType);
     return(new HttpConfiguration <TSource>(this, _graphQlRepository, _typeSource));
 }
 public TableStorageConfiguration <TSource> ConfigureTableStorage <TType>()
 {
     _graphQlRepository = _graphQlRepositoryProvider.Use <TType, TableStorageRepository>();
     _typeSource        = typeof(TType);
     return(new TableStorageConfiguration <TSource>(this, _graphQlRepository, _typeSource));
 }
 public InMemoryConfiguration <TSource> ConfigureInMemory <TType>()
 {
     _graphQlRepository = _graphQlRepositoryProvider.Use <TType, InMemoryRepository>();
     _typeSource        = typeof(TType);
     return(new InMemoryConfiguration <TSource>(this));
 }