package it.integry.integrywmsnative.gest.accettazione_picking;

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.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_picking.rest.AccettazionePickingRESTConsumer;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;

@Module(subcomponents = AccettazionePickingComponent.class)
public class AccettazionePickingModule {

    @Provides
    AccettazionePickingRESTConsumer providesAccettazionePickingRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
        return new AccettazionePickingRESTConsumer(systemRESTConsumer);
    }

    @Provides
    BottomSheetFragmentLUContentViewModel providesBottomSheetFragmentLUContentViewModel() {
        return new BottomSheetFragmentLUContentViewModel();
    }

    @Provides
    AccettazionePickingViewModel providesAccettazioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, AccettazionePickingRESTConsumer accettazionePickingRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) {
        return new AccettazionePickingViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, accettazionePickingRESTConsumer, gestSetupRESTConsumer);
    }

}
