package it.integry.integrywmsnative.core.data_store.db.repository;

import java.util.List;

import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;

public interface OrdineRepository {

    void selectAll(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError);

    void selectAllTransmitted(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError);

    void selectAllOpenOrders(String codAlis, RunnableArgs<List<OrdineWrapper>> onSuccess, RunnableArgs<Exception> onError);

    void insert(Ordine ordine, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError);

    void updateOrder(Ordine ordine, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError);

    void delete(Ordine ordine, Runnable onSuccess, RunnableArgs<Exception> onError);


}
