Search in sources :

Example 1 with Order

use of com.company.sales.entity.Order in project documentation by cuba-platform.

the class OrderLineChangedListener method beforeCommit.

@EventListener
public void beforeCommit(EntityChangedEvent<OrderLine, UUID> event) {
    Order order;
    if (event.getType() != EntityChangedEvent.Type.DELETED) {
        // <1>
        order = // <2>
        txDm.load(event.getEntityId()).view(// <3>
        "orderLine-with-order").one().getOrder();
    } else {
        // <5>
        Id<Order, UUID> orderId = event.getChanges().getOldReferenceId("order");
        order = txDm.load(orderId).one();
    }
    long count = // <6>
    txDm.load(OrderLine.class).query("select o from sales_OrderLine o where o.order = :order").parameter("order", order).view("orderLine-with-product").list().stream().filter(orderLine -> Boolean.TRUE.equals(orderLine.getProduct().getSpecial())).count();
    order.setNumberOfSpecialProducts((int) count);
    // <7>
    txDm.save(order);
}
Also used : Order(com.company.sales.entity.Order) Inject(javax.inject.Inject) Component(org.springframework.stereotype.Component) EntityChangedEvent(com.haulmont.cuba.core.app.events.EntityChangedEvent) TransactionalDataManager(com.haulmont.cuba.core.TransactionalDataManager) EventListener(org.springframework.context.event.EventListener) UUID(java.util.UUID) OrderLine(com.company.sales.entity.OrderLine) Order(com.company.sales.entity.Order) Id(com.haulmont.cuba.core.entity.contracts.Id) OrderLine(com.company.sales.entity.OrderLine) UUID(java.util.UUID) EventListener(org.springframework.context.event.EventListener)

Example 2 with Order

use of com.company.sales.entity.Order in project documentation by cuba-platform.

the class OrdersHistory method onInit.

@Subscribe
private void onInit(InitEvent event) {
    Order initialValue = metadata.create(Order.class);
    initialValue.setAmount(new BigDecimal(random.nextInt(1000) + 100));
    initialValue.setDate(timeSource.currentTimestamp());
    ordersDc.getMutableItems().add(initialValue);
}
Also used : Order(com.company.sales.entity.Order) BigDecimal(java.math.BigDecimal)

Example 3 with Order

use of com.company.sales.entity.Order in project documentation by cuba-platform.

the class OrdersHistory method updateChart.

public void updateChart(Timer source) {
    Order orderHistory = metadata.create(Order.class);
    orderHistory.setAmount(new BigDecimal(random.nextInt(1000) + 100));
    orderHistory.setDate(timeSource.currentTimestamp());
    ;
    ordersDc.getMutableItems().add(orderHistory);
}
Also used : Order(com.company.sales.entity.Order) BigDecimal(java.math.BigDecimal)

Aggregations

Order (com.company.sales.entity.Order)3 BigDecimal (java.math.BigDecimal)2 OrderLine (com.company.sales.entity.OrderLine)1 TransactionalDataManager (com.haulmont.cuba.core.TransactionalDataManager)1 EntityChangedEvent (com.haulmont.cuba.core.app.events.EntityChangedEvent)1 Id (com.haulmont.cuba.core.entity.contracts.Id)1 UUID (java.util.UUID)1 Inject (javax.inject.Inject)1 EventListener (org.springframework.context.event.EventListener)1 Component (org.springframework.stereotype.Component)1