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); }
/// <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); } }