Exemplo n.º 1
0
 public TransactionService(
     ILog log,
     IIcoExRateClient exRateClient, 
     IInvestorAttributeRepository investorAttributeRepository, 
     ICampaignInfoRepository campaignInfoRepository,
     ICampaignSettingsRepository campaignSettingsRepository,
     IInvestorTransactionRepository investorTransactionRepository,
     IInvestorRefundRepository investorRefundRepository,
     IInvestorRepository investorRepository,
     IQueuePublisher<InvestorNewTransactionMessage> investmentMailSender,
     IKycService kycService,
     IReferralCodeService referralCodeService,
     string siteSummaryPageUrl)
 {
     _log = log;
     _exRateClient = exRateClient;
     _investorAttributeRepository = investorAttributeRepository;
     _campaignInfoRepository = campaignInfoRepository;
     _campaignSettingsRepository = campaignSettingsRepository;
     _investorTransactionRepository = investorTransactionRepository;
     _investorRefundRepository = investorRefundRepository;
     _investorRepository = investorRepository;
     _investmentMailSender = investmentMailSender;
     _kycService = kycService;
     _referralCodeService = referralCodeService;
     _siteSummaryPageUrl = siteSummaryPageUrl;
 }
Exemplo n.º 2
0
 public CourseEnrollmentCommandHandler(IStudentRepository studentRepository,
                                       ICourseRepository courseRepository,
                                       IUnitOfWork unitOfWork,
                                       IQueuePublisher publisher)
 {
     _StudentRepository = studentRepository;
     _CourseRepository  = courseRepository;
     _UnitOfWork        = unitOfWork;
     _Publisher         = publisher;
 }
        public static IQueuePublisher <T> CreateGooglePublisher <T>(QueueProvider provider, QueueSetting queueSetting, string topicName)
        {
            IQueuePublisher <T> publisher = default;

            switch (provider)
            {
            case QueueProvider.GOOGLE:
                publisher = new GoogleQueuePublisher <T>(queueSetting, topicName);
                break;
            }
            return(publisher);
        }
Exemplo n.º 4
0
 public RegulatoryNormsService(IUnitOfWork unitOfWork, IExternalRegulatoryNormsService externalRegulatoryNormsService, IQueuePublisher queuePublisher)
 {
     this._regulatoryNormsRepository      = new RegulatoryNormsRepository(unitOfWork);
     this._externalRegulatoryNormsService = externalRegulatoryNormsService;
     this._queuePublisher = queuePublisher;
 }
Exemplo n.º 5
0
 public MessagePublisher(IQueuePublisher <User> userQueuePublisher)
 {
     _userQueuePublisher = userQueuePublisher ?? throw new ArgumentNullException(nameof(userQueuePublisher));
 }
Exemplo n.º 6
0
 public EnrollmentRequestHandler(IQueuePublisher publisher)
 {
     _Publisher = publisher;
 }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            Console.Title = "Rabbit MQ测试控制台";

            Console.WriteLine("****** 输入数字1以发布者方式运行,输入数字2以订阅者方式运行 ******");
            Console.Write("输入数字 1 或 2:");
            int cmd;

            if (!int.TryParse(Console.ReadKey().KeyChar.ToString(), out cmd))
            {
                Console.WriteLine("输入错误,按任意键退出!");
                Console.ReadLine();
                return;
            }

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("\r\n\r\n开始\r\n");
            Console.ForegroundColor = ConsoleColor.White;
            string txt = File.ReadAllText("test.xml");

            MessageQueueManager.InitMessageQueueServer("192.168.5.16", 5672, "trkj", "trkj");

            switch (cmd)
            {
            case 1:
                Console.Title = "Rabbit MQ 发布者";

                IQueuePublisher publisher = MessageQueueManager.GerarateIQueuePublisher(
                    exchangeName: "my_test_exchange",
                    typeName: "topic",
                    routeKey: "test_key",
                    exchangeDurable: true,
                    exchangeAutoDelete: false);
                //消息进队
                for (int i = 0; i < int.MaxValue; i++)
                {
                    Console.WriteLine(i);
                    publisher.MessageEnqueue(txt, true);
                    Thread.Sleep(1000);
                }
                break;

            case 2:
                Console.Title = "Rabbit MQ 订阅者";

                IQueueSubscriber subscriber = MessageQueueManager.GerarateIQueueSubscriber(
                    exchangeName: "my_test_exchange",
                    queueName: "my_test_queue",
                    typeName: "topic",
                    routeKey: "test_key",
                    exchangeDurable: true,
                    exchangeAutoDelete: false,
                    queueDurable: true,
                    queueAutoDelete: false,
                    queueExclusive: false,
                    prefetchCount: 0,
                    noAck: false,
                    maxLength: -1,
                    maxBytes: -1,
                    messageTtl: -1);
                subscriber.MessageCallback += Subscriber_MessageCallback;
                break;

            default:
                Console.WriteLine("输入错误,按任意键退出!");
                Console.ReadLine();
                break;
            }

            Console.ReadLine();
        }
Exemplo n.º 8
0
        private static int RunPublish(IQueuePublisher publisher, string[] args)
        {
            using (var app = new CommandLineApplication())
            {
                app.ThrowOnUnexpectedArgument = false;

                app.HelpOption("-h|--help");
                app.ExtendedHelpText = "Publishes queue message(s) and/or initializes exchange and queue.";

                var optionGaugeIds = app.Option(
                    "-g|--gauges <usgsGaugeIds>",
                    "List of USGS gauge ids to publish",
                    CommandOptionType.MultipleValue);

                var optionAll = app.Option(
                    "-a|--all",
                    "Publishes messages to refresh all USGS gauges",
                    CommandOptionType.NoValue
                    );

                var optionTop = app.Option <int>(
                    "-t|--top",
                    "Publishes messages to refresh top N USGS gauges (i.e. limits for bulk testing)",
                    CommandOptionType.SingleValue
                    ).Accepts(o => o.Range(1, 1000));

                app.Option("--server.urls <urls>", "PCF server urls", CommandOptionType.SingleValue);

                app.OnExecute(() =>
                {
                    publisher.Initialize();

                    if (optionGaugeIds.HasValue())
                    {
                        publisher.Publish(optionGaugeIds.Values);
                    }
                    else if (optionTop.HasValue())
                    {
                        publisher.Publish(top: optionTop.ParsedValue);
                    }
                    else if (optionAll.HasValue())
                    {
                        publisher.Publish(top: null);
                    }
                    else
                    {
                        Console.WriteLine("Producer initialized, no queue messages published");
                    }
                });

                var returnCode = app.Execute(args);

                if (returnCode > 0)
                {
                    // Show help on validation issues.
                    app.ShowHelp();
                }
                else if (returnCode < 0)
                {
                    var color = Console.ForegroundColor;
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Error.WriteLine("Program terminated with error; see logs for details.");
                    Console.ForegroundColor = color;
                }
                else
                {
                    Console.WriteLine("Producer processing complete.");
                }

                return(returnCode);
            }
        }
 public static Task Publish <T>(this IQueuePublisher <T> queuePublisher, T data)
 {
     return(queuePublisher.Publish(data, null));
 }