package it.integry.integrywmsnative.gest.rettifica_giacenze;

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.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.gest.rettifica_giacenze.rest.RettificaGiacenzeRESTConsumer;

@Module(subcomponents = RettificaGiacenzeComponent.class)
public class RettificaGiacenzeModule {


    @Provides
    @Singleton
    RettificaGiacenzeRESTConsumer providesRettificaGiacenzeRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
        return new RettificaGiacenzeRESTConsumer(systemRESTConsumer);
    }


    @Provides
    @Singleton
    RettificaGiacenzeViewModel providesRettificaGiacenzeViewModel(ArticoloRESTConsumer articoloRESTConsumer,
                                                                  ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
                                                                  PrinterRESTConsumer printerRESTConsumer,
                                                                  BarcodeRESTConsumer barcodeRESTConsumer,
                                                                  RettificaGiacenzeRESTConsumer rettificaGiacenzeRESTConsumer) {
        return new RettificaGiacenzeViewModel(articoloRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, barcodeRESTConsumer, rettificaGiacenzeRESTConsumer);
    }
}
