public BaseResponse <GetGuitarListResponse, object> GetGuitar(GetGuitarFiltersRequest request) { var method = HttpMethod.Get; var endpoint = $"guitars"; return(this.RestClient.SendRequest <GetGuitarListResponse, object>(method, endpoint, query: request?.GetQuery())); }
public GetGuitarListResponse GetAll(GetGuitarFiltersRequest filters) { var query = this.Guitars; if (!string.IsNullOrEmpty(filters.Model)) { query = query.Where(g => !string.IsNullOrWhiteSpace(g.Model) && g.Model.ToLower().Contains(filters.Model?.ToLower())); } if (!string.IsNullOrEmpty(filters.Color)) { query = query.Where(g => !string.IsNullOrWhiteSpace(g.Color) && g.Color.ToLower().Contains(filters.Color?.ToLower())); } int totalItems = query?.ToList()?.Count() ?? 0; int countToSkip = ((filters.Page - 1) * filters.Size); query = query.Skip(countToSkip).Take(filters.Size); var guitars = HydrateGetGuitarListResponse(query); return(new GetGuitarListResponse(guitars, filters.Page, filters.Size, totalItems)); }
public IActionResult Get([FromQuery] GetGuitarFiltersRequest request) { return(Ok(_service.GetAll(request))); }