public ResponseContext Delete(Dictionary <string, object> param) { RequestContext request = (RequestContext)param["request"]; MtcgClient client = (MtcgClient)param["client"]; //trade with existing deal if (!string.IsNullOrWhiteSpace(request.RequestedResource)) { TradingDeal pendingDeal = null; if (!_marketController.TradingDealExists(request.RequestedResource, out pendingDeal)) { return(new ResponseContext(request, new KeyValuePair <StatusCode, object>(StatusCode.BadRequest, $"There is no open deal with the given id {request.RequestedResource}"))); } if (pendingDeal.PublisherId != client.User.UserId) { return(new ResponseContext(request, new KeyValuePair <StatusCode, object>(StatusCode.BadRequest, "You can't delete a trade that you did not create"))); } return(new ResponseContext(request, _marketController.DeleteTradingDeal(pendingDeal))); } return(new ResponseContext(request, new KeyValuePair <StatusCode, object>(StatusCode.BadRequest, "You must provide an id of an open trading deal"))); }