### 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
)
{ }
}
}