public List <LivroDTO> ObterAutores()
        {
            LivrariaRepository service = new LivrariaRepository();

            return(service.ObterLivros().Select(p => new LivroDTO
            {
                Autor = p.Autor,
                Id = p.Id
            }).ToList());
        }
        public List <LivroDTO> ObterTitulos()
        {
            LivrariaRepository sevice = new LivrariaRepository();

            return(sevice.ObterLivros().Select(p => new LivroDTO
            {
                Titulo = p.Titulo,
                Id = p.Id
            }
                                               ).ToList());
        }
        public UnitOfWorkTest()
        {
            string baseDir = AppDomain.CurrentDomain.BaseDirectory;
            int    index   = baseDir.IndexOf("DapperUnitOfWorkTests");
            string dataDir = baseDir.Substring(0, index);

            AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(new string[] { dataDir, "DapperUnitOfWork", "bin", "Debug" }));

            _context            = new LivrariaContext();
            _uow                = new UnitOfWork(_context.Connection());
            _livrariaRepository = new LivrariaRepository(_uow);
        }
        public List <LivroDTO> ObterLivrosPorAutor(string autor)
        {
            ValidarPesquisas("autor", autor);
            LivrariaRepository service = new LivrariaRepository();

            return(service.ObterLivros().Select(p => new LivroDTO
            {
                Autor = p.Autor,
                Titulo = p.Titulo,
                Id = p.Id,
                Valor = p.Valor,
                Tema = new TemaLivroDTO {
                    Id = p.Tema.Id, Descricao = p.Tema.Descricao
                }
            }).Where(p => p.Autor.ToUpper().Contains(autor.ToUpper())).ToList());
        }
        public List <LivroDTO> ObterLivros()
        {
            LivrariaRepository service = new LivrariaRepository();

            return(service.ObterLivros().Select(p =>
                                                new LivroDTO
            {
                Autor = p.Autor,
                Id = p.Id,
                Titulo = p.Titulo,
                Valor = p.Valor,
                Tema = new TemaLivroDTO {
                    Descricao = p.Tema.Descricao
                }
            }).ToList());
        }
        public List <TemaLivroDTO> ObterTemas()
        {
            LivrariaRepository service = new LivrariaRepository();
            var valida = service.ObterLivros().Select(p => new TemaLivroDTO
            {
                Descricao = p.Tema.Descricao,
                Id        = p.Tema.Id
            }).ToList();

            List <TemaLivroDTO> lista = new List <TemaLivroDTO>();

            foreach (var item in valida)
            {
                if (!lista.Exists(p => p.Id == item.Id))
                {
                    lista.Add(item);
                }
            }

            return(lista.ToList());
        }