public async Task <BazaarLink?> ModifyBazaarAsync(long id, Json.Patch.JsonPatch bzMod) { var item = _holder.BazaarItems.Values .FirstOrDefault(o => o.BazaarItem?.BazaarItemId == id); if ((item?.BazaarItem == null) || (item.BazaarItem?.Amount != item.ItemInstance?.Amount)) { return(null); } var result = bzMod.Apply(JsonDocument.Parse(JsonSerializer.SerializeToUtf8Bytes(item)).RootElement); item = JsonSerializer.Deserialize <BazaarLink>(result !.Result.GetRawText()); var bz = item !.BazaarItem !; await _bazaarItemDao.TryInsertOrUpdateAsync(bz).ConfigureAwait(true); _holder.BazaarItems[item.BazaarItem !.BazaarItemId] = item;
public Task <BazaarLink?> ModifyBazaarAsync(long id, [FromBody] Json.Patch.JsonPatch bzMod) => _bazaarService.ModifyBazaarAsync(id, bzMod);