Files
BackOffice.BFF/src/BackOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs

55 lines
2.4 KiB
C#
Raw Normal View History

2025-09-28 15:24:13 +03:30
using BackOffice.BFF.Application.Common.Interfaces;
using CMSMicroservice.Protobuf.Protos.Package;
2025-09-28 18:54:22 +03:30
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;
2025-11-26 23:11:00 +03:30
using CMSMicroservice.Protobuf.Protos.Products;
2025-11-27 03:14:43 +03:30
using CMSMicroservice.Protobuf.Protos.ProductImages;
using CMSMicroservice.Protobuf.Protos.ProductGallerys;
2025-09-28 15:24:13 +03:30
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
2025-09-28 18:54:22 +03:30
public FileInfoContract.FileInfoContractClient FileInfos => GetService<FileInfoContract.FileInfoContractClient>();
2025-09-28 15:24:13 +03:30
#endregion
#region CMS
public PackageContract.PackageContractClient Packages => GetService<PackageContract.PackageContractClient>();
2025-11-26 23:11:00 +03:30
public ProductsContract.ProductsContractClient Products => GetService<ProductsContract.ProductsContractClient>();
2025-11-27 03:14:43 +03:30
public ProductImagesContract.ProductImagesContractClient ProductImages => GetService<ProductImagesContract.ProductImagesContractClient>();
public ProductGallerysContract.ProductGallerysContractClient ProductGallerys => GetService<ProductGallerysContract.ProductGallerysContractClient>();
2025-09-28 18:54:22 +03:30
public RoleContract.RoleContractClient Roles => GetService<RoleContract.RoleContractClient>();
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>();
2025-09-28 15:24:13 +03:30
#endregion
2025-11-26 23:11:00 +03:30
}