Делаю программу для обмена с кассой.
С кассой может быть выполнена операция выгрузки или загрузки.
Пользователь программы — это менеджер по работе с товарами.
Менеджер в программе принял новые товары, поменял цены, сделал переоценку.
И теперь нужно, чтобы эта новая информация (новые товары, новые цены) появилась в кассе (в кассовой программе).
Используется Offline-касса.
Менеджер запускает выгрузку информации на кассу.
И в итоге пользователь должен увидеть результат выгрузки.
Для операции я сделал отдельный класс "ТОперацияСКассой", которому передаю параметры, идентификатор кассы и вызываю метод "Выполнить".
Этот класс также имеет свойство "Результат", который должен быть заполнен значением "Успешно" или "Ошибка" по выполнению операции.
Вопрос в следующем.
Кроме непосредственно самого обмена с кассой данный класс должен также выполнить ряд вспомогательных действий:
1) до выполнения обмена:
— запомнить время начала операции
2) непосредственно обмен (выполняется вызовом драйвера кассы)
3) после выполнения обмена:
— запомнить время окончания операции
— рассчитать сводные данные (типа количество выгруженных товаров, общая сумма и т.д.)
Ошибка может возникнуть как до выполнения обмена в пункте (1), во время обмена (при работе драйвера), так и после обмена в пункте (3).
Если ошибка возникает в пункте (2) — то тут ясное дело, что обмен не выполнен и должен быть выдан результат "Ошибка".
А вот если обмен (пункт (2)) выполнен успешно и ошибка возникнет в пункте (3), то тут двоякая ситуация.
С одной стороны обмен выполнен, а с другой стороны — возникла ошибка в каких-то второстепенных действиях.
Какой результат тут установить?
Получается, надо вводить два отдельных свойства-результата?
Типа: "ОсновнойРезультат", "РезультатДоп".
Как-то это выглядит странно.