コード例 #1
0
ファイル: TradeApi.cs プロジェクト: RobertHaslinger/SWE1-MTCG
        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")));
        }