Exemplo n.º 1
0
        /// <summary>
        /// 获取下单状态
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public static async Task <GetOrderRes> GetOrderAsync(GetOrderReq req)
        {
            try
            {
                var requestUrl = TRADE_URL + GET_ORDER_URL;

                var form = new Dictionary <string, string>();
                form.Add("orderNumber", req.OrderNo);
                form.Add("currencyPair", req.CurrencyPair);

                var json = await PostReqAsync(requestUrl, form);

                var parse = JToken.Parse(json) as dynamic;
                if (parse.result == "true")
                {
                    return(parse.order.ToObject <GetOrderRes>());
                }
                else
                {
                    var code    = parse.code.ToString();
                    var message = parse.message.ToString();

                    throw new BotException(code, message);
                }
            }
            catch (JsonSerializationException)
            {
                throw new BotException("1002");
            }
            catch (Exception ex)
            {
                throw new BotException("1000", ex.Message);
            }
        }
Exemplo n.º 2
0
        public async Task <ServiceResponse <List <Order> > > GetOrders(LinCUser user, int?orderId = null)
        {
            var headers = RequestHeaderCreator.GetWebApiClientHeader();

            GetOrderReq getOrdReq = new GetOrderReq();

            switch (user.UserTypeId)
            {
            case 2:     //LinCUserType.Consumer:
                getOrdReq.ConsumerId = user.UserId;
                getOrdReq.SearchType = "CONSUMER";
                break;

            case 1:    // LinCUserType.Supplier:
                getOrdReq.SupplierId = user.UserId;
                getOrdReq.SearchType = "SUPPLIER";
                break;

            case 3:    // LinCUserType.Volunteer:
                getOrdReq.VolunteerId = user.UserId;
                getOrdReq.SearchType  = "VOLUNTEER";
                break;

            default:
                break;
            }

            getOrdReq.OrderId = orderId;

            var response = await _restClient
                           .ExecuteAsync <string, GetOrderReq>(
                HttpVerb.POST,
                action : "/product/getOrder",
                paramMode : HttpParamMode.BODY,
                requestBody : getOrdReq,
                headers : headers,
                apiRoutePrefix : $"{AppSettings.ApiEndpoint}"
                );

            if (!response.IsOK() || string.IsNullOrEmpty(response.StringData))
            {
                return(new ServiceResponse <List <Order> >(ServiceStatus.Error, data: null, errorCode: LinCTrasactionStatus.Failure.ToString(), errorMessage: "Problem in saving product."));
            }

            var jSonResponse = response.StringData.Replace(@"\", string.Empty);

            if (jSonResponse.Contains("errorMessage"))
            {
                return(new ServiceResponse <List <Order> >(ServiceStatus.Error, data: null, errorCode: LinCTrasactionStatus.Failure.ToString(), errorMessage: "Problem in saving product."));
            }

            var ordersResponse = JsonConvert.DeserializeObject <GetOrderResponse>(jSonResponse);

            return(new ServiceResponse <List <Order> >(ServiceStatus.Success, data: ordersResponse.Orders));
        }