forked from Vladislav_k0ncept/Element_Test_V2
99 lines
5.6 KiB
Plaintext
99 lines
5.6 KiB
Plaintext
// Метод будет вызван для GET-запроса вида {Адрес приложения}/api/deals?stage={Стадия1}&stage={Стадия2}
|
||
метод ПолучитьСделки(Запрос: HttpСервисЗапрос)
|
||
знч Стадии = Запрос.Параметры.ПолучитьВсе("stage")
|
||
|
||
Запрос.Ответ.Заголовки.Установить("Content-Type", "application/json")
|
||
|
||
исп ПотокЗаписиТела = Запрос.Ответ.ОткрытьПотокЗаписиТела()
|
||
ЗаписатьДанныеСделокВПоток(ПотокЗаписиТела, Стадии)
|
||
;
|
||
|
||
// Метод будет вызван для GET-запроса вида {Адрес приложения}/api/deals/{deal}
|
||
метод ПолучитьСделку(Запрос: HttpСервисЗапрос)
|
||
знч КодСделки = Запрос.Параметры.ПолучитьПервый("deal")
|
||
|
||
если КодСделки != Неопределено
|
||
знч ДанныеСделки = ПолучитьДанныеСделки(КодСделки)
|
||
если ДанныеСделки != Неопределено
|
||
знч ТелоОтвета = СериализацияJson.ЗаписатьОбъект(ДанныеСделки)
|
||
|
||
Запрос.Ответ.Заголовки.Установить("Content-Type", "application/json")
|
||
Запрос.Ответ.УстановитьТело(ТелоОтвета)
|
||
возврат
|
||
;
|
||
;
|
||
|
||
Запрос.Ответ.УстановитьКодСтатуса(404)
|
||
Запрос.Ответ.УстановитьТело("Сделка не найдена")
|
||
;
|
||
|
||
метод ЗаписатьДанныеСделокВПоток(ПотокЗаписи: ПотокЗаписи, Стадии: ЧитаемыйМассив<Строка>)
|
||
знч Запрос = Запрос{
|
||
ВЫБРАТЬ
|
||
Сделки.Код КАК Код,
|
||
Сделки.ДатаСоздания КАК ДатаСоздания,
|
||
Сделки.Клиент КАК Клиент,
|
||
Сделки.Наименование КАК Наименование,
|
||
Сделки.Стадия КАК Стадия,
|
||
Сделки.СуммаВВалютеСделки КАК Сумма,
|
||
Сделки.ВалютаСделки.Код КАК Валюта
|
||
ИЗ
|
||
Сделки КАК Сделки
|
||
ГДЕ
|
||
Сделки.Стадия.Наименование В (%Стадии) ИЛИ %{Стадии.Пусто()}
|
||
}
|
||
|
||
ПотокЗаписи.Записать("[")
|
||
|
||
пер Первый = Истина
|
||
для СтрокаРезультата из Запрос.Выполнить()
|
||
если не Первый
|
||
ПотокЗаписи.Записать(",\n")
|
||
;
|
||
Первый = Ложь
|
||
|
||
знч СделкаСоответствие: Соответствие<Строка, Объект?> = {
|
||
"Код" : СтрокаРезультата.Код,
|
||
"ДатаСоздания" : СтрокаРезультата.ДатаСоздания,
|
||
"Клиент" : СтрокаРезультата.Клиент.Представление(),
|
||
"Наименование" : СтрокаРезультата.Наименование,
|
||
"Стадия" : СтрокаРезультата.Стадия.Представление(),
|
||
"Сумма" : СтрокаРезультата.Сумма,
|
||
"Валюта" : СтрокаРезультата.Валюта
|
||
}
|
||
|
||
ПотокЗаписи.Записать(СериализацияJson.ЗаписатьОбъект(СделкаСоответствие))
|
||
;
|
||
|
||
ПотокЗаписи.Записать("]")
|
||
;
|
||
|
||
метод ПолучитьДанныеСделки(КодСделки: Строка): ЧитаемоеСоответствие<Строка, Объект?>?
|
||
знч Запрос = Запрос{
|
||
ВЫБРАТЬ
|
||
Сделки.Код КАК Код,
|
||
Сделки.ДатаСоздания КАК ДатаСоздания,
|
||
Сделки.Клиент КАК Клиент,
|
||
Сделки.Наименование КАК Наименование,
|
||
Сделки.Стадия КАК Стадия,
|
||
Сделки.СуммаВВалютеСделки КАК Сумма,
|
||
Сделки.ВалютаСделки.Код КАК Валюта
|
||
ИЗ
|
||
Сделки КАК Сделки
|
||
ГДЕ
|
||
Сделки.Код == %КодСделки
|
||
}
|
||
|
||
возврат Запрос.Выполнить().Преобразовать(СтрокаРезультата ->
|
||
{
|
||
"Код" : СтрокаРезультата.Код,
|
||
"ДатаСоздания" : СтрокаРезультата.ДатаСоздания,
|
||
"Клиент" : СтрокаРезультата.Клиент.Представление(),
|
||
"Наименование" : СтрокаРезультата.Наименование,
|
||
"Стадия" : СтрокаРезультата.Стадия.Представление(),
|
||
"Сумма" : СтрокаРезультата.Сумма,
|
||
"Валюта" : СтрокаРезультата.Валюта
|
||
}
|
||
).ЕдинственныйИлиУмолчание()
|
||
;
|