private async Task <BrickLinkResponse <PriceData <T> > > ExecutePartPriceRequest <T>( Part part, StateType state, PriceGuideType priceGuide ) where T : IPriceData { var request = new RestRequest($"items/part/{part.Number}/price"); request.AddQueryParameter("new_or_used", state.GetEnumMemberValue()); request.AddQueryParameter("guide_type", priceGuide.GetEnumMemberValue()); request.AddQueryParameter("color_id", ((int)part.Color).ToString()); var response = await client.ExecuteAsync(request); if (!response.IsSuccessful) { throw new Exception("Something wrong with BrickLink Part Price request"); } return(JsonConvert.DeserializeObject <BrickLinkResponse <PriceData <T> > >(response.Content)); }