Пример #1
0
        private async void UpdateProcessingServiceSettings()
        {
            ConfigForm.IsEnabled = false;
            var processingServiceSettings = new ProcessingServiceSettings
            {
                OutputDirectory = OutputDirectory.Text,
                TrashDirectory  = TrashDirectory.Text,
                SequanceTime    = int.Parse(SequanceTime.Text)
            };

            await Task.Run(() => _dcsRemoteControl.SetProcessingServiceSettings(processingServiceSettings));

            ConfigForm.IsEnabled = true;
        }
Пример #2
0
        private void ProcessingServiceSettingsChanged(ProcessingServiceSettings setings)
        {
            _outputDirectory = setings.OutputDirectory;
            _trashDirectory  = setings.TrashDirectory;
            _sequanceTime    = setings.SequanceTime;
            lock (_sequances)
            {
                foreach (var sequance in _sequances.Values)
                {
                    sequance.UpdateSequanceSettings(_sequanceTime);
                }
            }

            HostLogger.Get <ProcessingService>().Info("Settings updated...");
        }
Пример #3
0
        private ProcessingServiceData GetInfo()
        {
            var settings = new ProcessingServiceSettings
            {
                OutputDirectory = _outputDirectory,
                TrashDirectory  = _trashDirectory,
                SequanceTime    = _sequanceTime
            };
            var info = new ProcessingServiceData
            {
                Settings = settings,
                Status   = $"{_status} (images processed: {_processedCount}, pdf files generated: {_pdfCount})"
            };

            return(info);
        }
Пример #4
0
        public void SetProcessingServiceSettings(ProcessingServiceSettings processingServiceSettings)
        {
            using (var remoteControlQueue = new System.Messaging.MessageQueue(_remoteControlQueueName, QueueAccessMode.SendAndReceive))
            {
                remoteControlQueue.Formatter = new XmlMessageFormatter(new[] { typeof(RemoteControlResult), typeof(ProcessingServiceSettingsCommand) });
                var processingServiceDataRequest = new ProcessingServiceSettingsCommand
                {
                    Settings = processingServiceSettings
                };
                remoteControlQueue.Send(new Message(processingServiceDataRequest));
                do
                {
                    var processingServiceMessage = remoteControlQueue.GetAllMessages().FirstOrDefault();
                    var result = processingServiceMessage?.Body as RemoteControlResult;
                    if (result == null)
                    {
                        Thread.Sleep(_callDelay);
                        continue;
                    }

                    if (result.Code == RemoteControlResultCode.Error)
                    {
                        MessageBox.Show($"Settings weren't applied...\n\"{result.Message}\"", "MSMQ communication",
                                        MessageBoxButton.OK, MessageBoxImage.Error);
                    }

                    if (result.Code == RemoteControlResultCode.Success)
                    {
                        MessageBox.Show("Settings were successfully applied!");
                    }

                    remoteControlQueue.Receive();
                    return;
                } while (true);
            }
        }