public TransactionPriorityManagerUnitTest()
        {
            _transactionPriorityRepository = new Mock <ITransactionPriorityRepository>();
            _logger = new Mock <ILogger <TransactionPriorityManager> >();
            var tenanentKey = new Guid().ToString();

            _executionContextAccessor = new ExecutionContextAccessor()
            {
                Current = new Context()
                {
                    Tenant = new TenantContext(tenanentKey)
                }
            };
            _unitOfWork = new Mock <IUnitOfWork>();
            _transactionPrioritySmartSortRepository = new Mock <ITransactionPrioritySmartSortRepository>();
            _smartSortRepository = new Mock <ISmartSortRepository>();
            _eventbus            = new Mock <IEventBus>();
            _option = new Mock <IOptions <Configuration> >();
            _mapper = new Mock <IMapper>();
            _option.SetupGet(x => x.Value).Returns(new Configuration()
            {
                RoutingRule         = "xyz",
                TransactionPriority = "xyz"
            });
        }
Exemplo n.º 2
0
 public ElasticDbContext(IServiceProvider servideProvider)
 {
     _executionContextAccessor = servideProvider.GetService <IExecutionContextAccessor>();
     _configuration            = servideProvider.GetService <IConfiguration>();
     _logger            = servideProvider.GetService <ILogger <ElasticDbContext> >();
     _tenantMapAccessor = servideProvider.GetService <ITenantMapAccessor <string> >();
 }
Exemplo n.º 3
0
        public FacilityLogisticsConfigurationControllerUnitTest()
        {
            _business = new Mock <IFacilityLogisticsConfiguration>();
            _logger   = new Mock <ILogger <FacilityLogisticsConfigurationController> >();

            string facilitykey  = "BF521211-CEAF-4DCA-82C7-40446D4C46ED";
            string facilityCode = "BF521211-CEAF-4DCA-82C7-40446D4C46ED";

            accessor = new ExecutionContextAccessor()
            {
                Current = new Context()
                {
                    Facility = new FacilityContext(facilitykey, facilityCode)
                }
            };
            _controller = new FacilityLogisticsConfigurationController(_business.Object, accessor, _logger.Object);
            //
            var request = new Mock <HttpRequest>();

            request.SetupGet(x => x.Headers["X-Requested-With"]).Returns("XMLHttpRequest");

            var context = new Mock <HttpContext>();

            context.SetupGet(x => x.Request).Returns(request.Object);

            //
            RouteValueDictionary routeDictionary = new RouteValueDictionary();

            routeDictionary.Add("facilitykey", Guid.Parse(facilitykey));
            _controller.ControllerContext = new ControllerContext(new ActionContext(context.Object, new RouteData(routeDictionary), new ControllerActionDescriptor()));
        }
Exemplo n.º 4
0
 public GetAuthenticatedUserQueryHandler(
     ISqlConnectionFactory sqlConnectionFactory,
     IExecutionContextAccessor executionContextAccessor)
 {
     _sqlConnectionFactory     = sqlConnectionFactory;
     _executionContextAccessor = executionContextAccessor;
 }
Exemplo n.º 5
0
        private static void ConfigureContainer(
            string connectionString,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger,
            IEventsBus eventsBus)
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule(new LoggingModule(logger));

            var loggerFactory = new SerilogLoggerFactory(logger);

            containerBuilder.RegisterModule(new DataAccessModule(connectionString, loggerFactory));

            containerBuilder.RegisterModule(new ProcessingModule());
            containerBuilder.RegisterModule(new EventsBusModule(eventsBus));
            containerBuilder.RegisterModule(new MediatorModule());
            containerBuilder.RegisterModule(new AuthenticationModule());

            var domainNotificationsMap = new BiDictionary <string, Type>();

            domainNotificationsMap.Add("MeetingGroupProposalAcceptedNotification", typeof(MeetingGroupProposalAcceptedNotification));
            containerBuilder.RegisterModule(new OutboxModule(domainNotificationsMap));

            containerBuilder.RegisterModule(new QuartzModule());

            containerBuilder.RegisterInstance(executionContextAccessor);

            _container = containerBuilder.Build();

            AdministrationCompositionRoot.SetContainer(_container);
        }
Exemplo n.º 6
0
 public LoggingMiddleware(RequestDelegate next,
                          ILogger logger, IExecutionContextAccessor executionContextAccessor)
 {
     _next   = next;
     _logger = logger;
     _executionContextAccessor = executionContextAccessor;
 }
 public GetAuthenticationMemberMeetingGroupsQueryHandler(
     ISqlConnectionFactory sqlConnectionFactory,
     IExecutionContextAccessor executionContextAccessor)
 {
     _sqlConnectionFactory     = sqlConnectionFactory;
     _executionContextAccessor = executionContextAccessor;
 }
        public ServiceHostGrpcServiceFactory(IExecutionContextAccessor executionContextAccessor, IOptions <ServiceProxyApplicationOptions> options, ILoggerFactory?loggerFactory)
        {
            if (executionContextAccessor == null)
            {
                throw new ArgumentNullException(nameof(executionContextAccessor));
            }

            if (options?.Value == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var baseUrl =
                options.Value.ServiceBaseUrl ??
                throw new ArgumentException($"{nameof(ServiceProxyApplicationOptions.ServiceBaseUrl)} must be specified.", nameof(options));

            var channelOptions = new GrpcChannelOptions
            {
                LoggerFactory = loggerFactory ?? NullLoggerFactory.Instance,
                // https://github.com/grpc/grpc-dotnet/issues/407#issuecomment-529705056
                ThrowOperationCanceledOnCancellation = true
            };

            _channel       = GrpcChannel.ForAddress(baseUrl, channelOptions);
            _callInvoker   = _channel.Intercept(new CaptureExecutionContextInterceptor(executionContextAccessor));
            _clientFactory = ClientFactory.Create(ServiceHostContractSerializer.CreateBinderConfiguration());
        }
Exemplo n.º 9
0
        private static void ConfigureCompositionRoot(
            string connectionString,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger,
            EmailsConfiguration emailsConfiguration,
            IEventsBus eventsBus,
            IEmailSender emailSender)
        {
            var builder = new ContainerBuilder();

            builder.RegisterModule(new LoggingModule(logger.ForContext("Module", "Matches")));

            var loggerFactory = new SerilogLoggerFactory(logger);


            builder.RegisterModule(new DataAccessModule(connectionString, loggerFactory));
            builder.RegisterModule(new DomainModule());
            builder.RegisterModule(new ProcessingModule());
            builder.RegisterModule(new EventsBusModule(eventsBus));
            builder.RegisterModule(new MediatorModule());
            builder.RegisterModule(new OutboxModule());
            builder.RegisterModule(new EmailModule(emailsConfiguration, emailSender));
            builder.RegisterModule(new QuartzModule());
            builder.RegisterModule(new IntegrationModule());
            //TODO: Add Integration Events Events

            builder.RegisterInstance(executionContextAccessor);

            _container = builder.Build();

            MatchesCompositionRoot.SetContainer(_container);
        }
 public HasPermissionAuthorizationHandler(
     IExecutionContextAccessor executionContextAccessor,
     IUserAccessModule userAccessModule)
 {
     _executionContextAccessor = executionContextAccessor;
     _userAccessModule         = userAccessModule;
 }
Exemplo n.º 11
0
        private static void ConfigureCompositionRoot(
            string connectionString,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger,
            EmailsConfiguration emailsConfiguration,
            string textEncryptionKey,
            IEventsBus eventsBus,
            IEmailSender emailSender,
            bool runQuartz = true)
        {
            var builder = new ContainerBuilder();

            builder.RegisterModule(new LoggingModule(logger.ForContext("Module", "Phrases")));

            var loggerFactory = new Serilog.Extensions.Logging.SerilogLoggerFactory(logger);

            builder.RegisterModule(new DataAccessModule(connectionString, loggerFactory));
            builder.RegisterModule(new DomainModule());
            builder.RegisterModule(new ProcessingModule());
            builder.RegisterModule(new EventsBusModule(eventsBus));
            builder.RegisterModule(new MediatorModule());
            builder.RegisterModule(new OutboxModule());
            builder.RegisterModule(new EmailModule(emailsConfiguration, emailSender));
            builder.RegisterModule(new QuartzModule());

            builder.RegisterInstance(executionContextAccessor);

            _container = builder.Build();

            PhrasesCompositionRoot.SetContainer(_container);
        }
Exemplo n.º 12
0
        public static void Initialize(string connectionString,
                                      IExecutionContextAccessor executionContextAccessor,
                                      ILogger logger,
                                      EmailsConfiguration emailsConfiguration,
                                      string textEncryptionKey,
                                      IEmailSender emailSender,
                                      IEventsBus eventsBus,
                                      bool runQuartz = true)
        {
            var moduleLogger = logger.ForContext("Module", "Matches");

            ConfigureCompositionRoot(connectionString,
                                     executionContextAccessor,
                                     logger,
                                     emailsConfiguration,
                                     textEncryptionKey,
                                     eventsBus,
                                     emailSender,
                                     runQuartz);

            if (runQuartz)
            {
                QuartzStartup.Initialize(moduleLogger);
            }

            EventsBusStartup.Initialize(moduleLogger);
        }
        private static void ConfigureCompositionRoot(
            string connectionString,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger,
            IEventsBus eventsBus,
            bool runQuartz = true)
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule(new LoggingModule(logger));

            var loggerFactory = new SerilogLoggerFactory(logger);

            containerBuilder.RegisterModule(new DataAccessModule(connectionString, loggerFactory));

            containerBuilder.RegisterModule(new ProcessingModule());
            containerBuilder.RegisterModule(new EventsBusModule(eventsBus));
            containerBuilder.RegisterModule(new MediatorModule());
            containerBuilder.RegisterModule(new AuthenticationModule());
            containerBuilder.RegisterModule(new OutboxModule());

            if (runQuartz)
            {
                containerBuilder.RegisterModule(new QuartzModule());
            }

            containerBuilder.RegisterInstance(executionContextAccessor);

            _container = containerBuilder.Build();

            PaymentsCompositionRoot.SetContainer(_container);

            RunEventsProjectors();
        }
Exemplo n.º 14
0
        private static IServiceProvider ConfigureCompositorRoot(
            IServiceCollection services,
            string connectionString,
            string secretKey,
            int tokenExpire,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger)
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.Populate(services);

            containerBuilder.RegisterModule(new LoggingModule(logger.ForContext("Module", "Application")));
            containerBuilder.RegisterModule(new DataAccessModule(connectionString, new SerilogLoggerFactory(logger)));
            containerBuilder.RegisterModule(new MediatorModule());
            containerBuilder.RegisterModule(new AuthModule(secretKey, tokenExpire));

            containerBuilder.RegisterInstance(executionContextAccessor);

            var buildContainer = containerBuilder.Build();

            ServiceLocator.SetLocatorProvider(() => new AutofacServiceLocator(buildContainer));

            var serviceProvider = new AutofacServiceProvider(buildContainer);

            CompositionRoot.SetContainer(buildContainer);

            return(serviceProvider);
        }
Exemplo n.º 15
0
        private static IServiceProvider CreateAutofacServiceProvider(
            IServiceCollection services,
            string connectionString,
            ILogger logger,
            IExecutionContextAccessor executionContextAccessor)
        {
            var container = new ContainerBuilder();

            container.Populate(services);

            container.RegisterModule(new LoggingModule(logger));
            container.RegisterModule(new DataAccessModule(connectionString));
            container.RegisterModule(new MediatorModule());
            container.RegisterModule(new DomainModule());

            container.RegisterModule(new ProcessingModule());

            container.RegisterInstance(executionContextAccessor);

            var buildContainer = container.Build();

            ServiceLocator.SetLocatorProvider(() => new AutofacServiceLocator(buildContainer));

            var serviceProvider = new AutofacServiceProvider(buildContainer);

            CompositionRoot.SetContainer(buildContainer);

            return(serviceProvider);
        }
Exemplo n.º 16
0
 public CommandsController(
     IMediator mediator,
     IExecutionContextAccessor contextAccessor)
 {
     _mediator        = mediator;
     _contextAccessor = contextAccessor ?? throw new ArgumentNullException(nameof(contextAccessor));
 }
        private static void ConfigureCompositionRoot(
            string connectionString,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger,
            EmailsConfiguration emailsConfiguration,
            string textEncryptionKey,
            IEmailSender emailSender)
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule(new LoggingModule(logger.ForContext("Module", "UserAccess")));

            var loggerFactory = new SerilogLoggerFactory(logger);

            containerBuilder.RegisterModule(new DataAccessModule(connectionString, loggerFactory));
            containerBuilder.RegisterModule(new DomainModule());
            containerBuilder.RegisterModule(new ProcessingModule());
            containerBuilder.RegisterModule(new EventsBusModule());
            containerBuilder.RegisterModule(new MediatorModule());
            containerBuilder.RegisterModule(new OutboxModule());
            containerBuilder.RegisterModule(new QuartzModule());
            containerBuilder.RegisterModule(new EmailModule(emailsConfiguration, emailSender));
            containerBuilder.RegisterModule(new SecurityModule(textEncryptionKey));

            containerBuilder.RegisterInstance(executionContextAccessor);

            _container = containerBuilder.Build();

            UserAccessCompositionRoot.SetContainer(_container);
        }
Exemplo n.º 18
0
        public PhraseApiClient(HttpClient httpClient, IOptions <UrlsConfig> config, IExecutionContextAccessor executionContextAccessor)
        {
            _httpClient = httpClient;
            _urls       = config.Value;

            _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", executionContextAccessor.GetTokenAsync().Result);
        }
Exemplo n.º 19
0
 public static void Initialize(
     string connectionString,
     IExecutionContextAccessor executionContextAccessor)
 {
     ConfigureCompositionRoot(
         connectionString, executionContextAccessor);
 }
        public static IServiceProvider Initialize(
            IServiceCollection services,
            string connectionString,
            ICacheStore cacheStore,
            IEmailSender emailSender,
            EmailsSettings emailsSettings,
            ILogger logger,
            IExecutionContextAccessor executionContextAccessor,
            bool runQuartz = true)
        {
            if (runQuartz)
            {
                StartQuartz(connectionString, emailsSettings, logger, executionContextAccessor);
            }

            services.AddSingleton(cacheStore);

            var serviceProvider = CreateAutofacServiceProvider(
                services,
                connectionString,
                emailSender,
                emailsSettings,
                logger,
                executionContextAccessor);

            return(serviceProvider);
        }
Exemplo n.º 21
0
        private static void ConfigureCompositionRoot(
            string connectionString,
            IExecutionContextAccessor executionContextAccessor,
            ILogger logger,
            EmailsConfiguration emailsConfiguration)
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule(new LoggingModule(logger.ForContext("Module", "Meetings")));

            var loggerFactory = new SerilogLoggerFactory(logger);

            containerBuilder.RegisterModule(new DataAccessModule(connectionString, loggerFactory));

            containerBuilder.RegisterModule(new ProcessingModule());
            containerBuilder.RegisterModule(new EventsBusModule());
            containerBuilder.RegisterModule(new MediatorModule());
            containerBuilder.RegisterModule(new AuthenticationModule());
            containerBuilder.RegisterModule(new OutboxModule());
            containerBuilder.RegisterModule(new EmailModule(emailsConfiguration));
            containerBuilder.RegisterModule(new QuartzModule());

            containerBuilder.RegisterInstance(executionContextAccessor);

            _container = containerBuilder.Build();

            MeetingsCompositionRoot.SetContainer(_container);
        }
Exemplo n.º 22
0
 public SmartSortManager(ISmartSortRepository smartSortRepository, IExecutionContextAccessor executionContextAccessor
                         , IUnitOfWork unitOfWork, ILogger <TransactionPriorityManager> logger)
 {
     _smartSortRepository      = smartSortRepository;
     _executionContextAccessor = executionContextAccessor;
     _unitOfWork = unitOfWork;
 }
        public RoutingRuleBusinessTest()
        {
            _mockRoutingRuleRepository = new Mock <IRoutingRuleRepository>();
            _mockScheduleBusiness      = new Mock <IScheduleBusiness>();
            var mockMapper = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new MapRoutingRule());
            });

            _mapper   = mockMapper.CreateMapper();
            _logger   = new Mock <ILogger <RoutingRuleManager> >();
            _eventbus = new Mock <IEventBus>();
            _option   = new Mock <IOptions <Configuration> >();
            _option.SetupGet(x => x.Value).Returns(new Configuration()
            {
                RoutingRule         = "xyz",
                TransactionPriority = "xyz"
            });
            _unitofwork = new Mock <IUnitOfWork>();
            var tenanentKey  = new Guid().ToString();
            var facilityCode = new Guid().ToString();
            var facilityKey  = new Guid().ToString();

            _executionContextAccessor = new ExecutionContextAccessor()
            {
                Current = new Context()
                {
                    Tenant = new TenantContext(tenanentKey), Facility = new FacilityContext(facilityKey, facilityCode)
                }
            };

            _routingRuleManager = new RoutingRuleManager(_mockRoutingRuleRepository.Object, _executionContextAccessor, _unitofwork.Object, _logger.Object, _mockScheduleBusiness.Object, _mapper, _eventbus.Object
                                                         , _option.Object);
        }
Exemplo n.º 24
0
 public LoggingCommandHandlerDecorator(ILogger logger,
                                       IExecutionContextAccessor executionContextAccessor,
                                       ICommandHandler <TCommand> decorated)
 {
     _logger = logger;
     _executionContextAccessor = executionContextAccessor;
     _decorated = decorated;
 }
Exemplo n.º 25
0
        private static void StartQuartz(
            string connectionString,
            EmailsSettings emailsSettings,
            AzureBlobStorageSettings blobStorageSettings,
            ILogger logger,
            IExecutionContextAccessor executionContextAccessor,
            IUserAuthIdProvider userAuthIdProvider)
        {
            var schedulerFactory = new StdSchedulerFactory();
            var scheduler        = schedulerFactory.GetScheduler().GetAwaiter().GetResult();

            var container = new ContainerBuilder();

            container.RegisterModule(new LoggingModule(logger));
            container.RegisterModule(new QuartzModule());
            container.RegisterModule(new MediatorModule());
            container.RegisterModule(new DataAccessModule(connectionString));
            container.RegisterModule(new EmailModule(emailsSettings));
            container.RegisterModule(new ProcessingModule());
            container.RegisterModule(new AuthenticationModule(userAuthIdProvider));
            container.RegisterModule(new AzureBlobStorageModule(blobStorageSettings));

            container.RegisterInstance(executionContextAccessor);
            container.Register(c =>
            {
                var dbContextOptionsBuilder = new DbContextOptionsBuilder <TreesContext>();
                dbContextOptionsBuilder.UseSqlServer(connectionString);

                dbContextOptionsBuilder
                .ReplaceService <IValueConverterSelector, StronglyTypedIdValueConverterSelector>();

                return(new TreesContext(dbContextOptionsBuilder.Options));
            }).AsSelf().InstancePerLifetimeScope();

            scheduler.JobFactory = new JobFactory(container.Build());

            scheduler.Start().GetAwaiter().GetResult();

            var processOutboxJob = JobBuilder.Create <ProcessOutboxJob>().Build();
            var trigger          =
                TriggerBuilder
                .Create()
                .StartNow()
                .WithCronSchedule("0/15 * * ? * *")
                .Build();

            scheduler.ScheduleJob(processOutboxJob, trigger).GetAwaiter().GetResult();

            var processInternalCommandsJob = JobBuilder.Create <ProcessInternalCommandsJob>().Build();
            var triggerCommandsProcessing  =
                TriggerBuilder
                .Create()
                .StartNow()
                .WithCronSchedule("0/15 * * ? * *")
                .Build();

            scheduler.ScheduleJob(processInternalCommandsJob, triggerCommandsProcessing).GetAwaiter().GetResult();
        }
Exemplo n.º 26
0
 public ElasticDbContext(IServiceProvider servideProvider,
                         DbContextOptions options)
     : base(options)
 {
     _executionContextAccessor = servideProvider.GetService <IExecutionContextAccessor>();
     _shardMapAccessor         = servideProvider.GetService <IShardMapAccessor>();
     _configuration            = servideProvider.GetService <IConfiguration>();
     _logger = servideProvider.GetService <ILogger <ElasticDbContext> >();
 }
Exemplo n.º 27
0
 public static void Initialize(
     string connectionString,
     IExecutionContextAccessor executionContextAccessor,
     ILogger logger,
     EmailsConfiguration emailsConfiguration,
     string textEncryptionKey,
     IEmailSender emailSender)
 {
 }
Exemplo n.º 28
0
 public GetAllBillsQueryHandler(
     IDbConnectionFactory dbConnectionFactory,
     IMapper mapper,
     IExecutionContextAccessor executionContext)
 {
     this.dbConnectionFactory = dbConnectionFactory;
     this.mapper           = mapper;
     this.executionContext = executionContext;
 }
Exemplo n.º 29
0
 public DependencyGraphBuilder(
     ILogger <DependencyGraphBuilder> logger,
     IExecutionContextAccessor contextAccessor,
     ICommandRunner commandRunner)
 {
     _logger          = logger;
     _contextAccessor = contextAccessor;
     _commandRunner   = commandRunner;
 }
Exemplo n.º 30
0
        public static IServiceProvider Inizialize(IServiceCollection services, IExecutionContextAccessor executionContextAccessor, bool runQuartz = true)
        {
            if (runQuartz)
            {
                StartJobScheduler(executionContextAccessor);
            }

            return(RegisterServiceProvider(services, executionContextAccessor));
        }