last ...
This commit is contained in:
@@ -0,0 +1,279 @@
|
||||
using GraphQL.Types;
|
||||
using xDataService.Db;
|
||||
using xDataService.Models;
|
||||
using xDataService.Providers;
|
||||
using xTagService.Interfaces;
|
||||
using xTagService.Interfaces.Entities;
|
||||
using xTagService.Models.Entities;
|
||||
using xTagService.Providers.Entities;
|
||||
using xTagService.Providers.GraphQL;
|
||||
|
||||
namespace xTagService.Helpers
|
||||
{
|
||||
public static class XTagServiceHelper
|
||||
{
|
||||
//
|
||||
#region EF Repository Descriptor Provider(s) ...
|
||||
public static XEFRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagEFRepository<TContext>,
|
||||
TContext
|
||||
> GetXTagEFRepositoryDescriptor<TContext>()
|
||||
where TContext : XDbContext
|
||||
{
|
||||
//
|
||||
var result = new XEFRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagEFRepository<TContext>,
|
||||
TContext
|
||||
>();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
public static XEFRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagEFRepository<TContext>,
|
||||
TContext,
|
||||
IXTagSeeder,
|
||||
TSeederImplementation
|
||||
> GetXTagEFRepositoryDescriptor<TContext, TSeederImplementation>()
|
||||
where TContext : XDbContext
|
||||
where TSeederImplementation : XBaseDbSeeder<XTag, int>
|
||||
{
|
||||
//
|
||||
var result = new XEFRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagEFRepository<TContext>,
|
||||
TContext,
|
||||
IXTagSeeder,
|
||||
TSeederImplementation
|
||||
>();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Mongo Repository Descriptor Provider(s) ...
|
||||
public static XMongoRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagMongoRepository
|
||||
> GetXTagMongoRepositoryDescriptor()
|
||||
{
|
||||
//
|
||||
var result = new XMongoRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagMongoRepository
|
||||
>();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
public static XMongoRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagMongoRepository,
|
||||
IXTagSeeder,
|
||||
TSeederImplementation
|
||||
> GetXTagMongoRepositoryDescriptor<TSeederImplementation>()
|
||||
where TSeederImplementation : XBaseDbSeeder<XTag, int>
|
||||
{
|
||||
//
|
||||
var result = new XMongoRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagMongoRepository,
|
||||
IXTagSeeder,
|
||||
TSeederImplementation
|
||||
>();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region InMemory Repository Descriptor Provider(s) ...
|
||||
public static XInMemoryRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagInMemoryRepository
|
||||
> GetXTagInMemoryRepositoryDescriptor()
|
||||
{
|
||||
//
|
||||
var result = new XInMemoryRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagInMemoryRepository
|
||||
>();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
public static XInMemoryRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagInMemoryRepository,
|
||||
IXTagSeeder,
|
||||
TSeederImplementation
|
||||
> GetXTagInMemoryRepositoryDescriptor<TSeederImplementation>()
|
||||
where TSeederImplementation : XBaseDbSeeder<XTag, int>
|
||||
{
|
||||
//
|
||||
var result = new XInMemoryRepositoryDescriptor<
|
||||
XTag,
|
||||
int,
|
||||
IXTagKeyGenerator,
|
||||
XTagKeyGenerator,
|
||||
IXTagRepositoryEvents,
|
||||
XTagRepositoryEvents,
|
||||
XTagGraphType,
|
||||
IntGraphType,
|
||||
XTagGraphQuery,
|
||||
IXTagGraphQLTypeHelper,
|
||||
XTagGraphQLTypeHelper,
|
||||
XTagGraphSchema,
|
||||
IXTagRepository,
|
||||
XTagInMemoryRepository,
|
||||
IXTagSeeder,
|
||||
TSeederImplementation
|
||||
>();
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user