コード例 #1
0
 public async Task <IEnumerable <Artigo> > ObterUltimasPublicacoes(BlogEnum blog)
 {
     return(await FindAll()
            .Where(filtro => filtro.AQualBlogPertence.Equals(blog.ToString()))
            .Take(5)
            .ToListAsync());
 }
コード例 #2
0
 public async Task <IEnumerable <Artigo> > ObterTodos(int page, int quantity, BlogEnum blog)
 {
     return(await FindAll()
            .Where(filtro => filtro.AQualBlogPertence.Equals(blog.ToString()))
            .OrderByDescending(filtro => filtro.DataPublicacao)
            .Skip((page - 1) * quantity)
            .Take(quantity)
            .ToListAsync());
 }
コード例 #3
0
        private string ObterUrlBlog(BlogEnum blog)
        {
            switch (blog)
            {
            case BlogEnum.DiarioEngenheiroSoftware:
                return("diario-de-um-engenheiro-de-software");
            }

            return(null);
        }
        public async Task <Message <int> > ObterQuantidadeArtigosPorCategoria(BlogEnum blog)
        {
            var message = new Message <int>();

            try
            {
                message.Ok(await this.artigoService.ObterQuantidadeArtigosPorCategoria(blog));
            }
            catch (Exception exception)
            {
                message.Error(exception);
            }

            return(message);
        }
        public async Task <Message <IEnumerable <ArtigoDto> > > ObterUltimasPublicacoes(BlogEnum blog)
        {
            var message = new Message <IEnumerable <ArtigoDto> >();

            try
            {
                var ultimasPublicacoes = this.mapper.Map <IEnumerable <ArtigoDto> >(await this.artigoService.ObterUltimasPublicacoes(blog));
                if (!ultimasPublicacoes.Any())
                {
                    message.NotFound();

                    return(message);
                }

                message.Ok(ultimasPublicacoes);
            }
            catch (Exception exception)
            {
                message.Error(exception);
            }

            return(message);
        }
        public async Task <Message <IEnumerable <ArtigoDto> > > ObterArtigosPaginados(int page, int quantity, BlogEnum blog)
        {
            var message = new Message <IEnumerable <ArtigoDto> >();

            try
            {
                var artigos = this.mapper.Map <IEnumerable <ArtigoDto> >(await this.artigoService.ObterTodos(page, quantity, blog));
                if (!artigos.Any())
                {
                    message.NotFound();
                }

                message.Ok(artigos);
            }
            catch (Exception exception)
            {
                message.Error(exception);
            }

            return(message);
        }
コード例 #7
0
 public async Task <int> ObterQuantidadeArtigosPorCategoria(BlogEnum blog)
 {
     return(await FindAll()
            .CountAsync());
 }
コード例 #8
0
 public async Task <IEnumerable <Artigo> > ObterUltimasPublicacoes(BlogEnum blog)
 {
     return(await CarregarCaminhosDasImagens(await this.repositorio.Artigo.ObterUltimasPublicacoes(blog), ObterUrlBlog(blog)));
 }
コード例 #9
0
 public async Task <IEnumerable <Artigo> > ObterTodos(int page, int quantity, BlogEnum blog)
 {
     return(await CarregarCaminhosDasImagens(await this.repositorio.Artigo.ObterTodos(page, quantity, blog),
                                             ObterUrlBlog(blog)));
 }
コード例 #10
0
 public async Task <int> ObterQuantidadeArtigosPorCategoria(BlogEnum blog)
 {
     return(await this.repositorio.Artigo.ObterQuantidadeArtigosPorCategoria(blog));
 }
コード例 #11
0
        public async Task <IActionResult> GetUltimasPublicacoes(BlogEnum blog)
        {
            var message = await this.facade.ObterUltimasPublicacoes(blog);

            return(StatusCode(message.StatusCode, message));
        }
コード例 #12
0
        public async Task <IActionResult> Get(BlogEnum blog, int pagina, int quantidade)
        {
            var message = await this.facade.ObterArtigosPaginados(pagina, quantidade, blog);

            return(StatusCode(message.StatusCode, message));
        }
コード例 #13
0
        public async Task <IActionResult> GetCountPorCategoria(BlogEnum blog)
        {
            var message = await this.facade.ObterQuantidadeArtigosPorCategoria(blog);

            return(StatusCode(message.StatusCode, message));
        }