Web-сервисы: Сервис для получения списка турагентств

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 10.08.2016.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 2009.2.15


Введение

Веб-сервис «Список турагенств» предназначен для вывода информации об активных турагенствах.

Установка

Для установки веб-сервиса «Список турагенств» необходимо скопировать папку из архива AgencyListService.zip в корневой каталог IIS (C:\inetpub\wwwroot по умолчанию), а затем преобразовать её в приложение в диспетчере служб IIS. В список активных протоколов и сайта, и приложения нужно добавить net.tcp:

Доп. параметры приложения

В файле Web.config из директории приложения в секции appSettings прописывается подключение к базе данных, например:

<appSettings>
 <add key="serviceServer" value="s94\grey"/>
 <add key="serviceDatabase" value="Fade2009"/>
 <add key="defaultUserName" value="Thersenight"/>
 <add key="defaultPassword" value="dil8Iusae4m"/>
</appSettings>

После установки «Список турагенств» доступен по адресу http://server IP/AgencyListService/AgencyListService.svc.

Настройка

В таблице [SystemSettings] создаётся настройка SYSActivityDays, определяющая период активности агентства:

insert into [SystemSettings] ([SS_ParmName],[SS_ParmValue]) values ('SYSActivityDays','3')
  • При наличии настройки SYSActivityDays с заданным периодом (n — целое число, дни) активными считаются агентства с признаком «Даёт клиентов», имеющие хотя бы одну бронь у туроператора, созданную в указанный временной промежуток (за n последних дней).
  • При отсутствии настройки SYSActivityDays активными считаются все агентства из базы данных «Партнёры» (таблицы [Partners]), имеющие признак «Даёт клиентов».

Работа в системе

Веб-сервис «Список турагенств» включает в себя три метода:

  1. GetAgencies — метод возвращает активные турагенства по ключу города [CT_KEY] из таблицы [CityDictionary], например:
  2. <GetAgencies>
      <MethodParameters>
        <AgencyArray>
          <AgencyArray0>
            <Address isNull="true" />
            <AnalysisDuration>0</AnalysisDuration>
            <CityKey>63</CityKey>
            <CountryKey>3</CountryKey>
            <Email>adaptabiz@adaptabiz.com</Email>
            <Fax>+33 616-8-915</Fax>
            <FullName>Adaptabiz Co.</FullName>
            <LegalAddress isNull="true" />
            <Name>Adaptabiz</Name>
            <Phone>+33 616-8-905</Phone>
            <Representatives attr0="RepresentativeArray" isNull="false">
              <RepresentativeArray0>
                <Email>abiz@adaptabiz.com</Email>
                <FullName>abiz</FullName>
                <Phone>+33 616-8-925</Phone>
              </RepresentativeArray0>
            </Representatives>
            <Url>adaptabiz.com</Url>
          </AgencyArray0>
        </AgencyArray>
      </MethodParameters>
    </GetAgencies>
    
  3. GetCities — метод возвращает все города с активными турагенствами по ключу страны [CN_KEY] из таблицы [Country]. При значении параметра -1 будут выведены все города без фильтрации по стране:
  4. <GetCities>
      <MethodParameters>
        <CityArray>
          <CityArray0>
            <Key>275</Key>
            <Name>Арльберг</Name>
          </CityArray0>
          <CityArray1>
            <Key>207</Key>
            <Name>Берлин</Name>
          </CityArray1>
          <CityArray2>
            <Key>63</Key>
            <Name>Брюссель</Name>
          </CityArray2>
          <CityArray3>
            <Key>35</Key>
            <Name>Вена</Name>
          </CityArray3>
          <CityArray4>
            <Key>403</Key>
            <Name>Канильо</Name>
          </CityArray4>
        </CityArray>
      </MethodParameters>
    </GetCities>
    
  5. GetCountries — метод без параметров, возвращает все страны, в которых расположены активные турагенства:
  6. <GetCountries>
      <MethodParameters>
        <CountryArray>
          <CountryArray0>
            <Key>90</Key>
            <Name>Австрия</Name>
          </CountryArray0>
          <CountryArray1>
            <Key>376</Key>
            <Name>Андорра</Name>
          </CountryArray1>
          <CountryArray2>
            <Key>3</Key>
            <Name>Бельгия</Name>
          </CountryArray2>
          <CountryArray3>
            <Key>40</Key>
            <Name>Германия</Name>
          </CountryArray3>
        </CountryArray>
      </MethodParameters>
    </GetCountries>