/// <inheritdoc/> public async Task <QBPriceLevelResponse <T> > SetPriceLevel <T>(string itemId, string priceLevelId, string editSequence, double newPrice) { await OpenConnection(); IMsgSetRequest request = CreateRequest(); IPriceLevelMod priceLevelRequest = request.AppendPriceLevelModRq(); priceLevelRequest.ListID.SetValue(priceLevelId); priceLevelRequest.EditSequence.SetValue(editSequence); IPriceLevelPerItem itemRefRequest = priceLevelRequest.ORPriceLevel.PriceLevelPerItemCurrency.PriceLevelPerItemList.Append(); itemRefRequest.ItemRef.ListID.SetValue(itemId); itemRefRequest.ORPriceLevelPrice.ORCustomPrice.ORORCustomPrice.CustomPrice.SetValue(newPrice); // TODO - parse this to make sure out updates was execute successfully and // if so then we want to merge this with our local instance of the item IMsgSetResponse queryResponse = await MakeRequestAsync(request).ConfigureAwait(false); CloseConnection(); return(ProcessQueryAsXML <QBPriceLevelResponse <T> >(queryResponse, "PriceLevelModRs")); }