Files
FrontOffice.BFF/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs
T
masoodafar-web a189340aac
Build and Deploy to Production / build-and-deploy (push) Successful in 2m49s
feat(AppVersion): Add BFF handler for AppVersion
- Add GetAppVersionQuery and Handler in Application layer
- Add AppVersionGrpcService in WebApi
- Add AppVersion to IApplicationContractContext and ApplicationContractContext
- Update CMSMicroservice.Protobuf to 0.0.158
2025-12-25 19:07:16 +03:30

104 lines
5.6 KiB
C#

using CMSMicroservice.Protobuf.Protos.Category;
using CMSMicroservice.Protobuf.Protos.OtpToken;
using CMSMicroservice.Protobuf.Protos.Package;
using CMSMicroservice.Protobuf.Protos.ProductCategory;
using CMSMicroservice.Protobuf.Protos.Products;
using CMSMicroservice.Protobuf.Protos.ProductGalleries;
using CMSMicroservice.Protobuf.Protos.ProductImages;
using CMSMicroservice.Protobuf.Protos.User;
using CMSMicroservice.Protobuf.Protos.UserAddress;
using CMSMicroservice.Protobuf.Protos.UserCarts;
using CMSMicroservice.Protobuf.Protos.Commission;
using CMSMicroservice.Protobuf.Protos.Configuration;
using CMSMicroservice.Protobuf.Protos.AppVersion;
using CMSMicroservice.Protobuf.Protos.UserContract;
using CMSMicroservice.Protobuf.Protos.UserOrder;
using CMSMicroservice.Protobuf.Protos.UserWallet;
using CMSMicroservice.Protobuf.Protos.UserWalletChangeLog;
using CMSMicroservice.Protobuf.Protos.ClubMembership;
using CMSMicroservice.Protobuf.Protos.NetworkMembership;
using CMSMicroservice.Protobuf.Protos.DiscountProduct;
using CMSMicroservice.Protobuf.Protos.DiscountCategory;
using CMSMicroservice.Protobuf.Protos.DiscountShoppingCart;
using CMSMicroservice.Protobuf.Protos.DiscountOrder;
using CMSMicroservice.Protobuf.Protos.City;
using FrontOffice.BFF.Application.Common.Interfaces;
using Microsoft.Extensions.DependencyInjection;
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.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 FileLogContract.FileLogContractClient FileManagements => GetService<FileLogContract.FileLogContractClient>();
#endregion
#region CMS
public PackageContract.PackageContractClient Package => GetService<PackageContract.PackageContractClient>();
public ProductsContract.ProductsContractClient Product => GetService<ProductsContract.ProductsContractClient>();
public ProductGalleriesContract.ProductGalleriesContractClient ProductGalleries => GetService<ProductGalleriesContract.ProductGalleriesContractClient>();
public ProductImagesContract.ProductImagesContractClient ProductImages => GetService<ProductImagesContract.ProductImagesContractClient>();
public CategoryContract.CategoryContractClient Category => GetService<CategoryContract.CategoryContractClient>();
public ProductCategoryContract.ProductCategoryContractClient ProductCategory => GetService<ProductCategoryContract.ProductCategoryContractClient>();
public UserCartsContract.UserCartsContractClient UserCart => GetService<UserCartsContract.UserCartsContractClient>();
public UserContract.UserContractClient User => GetService<UserContract.UserContractClient>();
public UserContractContract.UserContractContractClient UserContract => GetService<UserContractContract.UserContractContractClient>();
public UserAddressContract.UserAddressContractClient UserAddress => GetService<UserAddressContract.UserAddressContractClient>();
public UserOrderContract.UserOrderContractClient UserOrder => GetService<UserOrderContract.UserOrderContractClient>();
public OtpTokenContract.OtpTokenContractClient OtpToken => GetService<OtpTokenContract.OtpTokenContractClient>();
public UserWalletContract.UserWalletContractClient UserWallet => GetService<UserWalletContract.UserWalletContractClient>();
public UserWalletChangeLogContract.UserWalletChangeLogContractClient UserWalletChangeLog => GetService<UserWalletChangeLogContract.UserWalletChangeLogContractClient>();
public ConfigurationContract.ConfigurationContractClient Configuration => GetService<ConfigurationContract.ConfigurationContractClient>();
public CommissionContract.CommissionContractClient Commission => GetService<CommissionContract.CommissionContractClient>();
// Network & Club System
public ClubMembershipContract.ClubMembershipContractClient ClubMemberships => GetService<ClubMembershipContract.ClubMembershipContractClient>();
public NetworkMembershipContract.NetworkMembershipContractClient NetworkMemberships => GetService<NetworkMembershipContract.NetworkMembershipContractClient>();
// Discount Shop System
public DiscountProductContract.DiscountProductContractClient DiscountProducts => GetService<DiscountProductContract.DiscountProductContractClient>();
public DiscountCategoryContract.DiscountCategoryContractClient DiscountCategories => GetService<DiscountCategoryContract.DiscountCategoryContractClient>();
public DiscountShoppingCartContract.DiscountShoppingCartContractClient DiscountCart => GetService<DiscountShoppingCartContract.DiscountShoppingCartContractClient>();
public DiscountOrderContract.DiscountOrderContractClient DiscountOrders => GetService<DiscountOrderContract.DiscountOrderContractClient>();
// Geography System (GMS)
public CityContract.CityContractClient Cities => GetService<CityContract.CityContractClient>();
// App Version System
public AppVersionContract.AppVersionContractClient AppVersion => GetService<AppVersionContract.AppVersionContractClient>();
#endregion
#region PYMS
public TransactionContract.TransactionContractClient ZarinTransactions => GetService<TransactionContract.TransactionContractClient>();
#endregion
}