public async Task <PagedList <Badge> > GetAllBadges(BadgeParams badgeParams) { logger.LogInformation("GetAllBadges was called"); var badges = context.Badges.AsQueryable(); return(await PagedList <Badge> .CreateAsync(badges, badgeParams.PageNumber, badgeParams.PageSize)); }
public async Task <PagedList <Badge> > GetBadgesByType(BadgeParams badgeParams, BadgeTypeEnum type) { logger.LogInformation($"GetBadgesByType was called with parameter {type}"); var badge = GetBadgeQuery(type); if (badge == null) { logger.LogError($"Badge type was not found: {type}"); return(null); } return(await PagedList <Badge> .CreateAsync(badge, badgeParams.PageNumber, badgeParams.PageSize)); }
public async Task <IActionResult> GetAsync([FromQuery] BadgeParams badgeParams) { try { var badges = await repository.GetAllBadges(badgeParams); Response.AddPagination(badges.CurrentPage, badges.PageSize, badges.TotalCount, badges.TotalPages); return(Ok(badges)); } catch (Exception ex) { logger.LogError($"Failed to get all badges: {ex}"); return(BadRequest("Failed to get all badges")); } }