Prepare xStringService except Controllers ...

This commit is contained in:
2026-05-24 22:46:25 +03:30
parent b44c014de8
commit 30b3e80a8d
9 changed files with 433 additions and 34 deletions
+281
View File
@@ -0,0 +1,281 @@
using GraphQL.Types;
using MongoDB.Bson.Serialization.Serializers;
using xDataHelper.Providers.GraphQL;
using xDataService.Db;
using xDataService.Models;
using xDataService.Providers;
using xStringService.Interfaces;
using xStringService.Interfaces.Entities;
using xStringService.Models.Entities;
using xStringService.Providers.Entities;
using xStringService.Providers.GraphQL;
namespace xStringService.Helpers
{
public static class XStringServiceHelper
{
//
#region EF Repository Descriptor Provider(s) ...
public static XEFRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringEFRepository<TContext>,
TContext
> GetXStringEfRepositoryDescriptor<TContext>()
where TContext : XDbContext
{
//
var result = new XEFRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringEFRepository<TContext>,
TContext
>();
//
return result;
}
public static XEFRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringEFRepository<TContext>,
TContext,
IXStringSeeder,
TSeederImplementation
> GetXStringEfRepositoryDescriptor<TContext, TSeederImplementation>()
where TContext : XDbContext
where TSeederImplementation : XBaseDbSeeder<XString, int>
{
//
var result = new XEFRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringEFRepository<TContext>,
TContext,
IXStringSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region Mongo Repository Descriptor Provider(s) ...
public static XMongoRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringMongoRepository
> GetXStringMongoRepositoryDescriptor()
{
//
var result = new XMongoRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringMongoRepository
>();
//
return result;
}
public static XMongoRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringMongoRepository,
IXStringSeeder,
TSeederImplementation
> GetXStringMongoRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XString, int>
{
//
var result = new XMongoRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringMongoRepository,
IXStringSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region InMemory Repository Descriptor Provider(s) ...
public static XInMemoryRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringInMemoryRepository
> GetXStringInMemoryRepositoryDescriptor()
{
//
var result = new XInMemoryRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringInMemoryRepository
>();
//
return result;
}
public static XInMemoryRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringInMemoryRepository,
IXStringSeeder,
TSeederImplementation
> GetXStringInMemoryRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XString, int>
{
//
var result = new XInMemoryRepositoryDescriptor<
XString,
int,
IXStringKeyGenerator,
XStringKeyGenerator,
IXStringRepositoryEvents,
XStringRepositoryEvents,
XStringGraphType,
IntGraphType,
XStringGraphQuery,
IXStringGraphQLTypeHelper,
XStringGraphQLTypeHelper,
XStringGraphSchema,
IXStringRepository,
XStringInMemoryRepository,
IXStringSeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
}
}