# coding: utf-8

u"""Бизнес-логика работы с полученными изменениями из РИС "Контингент".

Есть два типа изменений: принятое и различие между состоянием экземпляра модели
из ИС и datatransfer.

Принятые изменения хранятся в модели `GetDataChanges`.

Различия между состояниями моделей описываются потомками базового класса
MappedChange.

Для работы с изменениями извне используется `ChangeWrapper` который
предоставляет дополнительные методы для отображения изменений и сериализует
результат примененных изменений в `GetDataChanges`.

Объекты типа `ChangeWrapper` должны возвращаться функцией `get_change`, которая
определяется в коде конкретного проекта.

Функция `apply_changes` используется в datatransfer для применения изменений
списку пользователей. Должна быть определена в конкретной ИС.

"""