/// <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); } }
/// <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(); }
/// <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; }
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))); }); }
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))); }); }
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>(); }
/// <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>(); }
public DependencyConfigurationExtensionTest() { _service = new ServiceCollection(); _keyVaultClient = new MockCoreKeyVaultClients(); }
/// <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>(); }
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); }
/// <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])); }
/// <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>(); }
public ServiceCollectionExtensionTest() { _service = new ServiceCollection(); _keyVaultClient = new MockCoreKeyVaultClients(); _mockMediator = new Mock <IMediator>(); }