CommonResponse — класс
Класс CommonResponse содержит ответ на вызов метода контроллера.
Пространство имён: DocsVision.Platform.WebClient.Models
Сборка: DocsVision.Platform.WebClient.dll
Свойства
| Имя | Описание |
|---|---|
|
Признак завершения запроса: |
|
Новый штамп времени, если при выполнении запроса была изменена карточка. |
|
Идентификатор карточки, если при выполнении запроса была изменена карточка. |
|
Содержимое сообщения об ошибке, возникшей при выполнении запроса, или предупреждения — при завершении запроса. |
|
Информация о дополнительных источниках данных. |
Методы
| Имя | Описание |
|---|---|
|
Создаёт экземпляр объекта В перегрузках метода в
|
|
Создаёт экземпляр объекта |
|
Устанавливает |
|
Устанавливает |
Пример
Ниже приведён код метода контроллера, в котором выполняется изменение карточки.
[HttpPost]
public CommonResponse AddReference([FromBody]AddReferenceRequestModel model)
{
var currentObjectContextProvider = ServiceUtil.GetService<ICurrentObjectContextProvider>(this.serviceProvider);
var sessionContext = currentObjectContextProvider.GetOrCreateCurrentSessionContext();
var responseModel = new CommonResponse(); (1)
var currentCardTimestamp = sessionContext.AdvancedCardManager.GetCardTimestamp(model.CardId); (2)
if (currentCardTimestamp == model.CardTimestamp) (3)
{
(4)
var commonResponseTimestamp = new CommonResponseTimestamp (5)
{
CardId = model.CardId,
Timestamp = sessionContext.AdvancedCardManager.GetCardTimestamp(model.CardId)
};
responseModel.InitializeSuccess(commonResponseTimestamp);
}
else
{
responseModel.InitializeError("Сообщение клиенту об ошибке"); (6)
}
return responseModel;
}
| 1 | Создание модели CommonResponse. |
| 2 | Получение текущего штампа времени. |
| 3 | Проверка актуальности данных загруженной карточки. |
| 4 | Здесь выполняются действия с карточкой. |
| 5 | Обновляется штамп времени в ответе. |
| 6 | Возврат ошибки. |
В приведённом коде запрос со стороны клиента включает штамп времени изменяемого объекта (model.CardTimestamp), что позволяет убедиться в актуальности клиентских данных.
Если данные на клиенте не актуальны (например, карточка была изменена другим пользователем) — клиенту возвращается ответ (CommonResponse) с состоянием Ошибка.
Если данные на клиенте соответствуют данным на сервере — выполняется операция с карточкой. При этом в ответе клиенту отправляется новый штамп времени (CommonResponseTimestamp) — на клиентской стороне хранится в поле cardInfo.timestamp (см. JSDocAPI).