package com.safeway.poc.repository;

import com.safeway.poc.dto.*;
import org.springframework.boot.CommandLineRunner;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.util.Arrays;
import java.util.Collection;


public class DbSeeder  {
    /*private LegoSetRepository legoSetRepository;
    private MongoTemplate mongoTemplate;

    public DbSeeder(LegoSetRepository legoSetRepository, MongoTemplate mongoTemplate) {
        this.legoSetRepository = legoSetRepository;
        this.mongoTemplate = mongoTemplate;
    }

    @Override
    public void run(String... args) {
        this.legoSetRepository.deleteAll();
        this.mongoTemplate.dropCollection(PaymentOptionsDTO.class);

        *//*
        Payment Options
         *//*

        PaymentOptionsDTO creditCardPayment = new PaymentOptionsDTO("10", PaymentTypeDTO.CreditCard,"100000");
        PaymentOptionsDTO payPalPayment = new PaymentOptionsDTO("11", PaymentTypeDTO.PayPal,"200000");
        PaymentOptionsDTO cashPayment = new PaymentOptionsDTO("12", PaymentTypeDTO.Cash,"300000");
        this.mongoTemplate.insert(creditCardPayment);
        this.mongoTemplate.insert(payPalPayment);
        this.mongoTemplate.insert(cashPayment);

        *//*
        Lego Sets
         *//*

        LegoSetDTO milleniumFalcon = new LegoSetDTO("1",
                "Millennium Falcon",
                LegoSetDifficultyDTO.HARD,
                "Star Wars",
                Arrays.asList(
                new ProductReviewDTO("Dan", 7),
                new ProductReviewDTO("Anna", 10),
                new ProductReviewDTO("John", 8)),
                new DeliveryInfoDTO(LocalDate.now().plusDays(1), 30, true),
                creditCardPayment);

        LegoSetDTO skyPolice = new LegoSetDTO("2",
                "Sky Police Air Base",
                LegoSetDifficultyDTO.MEDIUM,
                "City",

                Arrays.asList(
                        new ProductReviewDTO("Dan", 5),
                        new ProductReviewDTO("Andrew", 8)
                ),new DeliveryInfoDTO(LocalDate.now().plusDays(3), 50, true),
                creditCardPayment);

        LegoSetDTO mcLarenSenna = new LegoSetDTO("3",
                "McLaren Senna",
                LegoSetDifficultyDTO.EASY,
                "Speed Champions",
                Arrays.asList(
                        new ProductReviewDTO("Bogdan", 9),
                        new ProductReviewDTO("Christa", 9)
                ),
                new DeliveryInfoDTO(LocalDate.now().plusDays(7), 70, false),

                payPalPayment);

        LegoSetDTO mindstormsEve = new LegoSetDTO("4",
                "MINDSTORMS EV3",
                LegoSetDifficultyDTO.HARD,
                "Mindstorms",
                Arrays.asList(
                        new ProductReviewDTO("Cosmin", 10),
                        new ProductReviewDTO("Jane", 9),
                        new ProductReviewDTO("James", 10)
                ),
                new DeliveryInfoDTO(LocalDate.now().plusDays(10), 100, false),

                cashPayment);

        Collection<LegoSetDTO> initialProducts = Arrays.asList(milleniumFalcon, mindstormsEve,mcLarenSenna,skyPolice);

        this.legoSetRepository.insert(initialProducts);
    }*/
}