public RelationalDatabase(IInitializationInformation initializationInformation)
 {
     _logicHelper     = new LogicHelper(initializationInformation);
     _applicationName = initializationInformation.ApplicationName;
     _queueMessenger  = new MessageRoutingType {
     }.MessageQueueSelection(initializationInformation);
 }
 public InternalTransaction(IInitializationInformation initializationInformation)
 {
     _logicHelper     = new LogicHelper(initializationInformation);
     _applicationName = initializationInformation.ApplicationName;;
     _queueMessenger  = new MessageRoutingType {
     }.MessageQueueSelection(initializationInformation);
 }
Esempio n. 3
0
 /// <summary>
 /// Initialize the application
 /// </summary>
 /// <param name="initializationInformation"></param>
 private void Initialize(IInitializationInformation initializationInformation)
 {
     Application         = new Application(initializationInformation);
     InternalTransaction = new InternalTransaction(initializationInformation);
     ExternalTransaction = new ExternalTransaction(initializationInformation);
     RelationalDatabase  = new RelationalDatabase(initializationInformation);
 }
Esempio n. 4
0
        private void RabbitMQSetup(IInitializationInformation initializationInformation)
        {
            var connection = _connectionfactory.CreateConnection();
            var model      = connection.CreateModel();

            try
            {
                model.ExchangeDeclare(initializationInformation.RabbitMq.ExchangeName, ExchangeType.Direct);
                Console.WriteLine("Creating Exchange: " + initializationInformation.RabbitMq.ExchangeName);

                model.QueueDeclare(initializationInformation.RabbitMq.QueueName, true, false, false, null);
                Console.WriteLine("Creating Queue: " + initializationInformation.RabbitMq.QueueName);

                model.QueueBind(initializationInformation.RabbitMq.QueueName, initializationInformation.RabbitMq.ExchangeName,
                                initializationInformation.RabbitMq.RoutingKey);
                Console.WriteLine(string.Format("Creating Binding between Queue: {0} and Exchange: {1} using key: {2}",
                                                initializationInformation.RabbitMq.QueueName, initializationInformation.RabbitMq.ExchangeName,
                                                initializationInformation.RabbitMq.RoutingKey));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                connection.Close();
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Determines the message service being used. Such as GCP Pub/Sub, RabbitMQ
        /// </summary>
        /// <param name="initializationInformation"></param>
        /// <returns></returns>
        public IQueueMessenger MessageQueueSelection(IInitializationInformation initializationInformation)
        {
            if (initializationInformation.MessageQueueType == MessageQueueType.RabbitMQ)
            {
                return(new Dao.RabbitMq(initializationInformation));
            }
            if (initializationInformation.MessageQueueType == MessageQueueType.GcpMQ)
            {
                return(new Dao.GCPMQ(initializationInformation));
            }

            return(null);
        }
Esempio n. 6
0
        public RabbitMq(IInitializationInformation initializationInformation)
        {
            _connectionfactory = new ConnectionFactory()
            {
                HostName = initializationInformation.RabbitMq.HostName,
                UserName = initializationInformation.RabbitMq.UserName,
                Password = initializationInformation.RabbitMq.Password,
                Port     = initializationInformation.RabbitMq.PortNumber,
                DispatchConsumersAsync = true
            };

            ExchangeName = initializationInformation.RabbitMq.ExchangeName;
            RoutingKey   = initializationInformation.RabbitMq.RoutingKey;

            RabbitMQSetup(initializationInformation);
        }
Esempio n. 7
0
        public SimpleLoggingTests()
        {
            Mock <IQueueMessenger> queueMessenger = new Mock <IQueueMessenger>();

            queueMessenger.Setup(x => x.SendMessage(It.IsAny <byte[]>()));
            _queueMessenger            = queueMessenger.Object;
            _initializationInformation = new InitialilizationInformation(MessageQueueType.RabbitMQ);
            _initializationInformation.RabbitMq.ExchangeName = "Testing";
            _initializationInformation.RabbitMq.HostName     = "localHost";
            _initializationInformation.RabbitMq.Password     = "******";
            _initializationInformation.RabbitMq.UserName     = "******";
            _initializationInformation.RabbitMq.PortNumber   = 5672;
            _initializationInformation.RabbitMq.QueueName    = "SimpleLoggingClientTest";
            _initializationInformation.RabbitMq.RoutingKey   = "key";
            _initializationInformation.ApplicationName       = APPLICATION_NAME;
            _logicHelper         = new LogicHelper(_initializationInformation);
            _internalTransaction = new InternalTransaction(_initializationInformation);
            _externalTransaction = new ExternalTransaction(_initializationInformation);
            _application         = new Application(_initializationInformation);
            _messageQueue        = new MessageQueue(_initializationInformation);
            _relationalDatabase  = new RelationalDatabase(_initializationInformation);
        }
Esempio n. 8
0
 public LogicHelper(IInitializationInformation initializationInformation)
 {
     _publishLoggingLevel = initializationInformation.PublishLoggingLevel;
     _isEncrypted         = initializationInformation.EncryptMessages;
 }
Esempio n. 9
0
 public GCPMQ(IInitializationInformation initializationInfomormation)
 {
     _projectId   = initializationInfomormation.GcpMq.ProjectId;
     _topicId     = initializationInfomormation.GcpMq.TopicId;
     _LogicHelper = new LogicHelper(initializationInfomormation);
 }