コード例 #1
0
        /// <summary>
        /// The Handle
        /// </summary>
        /// <param name="request">The request<see cref="SendServiceOutPutMessageCommand"/></param>
        /// <param name="cancellationToken">The cancellationToken<see cref="CancellationToken"/></param>
        /// <returns>The <see cref="Task{MessageProcessResponse}"/></returns>
        public async Task <MessageProcessResponse> Handle(SendServiceOutPutMessageCommand request, CancellationToken cancellationToken)
        {
            ICoreKeyVaultClient    keyVault               = app.ApplicationServices.GetRequiredService <ICoreKeyVaultClient>();
            IntegrationEvent       integrationEvent       = null;
            MessageProcessResponse messageProcessResponse = MessageProcessResponse.Abandon;

            try
            {
                request          = request ?? throw new ArgumentNullException(nameof(request));
                integrationEvent = PrepareOutputMessage(request.Items, request.Message);
                if (request.Status)
                {
                    await sendMngr.SendAsync(await keyVault.GetSecret(BusinessValidationConstants.KEYVAULT_BUSINESSVALIDATIONSUCCESSTOPIC), integrationEvent);

                    messageProcessResponse = MessageProcessResponse.Complete;
                }
                else
                {
                    integrationEvent.Body.ServiceOutput = new ServiceOutput();
                    await sendMngr.SendAsync(await keyVault.GetSecret(BusinessValidationConstants.ErrorTopicNameKeyName), integrationEvent);

                    messageProcessResponse = MessageProcessResponse.Complete;
                }
                return(messageProcessResponse);
            }
            catch (Exception ex)
            {
                integrationEvent = GetIntegrationEvent(request?.Message);
                integrationEvent.Body.ServiceOutput = new ServiceOutput();
                await sendMngr.SendAsync(await keyVault.GetSecret(BusinessValidationConstants.KEYVAULT_ERRORTOPICNAME), integrationEvent);

                Log.Error(ex.Message);
                return(MessageProcessResponse.Abandon);
            }
        }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ValidatedDisbsadCommandHandler"/> class.
 /// </summary>
 /// <param name="query">The query<see cref="IQueryFlow{Disbsad}"/></param>
 /// <param name="writer">The writer<see cref="IProjectionWriter"/></param>
 /// <param name="applicationBuilder">The applicationBuilder<see cref="IApplicationBuilder"/></param>
 public ValidatedDisbsadCommandHandler(IQueryFlow <Disbsad> query, IProjectionWriter writer, IApplicationBuilder applicationBuilder)
 {
     this.query         = query;
     this.writer        = writer;
     coreKeyVaultClient = applicationBuilder?.ApplicationServices.GetRequiredService <ICoreKeyVaultClient>();
     validator          = new DisbsadValidator();
 }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ValidatedBoalfCommandHandler"/> class.
        /// </summary>
        /// <param name="query">The query<see cref="IQueryFlow{Boalf}"/></param>
        /// <param name="applicationBuilder">The applicationBuilder<see cref="IApplicationBuilder"/></param>
        /// <param name="fileProcessService">The fileProcessService<see cref="IFileProcessService"/></param>
        public ValidatedBoalfCommandHandler(IQueryFlow <Boalf> query, IApplicationBuilder applicationBuilder, IFileProcessService fileProcessService)
        {
            this.query = query;
            if (applicationBuilder != null)
            {
                coreKeyVaultClient = applicationBuilder.ApplicationServices.GetRequiredService <ICoreKeyVaultClient>();
            }

            this.fileProcessService = fileProcessService;
        }
コード例 #4
0
        public static void RegisterBlob(this IServiceCollection services, ICoreKeyVaultClient keyVaultClient)
        {
            string storageAccount = Task.Run(async() => await keyVaultClient.GetSecret(BusinessValidationConstants.KEYVAULT_STORAGEACCOUNT)).Result;
            string storageKey     = Task.Run(async() => await keyVaultClient?.GetSecret(BusinessValidationConstants.KEYVAULT_STORAGEKEY)).Result;
            string containerName  = Task.Run(async() => await keyVaultClient?.GetSecret(BusinessValidationConstants.KEYVAULT_CONTAINERNAME)).Result;

            services.AddScoped <ICoreBlobStorage, CoreBlobStorage>(factory =>
            {
                return(new CoreBlobStorage(new CoreBlobSettings(storageAccount, storageKey, containerName)));
            });
        }
コード例 #5
0
        public static void RegisterServiceBus(this IServiceCollection services, ICoreKeyVaultClient keyVaultClient)
        {
            services.AddSingleton <ICoreMessageHeader, CoreMessageHeader>();
            string serviceBusConnectionString = Task.Run(async() => await keyVaultClient?.GetSecret(BusinessValidationConstants.KEYVAULT_SERVICEBUSCONNECTIONSTRING)).Result;
            string receiveTopic     = Task.Run(async() => await keyVaultClient?.GetSecret(BusinessValidationConstants.KEYVAULT_RECEIVETOPIC)).Result;
            string subscriptionName = Task.Run(async() => await keyVaultClient?.GetSecret(BusinessValidationConstants.KEYVAULT_SUBSCRIPTIONNAME)).Result;

            services.AddSingleton <ISendManager, SendManager>(_ => new SendManager(new CoreTopicSettings(serviceBusConnectionString)));
            services.AddSingleton <IReceiveManager, ReceiveManager>(_ =>
            {
                return(new ReceiveManager(new CoreSubscriptionSettings(serviceBusConnectionString, receiveTopic, subscriptionName)));
            });
        }
コード例 #6
0
 public static void RegisterDependencies(this IServiceCollection services, ICoreKeyVaultClient keyVaultClient)
 {
     services.AddScoped <ICoreHttpServiceClient, CoreHttpServiceClient>();
     services.AddScoped <IApplicationBuilder, ApplicationBuilder>();
     services.AddScoped <ICoreKeyVaultClient>(factory =>
     {
         return(keyVaultClient);
     });
     services.AddScoped <IQueryFlow <Bod>, QueryFlow <Bod> >();
     services.AddScoped <IQueryFlow <Boalf>, QueryFlow <Boalf> >();
     services.AddScoped <IQueryFlow <Netbsad>, QueryFlow <Netbsad> >();
     services.AddScoped <IQueryFlow <Disbsad>, QueryFlow <Disbsad> >();
     services.AddScoped <IQueryFlow <Fpn>, QueryFlow <Fpn> >();
     services.AddScoped <IProjectionWriter, ProjectionWriter>();
     services.AddScoped <IBusinessValidationStrategy, BodStrategy>();
     services.AddScoped <IBusinessValidationStrategy, NetbsadStrategy>();
     services.AddScoped <IBusinessValidationStrategy, DisbsadStrategy>();
     services.AddScoped <IBusinessValidationStrategy, FpnStrategy>();
     services.AddScoped <IGetStrategy, GetStrategy>();
     services.AddScoped <IFileProcessService, FileProcessService>();
 }
コード例 #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ValidatedFpnCommandHandler"/> class.
 /// </summary>
 /// <param name="query">The query<see cref="IQueryFlow{Fpn}"/></param>
 /// <param name="writer">The writer<see cref="IProjectionWriter"/></param>
 /// <param name="applicationBuilder">The applicationBuilder<see cref="IApplicationBuilder"/></param>
 public ValidatedFpnCommandHandler(IQueryFlow <Fpn> query, IProjectionWriter writer, IApplicationBuilder applicationBuilder)
 {
     _query              = query;
     _writer             = writer;
     _coreKeyVaultClient = applicationBuilder?.ApplicationServices.GetRequiredService <ICoreKeyVaultClient>();
 }
コード例 #8
0
 public DependencyConfigurationExtensionTest()
 {
     _service        = new ServiceCollection();
     _keyVaultClient = new MockCoreKeyVaultClients();
 }
コード例 #9
0
ファイル: ProjectionWriter.cs プロジェクト: babudondeti/Param
 /// <summary>
 /// Initializes a new instance of the <see cref="ProjectionWriter"/> class.
 /// </summary>
 /// <param name="applicationBuilder">The applicationBuilder<see cref="IApplicationBuilder"/></param>
 public ProjectionWriter(IApplicationBuilder applicationBuilder)
 {
     coreBlobStorage       = applicationBuilder?.ApplicationServices.GetRequiredService <ICoreBlobStorage>();
     coreKeyVaultClient    = applicationBuilder?.ApplicationServices.GetRequiredService <ICoreKeyVaultClient>();
     corehttpServiceClient = applicationBuilder?.ApplicationServices.GetRequiredService <ICoreHttpServiceClient>();
 }
コード例 #10
0
 public static void RegisterLogs(this IServiceCollection services, ICoreKeyVaultClient keyVaultClient)
 {
     Log.Init(Task.Run(async() => await keyVaultClient?.GetSecret(BusinessValidationConstants.KEYVAULT_APPLICATIONINSIGHTSKEY)).Result, BusinessValidationConstants.LOGGINGLEVEL,
              BusinessValidationConstants.BUSINESSVALIDATION, BusinessValidationConstants.BUSINESSVALIDATION);
 }
コード例 #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Startup"/> class.
 /// </summary>
 /// <param name="configuration">The configuration<see cref="IConfiguration"/></param>
 /// <param name="env">The env<see cref="Microsoft.AspNetCore.Hosting.IHostingEnvironment"/></param>
 public Startup()
 {
     AddEnvironmentVariables();
     keyVaultClient = new CoreKeyVaultClient(new CoreKeyVaultSettings(Configuration[BusinessValidationConstants.KeyVaultUri],
                                                                      Configuration[BusinessValidationConstants.KeyVaultClientId], Configuration[BusinessValidationConstants.KeyVaultClientSecret]));
 }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FileProcessService"/> class.
 /// </summary>
 /// <param name="query">The query<see cref="IQueryFlow{Boalf}"/></param>
 /// <param name="writer">The writer<see cref="IProjectionWriter"/></param>
 /// <param name="applicationBuilder">The applicationBuilder<see cref="IApplicationBuilder"/></param>
 public FileProcessService(IQueryFlow <Boalf> query, IProjectionWriter writer, IApplicationBuilder applicationBuilder)
 {
     this.query         = query;
     this.writer        = writer;
     coreKeyVaultClient = applicationBuilder?.ApplicationServices.GetRequiredService <ICoreKeyVaultClient>();
 }
コード例 #13
0
 public ServiceCollectionExtensionTest()
 {
     _service        = new ServiceCollection();
     _keyVaultClient = new MockCoreKeyVaultClients();
     _mockMediator   = new Mock <IMediator>();
 }