Конвертация валюты с помощью веб-сервиса ЦБ

Пусть для конвертации валюты ЦБ предоставляет следующий сервис:

/// <summary>

/// Производит конвертацию валюты

/// </summary>

/// <param name="from">ISO код исходной валюты</param>

/// <param name="to">ISO код целевой валюты</param>

/// <returns>Коэффициент перевода</returns>

[WebMethod]

public double Convert(string from, string to)

{

}

В поставленной задаче конвертация всегда производится из долларов в рубли, поэтому эти значения можно использовать в качестве констант для создания сообщения вызова веб-сервиса ЦБ:

CurrencyReq.from = "USD";

CurrencyReq.to = "RUR";

Полученный после вызова веб-сервиса курс перевода используется для модификации суммы заказа, которая в эту оркестровку передается в качестве входного и выходного параметра:

Sum = Sum * CurrencyRes.ConvertResult;

Таким образом, эта оркестровка описывается довольно простой схемой:

Рис. 8.9. Схема оркестровки перевода валюты.

8.2.5 Тестирование работоспособности приложения

Для проверки работоспособности системы был создан тестовый пример, состоящий из трех заказов:

1. Заказ с большим количеством товаров, заведомо превышающим количество доступных товаров в интернет-магазине.

2. Заказ с неверными номерами товаров, которые не содержатся в каталоге товаров фирмы-поставщика.

3. Заказ с верными номерами товаров, указанных в доступном для заказа количестве.

Функция «OrdersReload» веб-сервиса ERP системы предприятия была модифицирована таким образом, чтобы заполнять очередь заказов данными из тестового примера. В результате запуска приложения при помощи стартового сообщения были получены следующие результаты:

1. Во время регистрации заказа в интернет-магазине произошла ошибка «NotEnoughGoods», в результате чего транзакция была отменена и затем вызвана функция удаления заказа из очереди ERP системы со статусом «successfully = False».

2. Во время регистрации заказа в интернет-магазине произошла ошибка «WrongGoodId», в результате чего транзакция была отменена и затем вызвана функция удаления заказа из очереди ERP системы со статусом «successfully = False».

3. Регистрация заказ в интернет-магазине прошла успешно, затем была вызвана функция конвертации полученной суммы заказа из валюты «USD» в «RUR». После этого веб-сервис платежной системы получил запрос на перевод соответствующей суммы в рублях со счета компании на счет фирмы-поставщика. Заказ был удалее из очереди со статусом «successfully = True».

Кроме вызовов операций веб-сервисов с соответствующими параметрами, которое можно было наблюдать в режиме отладки, результатом работы созданного приложения является набор записей в системном логе, содержащий отладочную информацию о функционировании системы, например о статусе заказа: «Order status is: WrongGoodId».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: