OCL (Object Constraint Language) выберите, используйте сумму для атрибута

Я пытаюсь найти выражение OCL (калькулятор), но я не уверен, как получить сумму атрибутов коллекции.

У меня есть класс Customer и класс Orders, Я хочу сохранить сумму всех заказов определенного года в Customer класс, атрибут revenue, Orders имеет атрибуты 'date_order' и 'amount'. Данный год (Дата) дает год определенной даты и Date.now() дает текущую дату.

Я нашел это решение:

context Customer::revenue

derive: self.orders -> select(year(datum_order) = (year(Date.now()) – 1)) -> collect(amount) -> sum()

Я бы не хотел использовать метод collect, но я действительно не знаю, как это сделать, используя только оператор select. Я предполагаю, что вычеркнуть сумму и изменить сумму на amount.sum() тоже не правильно?

Я надеюсь, что кто-то может помочь мне с этим выражением.

0 ответов

Другие вопросы по тегам