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).