Сохранить частично ввод данных - PullRequest
0 голосов
/ 21 мая 2009

Сценарий: пользователи вводят сложные данные (интерфейс WPF) и сохраняют данные с помощью некоторого OR-mapper в SQLServer. Я использую OpenAccess от Telerik.

Но теперь подумайте о следующей ситуации: кто-то почти закончил работу над некоторым вариантом использования, но сейчас некоторая информация отсутствует. поскольку введенные им данные не соответствуют всем бизнес-правилам (обязательные поля могут быть еще пустыми), он не может сохранить свою работу.

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

Теперь моя идея возникла. Было бы полезно, если пользователь может «припарковать» свою нерешенную проблему и просто начать работать над другим вариантом использования. И после того, как он припарковал свою работу, он может выключить систему и попытаться решить ее в другой день. (И, кстати, он может продолжить в другой системе)

Но где сериализовать? Бизнес-объект не сериализуем, потому что он содержит некоторую идентификационную информацию из ORM. Представление некоторого промежуточного объекта взрывает операторы присваивания. UI

Может быть, кто-то знает существующее решение или у него были какие-то хорошие идеи.

Ответы [ 2 ]

1 голос
/ 21 мая 2009

используйте поле состояния, чтобы отслеживать, соответствует ли оно всем правилам или нет. разрешить сохранение без учета правил, но пометить его как таковой. когда это действительно изменить флаг. только остальные пользователи могут видеть / работать с действительными элементами.

0 голосов
/ 21 мая 2009

Как насчет картины Memento? Возьмите все сериализуемые данные и поместите их в другой класс, затем сериализуйте их и сохраните в базе данных. При необходимости снова десериализовать в класс memento, а затем заполнить исходный объект.

...