Complete SubCategory Data Models and Implementations ...

This commit is contained in:
2026-05-31 00:37:05 +03:30
parent fe08eadcbd
commit a9c2f63b44
36 changed files with 1122 additions and 0 deletions
+279
View File
@@ -0,0 +1,279 @@
using GraphQL.Types;
using xCategoryService.Interfaces;
using xCategoryService.Interfaces.Entities;
using xCategoryService.Models.Entities;
using xCategoryService.Providers.Entities;
using xCategoryService.Providers.GraphQL;
using xDataService.Db;
using xDataService.Models;
using xDataService.Providers;
namespace xCategoryService.Helpers
{
public static class XCategoryServiceHelper
{
//
#region EF Repository Descriptor Provider(s) ...
public static XEFRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryEFRepository<TContext>,
TContext
> GetXSubCategoryEFRepositoryDescriptor<TContext>()
where TContext : XDbContext
{
//
var result = new XEFRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryEFRepository<TContext>,
TContext
>();
//
return result;
}
public static XEFRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryEFRepository<TContext>,
TContext,
IXSubCategorySeeder,
TSeederImplementation
> GetXSubCategoryEFRepositoryDescriptor<TContext, TSeederImplementation>()
where TContext : XDbContext
where TSeederImplementation : XBaseDbSeeder<XSubCategory, int>
{
//
var result = new XEFRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryEFRepository<TContext>,
TContext,
IXSubCategorySeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region Mongo Repository Descriptor Provider(s) ...
public static XMongoRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryMongoRepository
> GetXSubCategoryMongoRepositoryDescriptor()
{
//
var result = new XMongoRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryMongoRepository
>();
//
return result;
}
public static XMongoRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryMongoRepository,
IXSubCategorySeeder,
TSeederImplementation
> GetXSubCategoryMongoRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XSubCategory, int>
{
//
var result = new XMongoRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryMongoRepository,
IXSubCategorySeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
//
#region InMemory Repository Descriptor Provider(s) ...
public static XInMemoryRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryInMemoryRepository
> GetXSubCategoryInMemoryRepositoryDescriptor()
{
//
var result = new XInMemoryRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryInMemoryRepository
>();
//
return result;
}
public static XInMemoryRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryInMemoryRepository,
IXSubCategorySeeder,
TSeederImplementation
> GetXSubCategoryInMemoryRepositoryDescriptor<TSeederImplementation>()
where TSeederImplementation : XBaseDbSeeder<XSubCategory, int>
{
//
var result = new XInMemoryRepositoryDescriptor<
XSubCategory,
int,
IXSubCategoryKeyGenerator,
XSubCategoryKeyGenerator,
IXSubCategoryRepositoryEvents,
XSubCategoryRepositoryEvents,
XSubCategoryGraphType,
IntGraphType,
XSubCategoryGraphQuery,
IXSubCategoryGraphQLTypeHelper,
XSubCategoryGraphQLTypeHelper,
XSubCategoryGraphSchema,
IXSubCategoryRepository,
XSubCategoryInMemoryRepository,
IXSubCategorySeeder,
TSeederImplementation
>();
//
return result;
}
#endregion
}
}