diff --git a/Constants/ConfigurationNodeNames.cs b/Constants/ConfigurationNodeNames.cs index 0adf7a7..5f7d4f5 100644 --- a/Constants/ConfigurationNodeNames.cs +++ b/Constants/ConfigurationNodeNames.cs @@ -1,6 +1,6 @@ namespace xServices.Constants { - public struct ConfigurationNodeNames + public partial struct ConfigurationNodeNames { public const string SERVICES_NODE = "ServicesConfiguration"; } diff --git a/Controllers/XStringRepositoryController.cs b/Controllers/XStringRepositoryController.cs new file mode 100644 index 0000000..2af10a8 --- /dev/null +++ b/Controllers/XStringRepositoryController.cs @@ -0,0 +1,32 @@ +using System; +using System.Linq; +using Microsoft.EntityFrameworkCore.Query; +using Microsoft.Extensions.Logging; +using xCommons.Configurations; +using xCommons.Providers; +using xStringService.Controllers; +using xStringService.Interfaces.Entities; +using xStringService.Models.Entities; + +namespace xServices.Controllers +{ + public class XStringRepositoryController : XStringRepositoryControllerBase + { + public XStringRepositoryController( + ILogger logger, + XAppConfiguration appConfiguration, + XValidationProvider validationProvider, + IXStringRepository repository, + Func, IOrderedQueryable> defaultOrderBuilder = null, + Func, IIncludableQueryable> defaultIncludeBuilder = null + ) : base( + logger, + appConfiguration, + validationProvider, + repository, + defaultOrderBuilder, + defaultIncludeBuilder + ) + { } + } +} \ No newline at end of file diff --git a/Controllers/XStringRepositoryProviderController.cs b/Controllers/XStringRepositoryProviderController.cs new file mode 100644 index 0000000..b7122df --- /dev/null +++ b/Controllers/XStringRepositoryProviderController.cs @@ -0,0 +1,35 @@ +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.Entities; +using xStringService.Models.Entities; + +namespace xServices.Controllers +{ + public class XStringRepositoryProviderController : XStringRepositoryProviderControllerBase + { + public XStringRepositoryProviderController( + ILogger logger, + XAppConfiguration appConfiguration, + IXIdentityProvider identityProvider, + XValidationProvider validationProvider, + IXStringRepositoryProvider provider, + Func, IOrderedQueryable> defaultOrderBuilder = null, + Func, IIncludableQueryable> defaultIncludeBuilder = null + ) : base( + logger, + appConfiguration, + identityProvider, + validationProvider, + provider, + defaultOrderBuilder, + defaultIncludeBuilder + ) + { } + } +} \ No newline at end of file diff --git a/Controllers/XStringServiceController.cs b/Controllers/XStringServiceController.cs new file mode 100644 index 0000000..0f33cb1 --- /dev/null +++ b/Controllers/XStringServiceController.cs @@ -0,0 +1,32 @@ +using System; +using System.Linq; +using Microsoft.EntityFrameworkCore.Query; +using Microsoft.Extensions.Logging; +using xCommons.Configurations; +using xCommons.Providers; +using xStringService.Controllers; +using xStringService.Interfaces.Dtos; +using xStringService.Models.Entities; + +namespace xServices.Controllers +{ + public class XStringServiceController : XStringServiceControllerBase + { + public XStringServiceController( + ILogger logger, + XAppConfiguration appConfiguration, + XValidationProvider validationProvider, + IXStringRepositoryService repositoryService, + Func, IOrderedQueryable> defaultOrderBuilder = null, + Func, IIncludableQueryable> defaultIncludeBuilder = null + ) : base( + logger, + appConfiguration, + validationProvider, + repositoryService, + defaultOrderBuilder, + defaultIncludeBuilder + ) + { } + } +} \ No newline at end of file diff --git a/Controllers/XStringServiceProviderController.cs b/Controllers/XStringServiceProviderController.cs new file mode 100644 index 0000000..15c941f --- /dev/null +++ b/Controllers/XStringServiceProviderController.cs @@ -0,0 +1,35 @@ +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.Dtos; +using xStringService.Models.Entities; + +namespace xServices.Controllers +{ + public class XStringServiceProviderController : XStringServiceProviderControllerBase + { + public XStringServiceProviderController( + ILogger logger, + XAppConfiguration appConfiguration, + IXIdentityProvider identityProvider, + XValidationProvider validationProvider, + IXStringServiceProvider provider, + Func, IOrderedQueryable> defaultOrderBuilder = null, + Func, IIncludableQueryable> defaultIncludeBuilder = null + ) : base( + logger, + appConfiguration, + identityProvider, + validationProvider, + provider, + defaultOrderBuilder, + defaultIncludeBuilder + ) + { } + } +} \ No newline at end of file diff --git a/Controllers/XTermsAndConditionsController.cs b/Controllers/XTermsAndConditionsController.cs new file mode 100644 index 0000000..ce74712 --- /dev/null +++ b/Controllers/XTermsAndConditionsController.cs @@ -0,0 +1,27 @@ +using Microsoft.Extensions.Logging; +using xCommons.Configurations; +using xCommons.Providers; +using xIdentityService.Interfaces; +using xTermsAndConditionsService.Controllers; +using xTermsAndConditionsService.Interfaces; + +namespace xServices.Controllers +{ + public class XTermsAndConditionsController : XTermsAndComditionsControllerBase, IXTermsAndComditionsController + { + public XTermsAndConditionsController( + ILogger logger, + XAppConfiguration appConfiguration, + IXIdentityProvider identityProvider, + IXTermsAndComditionsProvider provider, + XValidationProvider validationProvider + ) : base( + logger, + appConfiguration, + identityProvider, + provider, + validationProvider + ) + { } + } +} \ No newline at end of file diff --git a/DI/XDIHelperExtension.cs b/DI/XDIHelperExtension.cs index fcd86f0..fcdd298 100644 --- a/DI/XDIHelperExtension.cs +++ b/DI/XDIHelperExtension.cs @@ -17,6 +17,7 @@ using xServices.Interfaces; using xServices.Providers; using xStorageService.DI; using xStringService.DI; +using xTermsAndConditionsService.DI; namespace xServices.DI { @@ -187,6 +188,10 @@ namespace xServices.DI app.UseXStringService( isDevelopmentEnvironment: isDevelopmentEnvironment ); + + // + // Using Terms and Conditions Service ... + app.UseXTermsAndConditionsService(); } // @@ -274,11 +279,18 @@ namespace xServices.DI #endregion // - // String Service ... + // Register String Service ... services.AddXStringService( lifeTime: lifeTime, repositoryType: xDataService.Constants.XRepositoryType.EF ); + + // + // Register Terms and Conditions Service ... + services.AddXTermsConditionsService( + lifeTime: lifeTime, + configuration: configuration + ); } #endregion } diff --git a/Databases/XApiDatabaseDescriptor.cs b/Databases/XApiDatabaseDescriptor.cs index 188289e..9af9280 100644 --- a/Databases/XApiDatabaseDescriptor.cs +++ b/Databases/XApiDatabaseDescriptor.cs @@ -34,8 +34,8 @@ namespace xServices.Databases IXTestRepository, XTestEFRepository, XApiDbContext, - IXTestDbSeeder, - XTestDbSeeder + IXTestSeeder, + XTestSeeder > {} } diff --git a/Databases/XApiDbContext.cs b/Databases/XApiDbContext.cs index e53613b..f848ef3 100644 --- a/Databases/XApiDbContext.cs +++ b/Databases/XApiDbContext.cs @@ -1,7 +1,10 @@ using Microsoft.EntityFrameworkCore; using xDataService.Configuration; using xDataService.Db; +using xDataService.Providers; using xServices.Models.Entities; +using xStringService.Providers; +// using xStringService.Models.Entities; namespace xServices.Databases { @@ -18,8 +21,16 @@ namespace xServices.Databases public XApiDbContext( DbContextOptions options, - XDataServiceConfiguration config - ) : base(options, config) { } + XDataServiceConfiguration config, + XEntityRegisterarHandlerService dynamicEntityHandlers + ) : base( + "xApiDb", + options, + config, + dynamicEntityHandlers, + new string[] { nameof(XStringEntityRegisterar) } + ) + { } // public override void OnXModelCreating(ModelBuilder modelBuilder) diff --git a/Interfaces/IXTestDbSeeder.cs b/Interfaces/IXTestSeeder.cs similarity index 64% rename from Interfaces/IXTestDbSeeder.cs rename to Interfaces/IXTestSeeder.cs index f5abb24..b39c477 100644 --- a/Interfaces/IXTestDbSeeder.cs +++ b/Interfaces/IXTestSeeder.cs @@ -4,6 +4,6 @@ using xServices.Models.Entities; namespace xServices.Interfaces { - public interface IXTestDbSeeder : IXBaseDbSeeder + public interface IXTestSeeder : IXBaseDbSeeder { } } \ No newline at end of file diff --git a/Providers/XTestDbSeeder.cs b/Providers/XTestSeeder.cs similarity index 82% rename from Providers/XTestDbSeeder.cs rename to Providers/XTestSeeder.cs index 6fac3b6..8363161 100644 --- a/Providers/XTestDbSeeder.cs +++ b/Providers/XTestSeeder.cs @@ -6,9 +6,9 @@ using xServices.Models.Entities; namespace xServices.Providers { - public class XTestDbSeeder : XBaseDbSeeder, IXTestDbSeeder + public class XTestSeeder : XBaseDbSeeder, IXTestSeeder { - public XTestDbSeeder( + public XTestSeeder( IXTestRepository repository, XDataServiceConfiguration dataServiceConfiguration ) : base( diff --git a/xServices.csproj b/xServices.csproj index 9f481fe..b177256 100644 --- a/xServices.csproj +++ b/xServices.csproj @@ -38,5 +38,6 @@ + \ No newline at end of file