package it.integry.integrywmsnative.gest.picking_libero;

import javax.inject.Singleton;

import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;

@Module(subcomponents = {PickingLiberoComponent.class})
public class PickingLiberoModule {

    @Provides
    @Singleton
    PickingLiberoViewModel providesPickingLiberoViewModel(ArticoloRESTConsumer articoloRESTConsumer,
                                                          ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
                                                          BarcodeRESTConsumer barcodeRESTConsumer,
                                                          PosizioniRESTConsumer posizioniRESTConsumer,
                                                          GiacenzaRESTConsumer giacenzaRESTConsumer,
                                                          MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer
    ) {
        return new PickingLiberoViewModel(articoloRESTConsumer, colliMagazzinoRESTConsumer, barcodeRESTConsumer, posizioniRESTConsumer, giacenzaRESTConsumer, magazzinoAutomaticoRESTConsumer);
    }
}
