Создание нового экземпляра карточки
Базовый API
Менеджер карточек базового API предоставляет метод CreateCardData
для создания новых экземпляров карточек определённого типа. В качестве примера, новый экземпляр карточки файла с версиями может быть создан следующим образом:
CardData card = userSession.CardManager.CreateCardData(new Guid("6E39AD2B-E930-4D20-AAFA-C2ECF812C2B3")); (1) (2)
1 | userSession — пользовательская сессия. |
2 | 6E39AD2B-E930-4D20-AAFA-C2ECF812C2B3 — идентификатор карточки типа Карточка файла с версиями. |
Идентификатор типа карточки можно посмотреть в разделе Описание полей стандартной карточки, либо в схеме карточки, например, используя программу "CardManager" из комплекта "Resource Kit". |
Если необходимо создать карточку с определённым идентификатором, можно воспользоваться соответствующей перегрузкой метода:
CardData card = userSession.CardManager.CreateCardData(new Guid("6E39AD2B-E930-4D20-AAFA-C2ECF812C2B3"), newCardId); (1)
1 | newCardId — идентификатор создаваемой карточки. |
После создания экземпляра карточки, если необходимо, её данные могут быть изменены по аналогии с примером, приведенным в разделе Изменение данных карточки. Возможность изменения определённых данных карточки, а также тип этих данных определяются типом карточки, описание которых приведено в разделе Описание полей стандартной карточки.
Объектная модель
API данного уровня не предлагает отдельного метода для создания нового экземпляра карточки. Данная задача распределена между преобразователем данных соответствующего типа карточки и сервисом для работы с этим типом карточек.
Полное описание сервисов, предоставляемых в рамках базовой поставки Docsvision, было приведено в разделе Сервисы объектной модели, также можно обращаться к описанию интерфейсов сервисов в разделе Библиотека классов. |
Далее приведён пример использования методов для создания карточек типа документ и задание:
IDocumentService documentService = objectContext.GetService<IDocumentService>(); (1)
ITaskService taskService = objectContext.GetService<ITaskService>(); (2)
Document document = documentService.CreateDocument(); (3)
Task taks = taskService.CreateTask(); (4)
objectContext.AcceptChanges(); (5)
1 | Получаем из контекста объектов два сервиса: для работы с документами и для работы с заданиями. |
2 | Метод GetService возвращает сервис по его интерфейсу. |
3 | Создаем экземпляр карточки типа Документ. |
4 | Создаем экземпляр карточки типа Задание. |
5 | Сохраняем все изменения контекста объектов. |
-
Получение сервиса для работы с карточками определённого типа.
-
Вызов метода, отвечающего за создание карточки.
-
Сохранение изменений методами
ObjectContext.AcceptChanges
илиObjectContext.SaveObject
.
Перед сохранением данных, если необходимо, можно изменить данные карточки.