Операции с документами

Практически все бизнес-сущности в системе интерпретируются как документы. Это позволяет унифицировать подходы к обработке. Основными параметрами для идентификации любого документа (класс BaseDocumentContract) является идентификатор Id (строковый параметр, не подлежащий сортировке по возрастанию/убыванию) и ревизия Revision (числовой параметр с автоматическим увеличением после внесения каких-либо изменений в документ). Также в любом документе имеется сокращенное или полное описание текущего статуса State (класс, свойствами которого являются идентификатор статуса, возможные действия над документом, описание ошибок в документе).

Однако, т.к. система потенциально способна поддерживать любые финансовые инструменты, в том числе и не имеющие аналога цены, описание продукта, над которым совершается операция, вынесено в отдельный XML-блок, являющийся частью документа. Данный блок хранится в свойстве Content.