All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.escalon.hypermedia.sample.store.OrderBackend Maven / Gradle / Ivy

There is a newer version: 0.4.2
Show newest version
package de.escalon.hypermedia.sample.store;

import de.escalon.hypermedia.sample.model.store.OrderModel;
import de.escalon.hypermedia.sample.model.store.OrderStatus;
import de.escalon.hypermedia.sample.model.store.OrderedItemModel;
import de.escalon.hypermedia.sample.model.store.ProductModel;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * Mock order backend.
 * Created by Dietrich on 17.02.2015.
 */
@Component
public class OrderBackend {
    public static int orderCounter;
    public static int orderedItemCounter;
    public List orderModels = new ArrayList();

    public OrderModel createOrder() {
        OrderModel orderModel = new OrderModel();
        orderModel.setId(orderCounter++);
        orderModels.add(orderModel);
        return orderModel;
    }

    public OrderModel addOrderedItem(int orderId, ProductModel productModel) {
        OrderModel orderModel = orderModels.get(orderId);
        List products = orderModel.getOrderedItems();
        products.add(new OrderedItemModel(productModel, orderedItemCounter++));
        return orderModel;
    }

    public OrderModel orderAccessoryForOrderedItem(int orderId, int orderedItemId, ProductModel accessory) {
        OrderModel orderModel = orderModels.get(orderId);
        List products = orderModel.getOrderedItems();
        OrderedItemModel orderedItem = products.get(orderedItemId); // by index
        orderedItem.orderedItem.addAccessory(accessory);
        return orderModel;
    }

    public OrderModel getOrder(int id) {
        return orderModels.get(id);
    }

    public List getOrders() {
        return orderModels;
    }

    public List getOrdersByStatus(OrderStatus orderStatus) {
        List ret = new ArrayList();
        for (OrderModel orderModel : orderModels) {
            if (orderModel.getOrderStatus() == orderStatus) {
                ret.add(orderModel);
            }
        }
        return ret;
    }

    public void deleteOrderedItem(int orderId, int orderedItemId) {
        OrderModel order = getOrder(orderId);
        order.getOrderedItems().remove(orderedItemId);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy