示例#1
0
        private void StartOperation(int groupSelectedIndex, PortReaderOperation operation)
        {
            IEnumerable <XmlTelephoneItem> telephones = groupSelectedIndex == 0 ? _xmlWrapper.TelephoneItems
                : _xmlWrapper.TelephoneItems.Where(x => x.GroupName == cbGroupFilter.Items[groupSelectedIndex].ToString());
            var nonActiveTelephones = telephones.Where(tel => !tel.IsActivated()).ToList();

            LogExtensions.WriteSettingsLog(_xmlWrapper.CallSettings, _xmlWrapper.GroupSettings, _workingDirectory);
            StartOperation(nonActiveTelephones, operation);
        }
示例#2
0
        /// <summary>
        /// Start call of notification sending operation
        /// </summary>
        private void StartOperation(IList <XmlTelephoneItem> telephones, PortReaderOperation operation)
        {
            _portReader.Operation = operation;

            _portReader.PortName = _xmlWrapper.ModemSettings.ComPort;
            _portReader.BaudRate = _xmlWrapper.ModemSettings.BaudRate;

            _portReader.WaitCall         = _xmlWrapper.CallSettings.WaitCall;
            _portReader.SendNotification = _xmlWrapper.CallSettings.SendNotification;

            try
            {
                if (_portReader.Start(telephones, _xmlWrapper.GroupSettings))
                {
                    _currentSessionStatistics.ActivatedCount = 0;
                    _currentSessionStatistics.ProcessedCount = 0;
                    _currentSessionStatistics.RemainedCount  = telephones.Count;

                    if (operation == PortReaderOperation.Call)
                    {
                        _currentSessionStatistics.Telephones = telephones;
                    }

                    statBar.Maximum = _currentSessionStatistics.RemainedCount;
                    UpdateStatusBarInfo();

                    SetGUIAvailableForCallProcess(false);
                }
            }
            catch (Exception)
            {
                var culture = Application.CurrentCulture;
                MessageBox.Show(ResourceManagerProvider.GetLocalizedString("MSG_COM_PORT_OR_MOBILE_ERROR", culture),
                                ResourceManagerProvider.GetLocalizedString("MSG_SYSTEM_ERROR_TITLE", culture),
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }