using System; using GraphQL.Types; using xDataService.Db; using xDataService.Models; using xDataService.Providers; using xWebinarService.Interfaces; using xWebinarService.Interfaces.Entities; using xWebinarService.Models.Entities; using xWebinarService.Providers.Entities; using xWebinarService.Providers.GraphQL; namespace xWebinarService.Helpers { public static class XWebinarServiceHelper { // #region XWebinar ... // #region EF Repository Descriptor Provider(s) ... public static XEFRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarEFRepository, TContext > GetXWebinarEFRepositoryDescriptor() where TContext : XDbContext { // var result = new XEFRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarEFRepository, TContext >(); // return result; } public static XEFRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarEFRepository, TContext, IXWebinarSeeder, TSeederImplementation > GetXWebinarEFRepositoryDescriptor() where TContext : XDbContext where TSeederImplementation : XBaseDbSeeder { // var result = new XEFRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarEFRepository, TContext, IXWebinarSeeder, TSeederImplementation >(); // return result; } #endregion // #region Mongo Repository Descriptor Provider(s) ... public static XMongoRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarMongoRepository > GetXWebinarMongoRepositoryDescriptor() { // var result = new XMongoRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarMongoRepository >(); // return result; } public static XMongoRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarMongoRepository, IXWebinarSeeder, TSeederImplementation > GetXWebinarMongoRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XMongoRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarMongoRepository, IXWebinarSeeder, TSeederImplementation >(); // return result; } #endregion // #region InMemory Repository Descriptor Provider(s) ... public static XInMemoryRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarInMemoryRepository > GetXWebinarInMemoryRepositoryDescriptor() { // var result = new XInMemoryRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarInMemoryRepository >(); // return result; } public static XInMemoryRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarInMemoryRepository, IXWebinarSeeder, TSeederImplementation > GetXWebinarInMemoryRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XInMemoryRepositoryDescriptor< XWebinar, Guid, IXWebinarKeyGenerator, XWebinarKeyGenerator, IXWebinarRepositoryEvents, XWebinarRepositoryEvents, XWebinarGraphType, GuidGraphType, XWebinarGraphQuery, IXWebinarGraphQLTypeHelper, XWebinarGraphQLTypeHelper, XWebinarGraphSchema, IXWebinarRepository, XWebinarInMemoryRepository, IXWebinarSeeder, TSeederImplementation >(); // return result; } #endregion #endregion // #region XWebinarSubscriber ... // #region EF Repository Descriptor Provider(s) ... public static XEFRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberEFRepository, TContext > GetXWebinarSubscriberEFRepositoryDescriptor() where TContext : XDbContext { // var result = new XEFRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberEFRepository, TContext >(); // return result; } public static XEFRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberEFRepository, TContext, IXWebinarSubscriberSeeder, TSeederImplementation > GetXWebinarSubscriberEFRepositoryDescriptor() where TContext : XDbContext where TSeederImplementation : XBaseDbSeeder { // var result = new XEFRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberEFRepository, TContext, IXWebinarSubscriberSeeder, TSeederImplementation >(); // return result; } #endregion // #region Mongo Repository Descriptor Provider(s) ... public static XMongoRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberMongoRepository > GetXWebinarSubscriberMongoRepositoryDescriptor() { // var result = new XMongoRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberMongoRepository >(); // return result; } public static XMongoRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberMongoRepository, IXWebinarSubscriberSeeder, TSeederImplementation > GetXWebinarSubscriberMongoRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XMongoRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberMongoRepository, IXWebinarSubscriberSeeder, TSeederImplementation >(); // return result; } #endregion // #region InMemory Repository Descriptor Provider(s) ... public static XInMemoryRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberInMemoryRepository > GetXWebinarSubscriberInMemoryRepositoryDescriptor() { // var result = new XInMemoryRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberInMemoryRepository >(); // return result; } public static XInMemoryRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberInMemoryRepository, IXWebinarSubscriberSeeder, TSeederImplementation > GetXWebinarSubscriberInMemoryRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XInMemoryRepositoryDescriptor< XWebinarSubscriber, int, IXWebinarSubscriberKeyGenerator, XWebinarSubscriberKeyGenerator, IXWebinarSubscriberRepositoryEvents, XWebinarSubscriberRepositoryEvents, XWebinarSubscriberGraphType, IntGraphType, XWebinarSubscriberGraphQuery, IXWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphQLTypeHelper, XWebinarSubscriberGraphSchema, IXWebinarSubscriberRepository, XWebinarSubscriberInMemoryRepository, IXWebinarSubscriberSeeder, TSeederImplementation >(); // return result; } #endregion #endregion } }