public async Task <PagedList <CategoryDto> > Handle(GetCategoriesCreatedByUserQuery query, CancellationToken cancellationToken) { using var connection = new SqlConnection(_connectionStringProvider.ConnectionString); connection.Open(); return((await connection.QueryAsync <CategoryDto>(sql, new { UserId = query.CreatedBy })).ToPagedList(query.PageNumber, query.PageSize)); }
public async Task <IActionResult> GetCategoriesAsync() { if (!Guid.TryParse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value, out Guid userId)) { return(Unauthorized()); } var getCategoriesCreatedByUserQuery = new GetCategoriesCreatedByUserQuery() { CreatedBy = userId }; var categories = await _mediator.Send(getCategoriesCreatedByUserQuery); Response.AddPaginationMetadata(categories); return(Ok(categories)); }