69 lines
3.6 KiB
C#
69 lines
3.6 KiB
C#
using BackOffice.BFF.Application.Common.Interfaces;
|
|
using CMSMicroservice.Protobuf.Protos.Package;
|
|
using CMSMicroservice.Protobuf.Protos.Role;
|
|
using CMSMicroservice.Protobuf.Protos.User;
|
|
using CMSMicroservice.Protobuf.Protos.UserAddress;
|
|
using CMSMicroservice.Protobuf.Protos.UserOrder;
|
|
using CMSMicroservice.Protobuf.Protos.UserRole;
|
|
using CMSMicroservice.Protobuf.Protos.Products;
|
|
using CMSMicroservice.Protobuf.Protos.ProductImages;
|
|
using CMSMicroservice.Protobuf.Protos.ProductGallerys;
|
|
using CMSMicroservice.Protobuf.Protos.Category;
|
|
using CMSMicroservice.Protobuf.Protos.PruductCategory;
|
|
using BackOffice.BFF.Commission.Protobuf;
|
|
using BackOffice.BFF.NetworkMembership.Protobuf;
|
|
using BackOffice.BFF.ClubMembership.Protobuf;
|
|
using BackOffice.BFF.Configuration.Protobuf;
|
|
using FMSMicroservice.Protobuf.Protos.FileInfo;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace BackOffice.BFF.Infrastructure.Services;
|
|
|
|
public class ApplicationContractContext : IApplicationContractContext
|
|
{
|
|
#region members
|
|
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
#endregion
|
|
|
|
|
|
#region utilities
|
|
|
|
private T GetService<T>() where T : Grpc.Core.ClientBase<T>
|
|
{
|
|
return _serviceProvider.GetService<T>() ??
|
|
throw new Exception($"requested service not registered: {typeof(T).FullName}");
|
|
}
|
|
|
|
#endregion
|
|
|
|
public ApplicationContractContext(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
#region FM
|
|
public FileInfoContract.FileInfoContractClient FileInfos => GetService<FileInfoContract.FileInfoContractClient>();
|
|
#endregion
|
|
#region CMS
|
|
public PackageContract.PackageContractClient Packages => GetService<PackageContract.PackageContractClient>();
|
|
public ProductsContract.ProductsContractClient Products => GetService<ProductsContract.ProductsContractClient>();
|
|
public ProductImagesContract.ProductImagesContractClient ProductImages => GetService<ProductImagesContract.ProductImagesContractClient>();
|
|
public ProductGallerysContract.ProductGallerysContractClient ProductGallerys => GetService<ProductGallerysContract.ProductGallerysContractClient>();
|
|
public RoleContract.RoleContractClient Roles => GetService<RoleContract.RoleContractClient>();
|
|
public CategoryContract.CategoryContractClient Categories => GetService<CategoryContract.CategoryContractClient>();
|
|
public PruductCategoryContract.PruductCategoryContractClient ProductCategories => GetService<PruductCategoryContract.PruductCategoryContractClient>();
|
|
public UserAddressContract.UserAddressContractClient UserAddress => GetService<UserAddressContract.UserAddressContractClient>();
|
|
public UserContract.UserContractClient Users => GetService<UserContract.UserContractClient>();
|
|
public UserOrderContract.UserOrderContractClient UserOrders => GetService<UserOrderContract.UserOrderContractClient>();
|
|
public UserRoleContract.UserRoleContractClient UserRoles => GetService<UserRoleContract.UserRoleContractClient>();
|
|
|
|
// Network & Commission System
|
|
public CommissionContract.CommissionContractClient Commissions => GetService<CommissionContract.CommissionContractClient>();
|
|
public NetworkMembershipContract.NetworkMembershipContractClient NetworkMemberships => GetService<NetworkMembershipContract.NetworkMembershipContractClient>();
|
|
public ClubMembershipContract.ClubMembershipContractClient ClubMemberships => GetService<ClubMembershipContract.ClubMembershipContractClient>();
|
|
public ConfigurationContract.ConfigurationContractClient Configurations => GetService<ConfigurationContract.ConfigurationContractClient>();
|
|
#endregion
|
|
}
|