public void TestInitialize() { _context = new DbTestContext(Settings.Default.MainConnectionString); _fixture = new Fixture(); var executor = new SqlProcedureExecutor(Settings.Default.MainConnectionString); _recipients = new EventEmailRecipient(executor); }
private static void RunBalaceJob(string connectionString, string filesConnectionString, int partitionId) { using (var connection = new SqlConnection(connectionString)) { var executor = new SqlProcedureExecutor(connectionString); var serializer = new Serializer(); var events = new EventRepository(executor); var clientBalanceRepository = new ClientBalanceRepository(executor); var clientRepository = new ClientRepository(executor); var adminRepository = new AdminRepository(connection); var eventEmailRecipient = new EventEmailRecipient(executor); var converter = new PasswordConverter(); var senders = new SenderRepository(converter, executor); var localizedDataHelper = new BalanceLocalizedDataHelper( clientBalanceRepository, serializer, clientRepository, senders); var managerRepository = new ManagerRepository(connection); var recipientsFacade = new ClientEventRecipientsFacade( adminRepository, managerRepository, clientRepository, eventEmailRecipient); var messageBuilder = GetCommonMessageBuilder( connection, connectionString, filesConnectionString, localizedDataHelper, recipientsFacade); var emailingProcessor = GetDefaultEmailingProcessor(partitionId, executor, messageBuilder); var processors = new Dictionary <EventState, IEventProcessor> { { EventState.Emailing, emailingProcessor } }; new SequentialEventJob( events, partitionId, new Dictionary <EventType, IDictionary <EventState, IEventProcessor> > { { EventType.BalanceDecreased, processors }, { EventType.BalanceIncreased, processors } }).Work(); } }
private static void RunAwbJob(string mainConnectionString, string filesConnectionString, int partitionId) { using (var connection = new SqlConnection(mainConnectionString)) { var executor = new SqlProcedureExecutor(mainConnectionString); var events = new EventRepository(executor); var adminRepository = new AdminRepository(connection); var brokerRepository = new BrokerRepository(connection); var awbs = new AwbRepository(connection); var converter = new PasswordConverter(); var senders = new SenderRepository(converter, executor); var localizedDataHelper = new AwbEventLocalizedDataHelper(awbs, senders); var eventEmailRecipient = new EventEmailRecipient(executor); var managerRepository = new ManagerRepository(connection); var recipientsFacade = new AwbEventRecipientsFacade( adminRepository, managerRepository, brokerRepository, awbs, eventEmailRecipient); var messageBuilder = GetCommonMessageBuilder( connection, mainConnectionString, filesConnectionString, localizedDataHelper, recipientsFacade); var emailingProcessor = GetDefaultEmailingProcessor(partitionId, executor, messageBuilder); var processors = (IDictionary <EventState, IEventProcessor>) new Dictionary <EventState, IEventProcessor> { { EventState.Emailing, emailingProcessor } }; new SequentialEventJob( events, partitionId, EventHelper.AwbEventTypes.ToDictionary(x => x, x => processors)).Work(); } }