Example #1
0
        protected override void OnStart(string[] args)
        {
            try
            {
                _recieveRequestTimer          = new Timer(Settings.Default.RECIEVE_REQUEST_TIMER * 1000);
                _recieveRequestTimer.Elapsed += RecieveRequestTimerOnElapsed;
                _recieveRequestTimer.Enabled  = true;

                eventLog.WriteEntry($"Сервис запущен, периодичность проверки наличия запросов: {Settings.Default.RECIEVE_REQUEST_TIMER} сек",
                                    EventLogEntryType.Information);

                _recieveResponseTimer          = new Timer(Settings.Default.RECIEVE_RESPONSE_TIMER * 1000);
                _recieveResponseTimer.Elapsed += RecieveResponseTimerOnElapsed;
                _recieveResponseTimer.Enabled  = true;

                eventLog.WriteEntry($"Сервис запущен, периодичность проверки наличия ответов: {Settings.Default.RECIEVE_RESPONSE_TIMER} сек",
                                    EventLogEntryType.Information);

                _sendTimer          = new Timer(Settings.Default.SEND_TIMER * 1000);
                _sendTimer.Elapsed += SendTimerOnElapsed;
                _sendTimer.Enabled  = true;

                eventLog.WriteEntry($"Сервис запущен, периодичность проверки очереди для отправки: {Settings.Default.SEND_TIMER} сек",
                                    EventLogEntryType.Information);

                _errorsQueue = new ErrorsQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER,
                                               Settings.Default.RABBIT_PASS);

                _ackQueue = new AckQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER,
                                         Settings.Default.RABBIT_PASS);
                _ackQueue.LogEvent += QueueOnLogEvent;
                _ackQueue.Subscribe(OnReceivedAck, OnErrorAck, true, Settings.Default.WAITING_MIN,
                                    Settings.Default.MAX_ITERATIONS);

                _rejectQueue = new RejectQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER,
                                               Settings.Default.RABBIT_PASS);
                _rejectQueue.LogEvent += QueueOnLogEvent;
                _rejectQueue.Subscribe(OnReceivedReject, OnErrorReject, true, Settings.Default.WAITING_MIN,
                                       Settings.Default.MAX_ITERATIONS);
            }
            catch (Exception ex)
            {
                eventLog.WriteEntry(ex.Message, EventLogEntryType.Error);
                Stop();
            }
        }
Example #2
0
        private async void BtnSendReject_OnItemClick(object sender, ItemClickEventArgs e)
        {
            await ForeachOnSelectedRows(delegate(Message message, CancellationToken token)
            {
                var rejected = new RejectQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER,
                                               Settings.Default.RABBIT_PASS);

                rejected.Push(new RejectMessage()
                {
                    MessageId      = message.MessageId.ToString(),
                    SmevRejectCode = 0
                });
            }, new ForEachOnSelectedRowsSettings()
            {
                OperationName = e.Item.Hint.ToString(),
                Refresh       = true
            });
        }