package it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit;

import javax.inject.Singleton;

import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;

@Module(subcomponents = PVOrdineAcquistoEditComponent.class)
public class PVOrdineAcquistoEditModule {



    @Provides
    @Singleton
    PVOrdiniAcquistoRESTConsumer providesPVOrdiniAcquistoRESTConsumer() {
        return new PVOrdiniAcquistoRESTConsumer();
    }

    @Provides
    PVOrdineAcquistoEditViewModel providesPvOrdineAcquistoEditViewModel(OrdineRepository ordineRepository,
                                                                        GrigliaRepository grigliaRepository,
                                                                        ArticoliOrdineRepository articoliOrdineRepository,
                                                                        ArticoloGrigliaRepository articoloGrigliaRepository,
                                                                        PVOrdiniAcquistoRESTConsumer pvOrdiniAcquistoRESTConsumer) {
        return new PVOrdineAcquistoEditViewModel(ordineRepository, grigliaRepository, articoliOrdineRepository, articoloGrigliaRepository, pvOrdiniAcquistoRESTConsumer);
    }

}
