public AplicaMedicamentoController(IAplicaMedicamentoService aplicaMedicamentoService,
                                    IMedicamentoService medicamentoService,
                                    IAnimalService animalService,
                                    IPessoaService pessoaService,
                                    IMapper mapper)
 {
     _aplicaMedicamentoService = aplicaMedicamentoService;
     _medicamentoService       = medicamentoService;
     _animalService            = animalService;
     _pessoaService            = pessoaService;
     _mapper = mapper;
 }
        public void Initialize()
        {
            var builder = new DbContextOptionsBuilder <GestaoAnimalContext>();

            builder.UseInMemoryDatabase("Gestao Animal");
            var options = builder.Options;

            context = new GestaoAnimalContext(options);
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            var aplicacoesMedicamento = new List <Aplicamedicamento>
            {
                new Aplicamedicamento {
                    IdAplicaMedicamento = 1,
                    IdMedicamento       = 1,
                    IdAnimal            = 1,
                    IdPessoa            = 1,
                    DataAplicacao       = DateTime.Parse("2020-10-20 15:00:00"),
                    Dosagem             = "12 mg",
                    Observacoes         = "Sem observações."
                },
                new Aplicamedicamento {
                    IdAplicaMedicamento = 2,
                    IdMedicamento       = 3,
                    IdAnimal            = 2,
                    IdPessoa            = 1,
                    DataAplicacao       = DateTime.Parse("2020-12-17 16:00:00"),
                    Dosagem             = "25 mg",
                    Observacoes         = "Retornar para clínica em 7 dias."
                },
                new Aplicamedicamento {
                    IdAplicaMedicamento = 3,
                    IdMedicamento       = 2,
                    IdAnimal            = 2,
                    IdPessoa            = 1,
                    DataAplicacao       = DateTime.Parse("2021-03-04 13:00:00"),
                    Dosagem             = "200 mg",
                    Observacoes         = "Utilizado como medida preventiva."
                },
            };

            var medicamentos = new List <Medicamento>
            {
                new Medicamento {
                    IdMedicamento = 1,
                    Nome          = "M1"
                },
                new Medicamento {
                    IdMedicamento = 2,
                    Nome          = "M2"
                },
                new Medicamento {
                    IdMedicamento = 3,
                    Nome          = "Floral"
                },
            };

            var animais = new List <Animal>
            {
                new Animal
                {
                    IdAnimal = 1,
                    Nome     = "Totó"
                },
                new Animal
                {
                    IdAnimal = 2,
                    Nome     = "Belinha"
                }
            };

            var pessoas = new List <Pessoa>
            {
                new Pessoa {
                    IdPessoa       = 1,
                    Nome           = "Joana",
                    DataNascimento =
                        DateTime.Parse("1992-06-06")
                }
            };

            context.AddRange(aplicacoesMedicamento);
            context.AddRange(medicamentos);
            context.AddRange(animais);
            context.AddRange(pessoas);
            context.SaveChanges();

            aplicaMedicamentoService = new AplicaMedicamentoService(context);
        }