### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Base\IXBaseService.cs namespace xServices.Base { public interface IXBaseService { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Base\XBaseService.cs namespace xServices.Base { public class XBaseService : IXBaseService { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Base\XTestProviderControllerBase.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; using xPushService.Controllers; using xServices.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; using xServices.Providers; namespace xServices.Base { /// /// an Abstract Implementation of Provided Actions for XTest ... /// public abstract class XTestProviderControllerBase : XBaseProvidedController, IXTestProviderController { protected XTestProviderControllerBase( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXTestProvider provider, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Configurations\XServicesConfiguration.cs namespace xServices.Configurations { public partial class XServicesConfiguration { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Configurations\XTestTypeConfiguration.cs using System; using Microsoft.EntityFrameworkCore.Metadata.Builders; using xDataService.Providers; using xServices.Models.Entities; namespace xServices.Configurations { public class XTestTypeConfiguration : XBaseEntityTypeConfiguration { public override void Configure(EntityTypeBuilder builder) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Constants\ConfigurationNodeNames.cs namespace xServices.Constants { public partial struct ConfigurationNodeNames { public const string SERVICES_NODE = "ServicesConfiguration"; } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Constants\xServicesConstancts.cs using xExceptions.Attributes; namespace xServices.Constants { public class xServicesConstancts { } public enum XQueryServiceEndPoints { /// /// Specified Endpoint for Users Fetching as Query ... /// [StringValue("Account/Users/Query")] QueryUsers, /// /// Refresh Tokens ... /// [StringValue("Account/RefreshTokens")] RefreshTokens, } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XCategoryProviderController.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCategoryService.Controllers; using xCategoryService.Interfaces; using xCategoryService.Models.Entities; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; namespace xServices.Controllers { public class XCategoryProviderController : XCategoryProviderControllerBase, IXCategoryProviderController { public XCategoryProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXCategoryProvider provider, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XFileProviderController.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCommons.Configurations; using xCommons.Providers; using xFileService.Controllers; using xFileService.Interfaces; using xFileService.Models.Entities; using xIdentityService.Interfaces; namespace xServices.Controllers { public class XFileProviderController : XFileProviderControllerBase, IXFileProviderController { public XFileProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXFileProvider provider, IXFileTagProvided tagProvided, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, tagProvided, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XStringProviderController.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; using xStringService.Controllers; using xStringService.Interfaces; using xStringService.Models.Entities; namespace xServices.Controllers { public class XStringProviderController : XStringProviderControllerBase, IXStringProviderController { public XStringProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXStringProvider provider, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XSubCategoryProviderController.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCategoryService.Controllers; using xCategoryService.Interfaces; using xCategoryService.Models.Entities; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; namespace xServices.Controllers { public class XSubCategoryProviderController : XSubCategoryProviderControllerBase, IXSubCategoryProviderController { public XSubCategoryProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXSubCategoryProvider provider, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XTagProviderController.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; using xTagService.Controllers; using xTagService.Interfaces; using xTagService.Models.Entities; namespace xServices.Controllers { public class XTagProviderController : XTagProviderControllerBase, IXTagProviderController { public XTagProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXTagProvider provider, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XTermsAndConditionsProviderController.cs using Microsoft.Extensions.Logging; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; using xTermsAndConditionsService.Controllers; using xTermsAndConditionsService.Interfaces; using xTermsAndConditionsService.Providers; namespace xServices.Controllers { public class XTermsAndConditionsProviderController : XTermsAndConditionsControllerBase, IXTermsAndConditionsController { public XTermsAndConditionsProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXTermsAndConditionsProvider provider ) : base( logger, appConfiguration, identityProvider, validationProvider, provider ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Controllers\XTestProviderController.cs using System; using System.Linq; using Microsoft.EntityFrameworkCore.Query; using Microsoft.Extensions.Logging; using xCommons.Configurations; using xCommons.Providers; using xIdentityService.Interfaces; using xServices.Base; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Controllers { public class XTestProviderController : XTestProviderControllerBase, IXTestProviderController { public XTestProviderController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider, IXTestProvider provider, Func, IOrderedQueryable> defaultOrderBuilder = null, Func, IIncludableQueryable> defaultIncludeBuilder = null ) : base( logger, appConfiguration, identityProvider, validationProvider, provider, defaultOrderBuilder, defaultIncludeBuilder ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Databases\XApiDatabaseDescriptor.cs using System; using System.Collections.Generic; using GraphQL.Types; using xDataService.Interfaces; using xDataService.Models; using xServices.Interfaces; using xServices.Models.Entities; using xServices.Models.GraphQL; using xServices.Providers; namespace xServices.Databases { public class XApiDatabaseDescriptor : XDatabaseDescriptor, IXDatabaseDescriptor { public XApiDatabaseDescriptor() : base( name: "xApiDb", repositories: new List { // // XTest Entity ... new XEFRepositoryDescriptor< XTest, Guid, IXTestKeyGenerator, XTestKeyGenerator, IXTestRepositoryEvents, XTestRepositoryEvents, XTestGraphType, GuidGraphType, XTestGraphQuery, IXTestGraphQLTypeHelper, XTestGraphQLTypeHelper, XTestGraphSchema, IXTestRepository, XTestEFRepository, XApiDbContext, IXTestSeeder, XTestSeeder > {} } ) { OptionsBuilder = b => b.MigrationsAssembly("xApi"); } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Databases\XApiDbContext.cs using Microsoft.EntityFrameworkCore; using xCategoryService.Providers; using xDataService.Configuration; using xDataService.Db; using xDataService.Providers; using xFileService.Providers; using xServices.Models.Entities; using xStringService.Providers; using xTagService.Providers; using xWebinarService.Providers; // using xStringService.Models.Entities; namespace xServices.Databases { public class XApiDbContext : XDbContext { // #region DbSets ... public DbSet Tests { get; set; } #endregion // #region Navigation Property Entities ... #endregion public XApiDbContext( DbContextOptions options, XDataServiceConfiguration config, XEntityRegisterarHandlerService dynamicEntityHandlers ) : base( "xApiDb", options, config, dynamicEntityHandlers, new string[] { nameof(XTagEntityRegisterar), nameof(XFileEntityRegisterar), nameof(XStringEntityRegisterar), nameof(XWebinarEntityRegisterar), nameof(XCategoryEntityRegisterar), nameof(XSubCategoryEntityRegisterar), nameof(XWebinarSubscriberEntityRegisterar), } ) { } // public override void OnXModelCreating(ModelBuilder modelBuilder) { } // public override void OnXConfiguring(DbContextOptionsBuilder optionsBuilder) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\DI\XDIHelperExtension.cs using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using xCategoryService.DI; using xCommons.Extensions; using xDataService.DI; using xDataService.Models; using xFileService.DI; using xIdentityService.DI; using xMessageService.DI; using xPushService.DI; using xPushService.Helpers; using xServices.Configurations; using xServices.Constants; using xServices.Databases; using xServices.Interfaces; using xServices.Providers; using xStorageService.DI; using xStringService.DI; using xTagService.DI; using xTermsAndConditionsService.DI; using xWebinarService.DI; namespace xServices.DI { public static partial class XDIHelperExtension { /// /// Retrive Services Configurations ... /// /// /// public static XServicesConfiguration GetXServicesConfiguration( this IConfiguration source ) { // var xConfig = source .GetSection(ConfigurationNodeNames.SERVICES_NODE); var result = xConfig.Get(); // return result; } /// /// Register Service Configuration ... /// /// /// public static void AddXServicesConfiguration( this IServiceCollection services, IConfiguration configuration ) { // var config = configuration .GetXServicesConfiguration(); if (config.IsNull()) { config = new XServicesConfiguration(); } // services.AddSingleton(config); } /// /// Register Service Configuration ... /// /// /// public static void AddXServicesConfiguration( this IServiceCollection services, XServicesConfiguration configuration ) { // if (configuration.IsNull()) { configuration = new XServicesConfiguration(); } // services.AddSingleton(configuration); } /// /// Register Services ... /// /// /// /// /// public static void AddXServices( this IServiceCollection services, IConfiguration configuration, IEnumerable databases = null, ServiceLifetime lifeTime = ServiceLifetime.Scoped ) { // var config = configuration.GetXServicesConfiguration(); // AddServices( config: config, services: services, lifeTime: lifeTime, databases: databases, configuration: configuration ); } /// /// Register Services ... /// /// /// /// /// /// public static void AddXServices( this IServiceCollection services, IConfiguration configuration, XServicesConfiguration config, IEnumerable databases = null, ServiceLifetime lifeTime = ServiceLifetime.Scoped ) { // AddServices( config: config, services: services, lifeTime: lifeTime, databases: databases, configuration: configuration ); } /// /// Use All Required Middlewares ... /// /// /// /// public static void UseXServices( this IApplicationBuilder app, IEnumerable databases = null, bool isDevelopmentEnvironment = false ) { // // Use Storage Service ... app.UseXStorageService(); // #region Use Data Data Service ... if (databases.HasChild()) { // databases .ToList() .ForEach(database => { // app.UseXDatabase( descriptor: database, isDevelopmentEnvironment: isDevelopmentEnvironment ); }); } #endregion // #region Use Hubs ... // var pushHelper = new XPushServiceHelper(); // pushHelper.AddHub("testDto"); pushHelper.AddHub("testEntity"); // app.UseXPushService(pushHelper); #endregion // // Using String Service ... app.UseXStringService( isDevelopmentEnvironment: isDevelopmentEnvironment ); // // Using Terms and Conditions Service ... app.UseXTermsAndConditionsService(); // // Using Tag Service ... app.UseXTagService( isDevelopmentEnvironment: isDevelopmentEnvironment ); // // Using File Service ... app.UseXFileService( isDevelopmentEnvironment: isDevelopmentEnvironment ); // // Using Category Service ... app.UseXCategoryService( isDevelopmentEnvironment: isDevelopmentEnvironment ); // // Using XWebinar Service ... app.UsexWebinarService( isDevelopmentEnvironment: isDevelopmentEnvironment ); } // #region Private ... /// /// Register Required Services ... /// /// /// /// /// /// private static void AddServices( this IServiceCollection services, IConfiguration configuration, XServicesConfiguration config = null, IEnumerable databases = null, ServiceLifetime lifeTime = ServiceLifetime.Scoped ) { // // Check config ... if (config.IsNull()) { config = new XServicesConfiguration(); } // // Storage Service ... services.AddXStorageService(configuration); // // Message Service ... services.AddXMessageService(config: configuration); // #region Register Identity Service ... services.AddXIdentityService( configuration: configuration, lifeTime: ServiceLifetime.Scoped ); #endregion // #region Register Data Service ... // if (databases.HasChild()) { // databases .ToList() .ForEach(database => { // // Register DataBase ... services.AddXDatabase( lifeTime: lifeTime, descriptor: database, configuration: configuration ); }); } // // Register Repository Services ... services.AddScoped(); services.AddScoped(); #endregion // #region Register Push Service ... // // Push Service ... services.AddXPushService( config: configuration, lifeTime: ServiceLifetime.Scoped ); // // Register Provider Services ... // since Hubs required Identity Provider, you Have to Register IdentityService as Requirements ... // a Provider Service, Provides Repository (Entity) or Service (Dto) based // Data Manipulation Actions by Supporting Hub Contexts Events ... services.AddScoped(); services.AddScoped(); #endregion // var repositoryType = xDataService.Constants.XRepositoryType.EF; // // Register String Service ... services.AddXStringService( lifeTime: lifeTime, repositoryType: repositoryType ); // // Register Terms and Conditions Service ... services.AddXTermsConditionsService( lifeTime: lifeTime, configuration: configuration ); // // Register Tag Service ... services.AddXTagService( lifeTime: lifeTime, repositoryType: repositoryType ); // // Register File Service ... services.AddXFileService( lifeTime: lifeTime, repositoryType: repositoryType ); // // Register Category Service ... services.AddXCategoryServiceConfiguration(configuration); services.AddXCategoryService( lifeTime: lifeTime, repositoryType: repositoryType ); // // Register Webinar Service ... services.AddXWebinarService( lifeTime: lifeTime, repositoryType: repositoryType ); } #endregion } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Extensions\xServicesExtensions.cs namespace xServices.Extensions { public static class xServicesExtensions { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestDtoHub.cs using System; using xPushService.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestDtoHub : IXBaseDtoHub { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestEntityHub.cs using System; using xPushService.Interfaces; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestEntityHub : IXBaseEntityHub { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestGraphQLTypeHelper.cs using System; using xDataService.Interfaces; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestGraphQLTypeHelper : IXBaseGraphQLTypeHelper { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestGraphQuery.cs using System; using GraphQL.Types; using xDataService.Interfaces; using xServices.Models.Entities; using xServices.Models.GraphQL; namespace xServices.Interfaces { public interface IXTestGraphQuery : IXBaseGraphQLQuery {} } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestKeyGenerator.cs using System; using xDataService.Interfaces; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestKeyGenerator : IXKeyGenerator { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestProvider.cs using System; using xPushService.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; using xServices.Providers; namespace xServices.Interfaces { public interface IXTestProvider : IXBaseProvided {} } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestProviderController.cs using System; using xPushService.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; using xServices.Providers; namespace xServices.Interfaces { public interface IXTestProviderController : IXBaseProvidedController { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestRepository.cs using System; using xDataService.Interfaces; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestRepository : IXBaseRepository { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestRepositoryEvents.cs using xDataService.Interfaces; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestRepositoryEvents : IXBaseRepositoryEvents { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestRepositoryProvider.cs using System; using xPushService.Interfaces; using xServices.Models.Entities; using xServices.Providers; namespace xServices.Interfaces { public interface IXTestRepositoryProvider : IXBaseEntityProvider { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestRepositoryService.cs using System; using xDataService.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestRepositoryService : IXBaseRepositoryService { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestSeeder.cs using System; using xDataService.Interfaces; using xServices.Models.Entities; namespace xServices.Interfaces { public interface IXTestSeeder : IXBaseDbSeeder { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Interfaces\IXTestServiceProvider.cs using System; using xPushService.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; using xServices.Providers; namespace xServices.Interfaces { public interface IXTestServiceProvider : IXBaseDtoProvider { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Models\XGroupedData.cs using System; using System.Collections.Generic; using xModels.Base; namespace xServices.Models { public class XGroupedDataEntity where T : XBaseEntity { public TGroupedKey GroupedBy { set; get; } public IEnumerable Members { set; get; } public DateTime TimeStamp { set; get; } } public class XGroupedDataDto where T : XBaseDto { public TGroupedKey GroupedBy { set; get; } public IEnumerable Members { set; get; } public DateTime TimeStamp { set; get; } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Models\Dtos\XTestDto.cs using System; using xModels.Base; namespace xServices.Models.Dtos { public class XTestDto : XBaseEntityDto { public string Firstname { get; set; } public string Lastname { get; set; } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Models\Entities\XTest.cs using System; using xModels.Base; namespace xServices.Models.Entities { public class XTest : XBaseEntity { public string Firstname { get; set; } public string Lastname { get; set; } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Models\GraphQL\XTestGraphType.cs using System; using xDataService.GraphQL; using xServices.Models.Entities; namespace xServices.Models.GraphQL { public class XTestGraphType : XBaseGraphObjectType { public XTestGraphType() : base() { Field(x => x.Firstname); Field(x => x.Lastname); } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestDtoHub.cs using System; using Microsoft.Extensions.Logging; using xPushService.Base; using xServices.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; namespace xServices.Providers { public class XTestDtoHub : XBaseDtoHub, IXTestDtoHub { public XTestDtoHub(ILogger logger) : base(logger) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestEFRepository.cs using System; using xDataService.Configuration; using xDataService.Providers; using xDataService.Interfaces; using xServices.Databases; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestEFRepository : XBaseEFRepository, IXTestRepository { public XTestEFRepository( IXUnitOfWorks unitOfWorks, XDataServiceConfiguration configuration, IXTestKeyGenerator keyGenerator = null, IXTestRepositoryEvents baseRepositoryEvents = null ) : base( unitOfWorks, configuration, keyGenerator, baseRepositoryEvents ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestEntityHub.cs using System; using Microsoft.Extensions.Logging; using xPushService.Base; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestEntityHub : XBaseEntityHub, IXTestEntityHub { public XTestEntityHub(ILogger logger) : base(logger) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestGraphQLTypeHelper.cs using System; using xDataService.Configuration; using xDataService.GraphQL; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestGraphQLTypeHelper : XBaseGraphQLTypeHelper, IXTestGraphQLTypeHelper { public XTestGraphQLTypeHelper( XDataServiceConfiguration configuration ) : base(configuration) { } public override string GetInQueryCollectionName() { return "tests"; } public override string GetInQuerySingleName() { return "test"; } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestGraphQuery.cs using System; using GraphQL.Types; using xDataService.Configuration; using xDataService.GraphQL; using xServices.Interfaces; using xServices.Models.Entities; using xServices.Models.GraphQL; namespace xServices.Providers { public class XTestGraphQuery : XBaseGraphQLQuery { public XTestGraphQuery( XDataServiceConfiguration configuration, IXTestRepository repository, IXTestGraphQLTypeHelper helper ) : base( configuration, repository, helper ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestGraphSchema.cs using System; using GraphQL.Types; namespace xServices.Providers { public class XTestGraphSchema : Schema { public XTestGraphSchema(IServiceProvider services) : base(services) { Query = (XTestGraphQuery)services.GetService(typeof(XTestGraphQuery)); } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestInMemoryRepository.cs using System; using xDataService.Configuration; using xDataService.Providers; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestInMemoryRepository : XBaseInMemoryRepository { public XTestInMemoryRepository( XDataServiceConfiguration configuration, IXTestKeyGenerator keyGenerator = null, IXTestRepositoryEvents baseRepositoryEvents = null ) : base( configuration, keyGenerator, baseRepositoryEvents ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestKeyGenerator.cs using xDataService.Providers; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestKeyGenerator : XGuidKeyGenerator, IXTestKeyGenerator { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestMongoRepository.cs using System; using xDataService.Configuration; using xDataService.Providers; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestMongoRepository : XBaseMongoRepository { public XTestMongoRepository( XDataBaseConfiguration dbConfiguration, XDataServiceConfiguration configuration, string collectionName = null, IXTestKeyGenerator keyGenerator = null, IXTestRepositoryEvents baseRepositoryEvents = null ) : base( dbConfiguration, configuration, collectionName, keyGenerator, baseRepositoryEvents ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestProvider.cs using System; using xCommons.Extensions; using xIdentityModels.Models; using xPushService.Providers; using xServices.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; namespace xServices.Providers { public class XTestProvider : XBaseProvided, IXTestProvider { public XTestProvider( IXTestServiceProvider provider ) : base( provider, permittedRoles: new string[] { } ) { } public override bool IsOwned( XTestDto item, XUserClaimsInfoDto userInfo ) { return !item.IsNullOrDefault(); } public override bool IsOwned( XTest item, XUserClaimsInfoDto userInfo ) { return item.IsNullOrDefault(); } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestRepositoryEvents.cs using xDataService.Providers; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestRepositoryEvents : XBaseRepositoryEvents, IXTestRepositoryEvents { } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestRepositoryProvider.cs using System; using Microsoft.AspNetCore.SignalR; using xDataService.Configuration; using xIdentityService.Interfaces; using xPushService.Base; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestRepositoryProvider : XBaseEntityProvider, IXTestRepositoryProvider { public XTestRepositoryProvider( IXTestRepository repository, IHubContext hub, XDataServiceConfiguration dataConfiguration, IXIdentityProvider identityProvider = null ) : base( hub: hub, repository: repository, identityProvider: identityProvider, dataConfiguration: dataConfiguration ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestRepositoryService.cs using System; using System.Collections.Generic; using AutoMapper; using xDataService.Providers; using xServices.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; namespace xServices.Providers { public class XTestRepositoryService : XBaseRepositoryService, IXTestRepositoryService { public XTestRepositoryService( IXTestRepository repository, IEnumerable mapperProfiles = null ) : base(repository, mapperProfiles) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestSeeder.cs using System; using xDataService.Configuration; using xDataService.Providers; using xServices.Interfaces; using xServices.Models.Entities; namespace xServices.Providers { public class XTestSeeder : XBaseDbSeeder, IXTestSeeder { public XTestSeeder( IXTestRepository repository, XDataServiceConfiguration dataServiceConfiguration ) : base( database: "xApiDb", entity: nameof(XTest), repository: repository, dataServiceConfiguration: dataServiceConfiguration ) { } } } ### FILE: C:\Users\SaherElm\Documents\Projects\xSaherelmWorkspace\Modules\xServices\Providers\XTestServiceProvider.cs using System; using Microsoft.AspNetCore.SignalR; using xDataService.Configuration; using xIdentityService.Interfaces; using xPushService.Base; using xServices.Interfaces; using xServices.Models.Dtos; using xServices.Models.Entities; namespace xServices.Providers { public class XTestServiceProvider : XBaseDtoProvider, IXTestServiceProvider { public XTestServiceProvider( IHubContext hub, IXTestRepositoryService service, XDataServiceConfiguration dataConfiguration, IXIdentityProvider identityProvider = null ) : base( hub: hub, service: service, identityProvider: identityProvider, dataConfiguration: dataConfiguration ) { } } }