using BackOffice.BFF.Application.Common.Interfaces; using CMSMicroservice.Protobuf.Protos.Package; 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() where T : Grpc.Core.ClientBase { return _serviceProvider.GetService() ?? throw new Exception($"requested service not registered: {typeof(T).FullName}"); } #endregion public ApplicationContractContext(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } #region FM //public FileLogContract.FileLogContractClient FileManagements => GetService(); #endregion #region CMS public PackageContract.PackageContractClient Packages => GetService(); public FileInfoContract.FileInfoContractClient FileInfos => GetService(); #endregion }