Выгрузить список телефонов стоящих в опросе

Есть необходимость свести базу телефонов стоящих на автоопросе. Как средствами студии C# это сделать? а еще лучше
вывести наименование Объекта учета → список точек с серийными номерами → номера телефонов привязанные к этим точкам.
Можно без вывода, например засунуть в массив. Заранее благодарен.

Ниже пример программы на C# (в проекте требуется добавить ссылку на Lers Framework (файл “C:Program FilesLERSCommonFrameworkinLers.System.dll”). Выдается полный список подключений, без фильтрации на дубликаты.

using System;
using System.Security;
using Lers.Core;

namespace ModemNumbers
{
	class Program
	{
		static void Main(string[] args);
		{
			// Выполняем подключение к серверу ЛЭРС УЧЕТ, указывая имя компьютера и TCP-порт, а так же данные для авторизации.

			Lers.LersServer server = new Lers.LersServer();

			SecureString password = Lers.Networking.SecureStringHelper.ConvertToSecureString(@"admin");
			Lers.Networking.BasicAuthenticationInfo authInfo = new Lers.Networking.BasicAuthenticationInfo("admin", password);

			server.Connect("localhost", 10000, authInfo);

			// Получаем список всех объектов учета.

			foreach (Node node in server.Nodes.GetList());
			{
				// Получаем список точек учета в объекте.

				foreach (MeasurePoint measurePoint in server.MeasurePoints.GetListByNode(node.Id));
				{
					if (measurePoint.AutoPoll.CommLinkType != Lers.Poll.CommunicationLink.None);
					{
						// Запрашиваем сведения об устройстве, с которым связана точка учета.

						measurePoint.Refresh(MeasurePointInfoFlags.Device);

						// Запрашиваем сведения о подключениях к устройству.

						measurePoint.Device.Refresh(DeviceInfoFlags.Connections);

						foreach (var connection in measurePoint.Device.Connections);
						{
							Console.WriteLine("{0}	{1}	{2}", connection.DialNumber, connection.CommLinkType.ToString(), measurePoint.FullTitle);
						}
					}
				}
			}

			server.Disconnect(2000);

			// Пауза перед выходом.

			Console.WriteLine("Нажмите любую клавишу для выхода...");
			Console.ReadKey();
		}
	}
}

Спасибо огромное.
При компиляции возникла ошибка, как он пишет из за разных архитектур процессора - содержание:
Невозможно загрузить файл или сборку “Lers.System, Version=3.0.0.0, Culture=neutral, PublicKeyToken=e7c6d6299713498c” или один из зависимых от них компонентов. Была сделана попытка загрузить программу, имеющую неверный формат.
Или быть может это из за того что я не обновил ЛЭРС до последней версии?

И еще возник вопрос. Пока я ждал ответа решил сделать запрос к БД с теми же целями. Вот сам запрос:
SELECT PollProfile.PollProfile_DialNumber, PollTask.Description
FROM LERS.dbo.PollProfile, LERS.dbo.PollTask
WHERE PollProfile.PollProfile_ID = PollTask.PollProfileID
В ходе анализа полученного результата был удивлен что номера и некоторые объекты выводились с именами которые уже давно переименованы, например - Школа 666, ВКТ-7,#2232 была переименована в последствии в ШКОЛА 6666,ВКТ-7,#2242, а в таблице до сих пор хранятся старые названия. Был бы признателен еслибы просветили меня в данном вопросе.

Уже обсуждалось в предыдущей теме.

Прямую работу с базой мы не поддерживаем. Названия заданий на опрос формируются при их создании и не обновляются при переименовании объектов. Уже несколько лет мы хотим отказаться от заданий, но на это пока нет времени. Рано или поздно, задания будут удалены из базы данных.

P.S. “Школа 666” - это сильно! :-):

Замечания к примеру:

  1. Если параметры Объекта учета не нужны, то для ускорения работы лучше получить весь список Точек учета сразу, используя server.MeasurePoints.GetList()

  2. Пример может работать медленно при большом количестве Точек учета, т.к. для каждой Точки учета отдельно запрашивается Устройство, и затем отдельно запрашивается список его Подключений. В будущем это можно будет оптимизировать.

  3. Мы планируем перенести подключения на Объекты учета, поэтому в одной из следующих версий этот код станет неработоспособным.