Пример #1
0
        private async Task <OnlineOrder[]> QueryOnineOrders(TradeStates[] includeStates, TradeStates[] excludeStates)
        {
            var url    = string.Format(Constants.API, "QueryOnlineOrders");
            var result = url.GetUriJsonContent <OnlineOrder[]>((http) => {
                var queryFilter = new OnineOrderQueryFilter()
                {
                    MchId         = 1,
                    States        = includeStates,
                    ExcludeStates = excludeStates,
                    Type          = TradeTypes.Consume,
                    Start         = DateTime.Now.Date.AddDays(-1)
                };
                http.Method      = "POST";
                http.ContentType = "application/json";
                using (var stream = http.GetRequestStream()) {
                    var body    = queryFilter.SerializeToJson();
                    var buffers = UTF8Encoding.UTF8.GetBytes(body);
                    stream.Write(buffers, 0, buffers.Length);
                    stream.Flush();
                }
                return(http);
            });

            return(result);
        }
Пример #2
0
        public OnlineOrder[] QueryOnlineOrders(OnineOrderQueryFilter filter)
        {
            Guard.ArgumentNotNull(filter, "filter");
            if (filter.Keys == null || filter.Keys.Length.Equals(0))
            {
                filter.Start = filter.Start ?? DateTime.Now.Date;
                filter.End   = filter.End ?? DateTime.Now.Date.AddDays(1);
            }

            filter.Type = filter.Type ?? TradeTypes.Consume;
            return(client.QueryOnlineOrders(filter));
        }
Пример #3
0
 public OnlineOrder[] QueryOnlineOrders(OnineOrderQueryFilter filter)
 {
     using (var database = this.databaseFactory.GenerateDatabase(isWriteOnly: false)) {
         var queryString = string.Concat("SELECT TradeId,TradeCode,TradeState,CreatedDateTime,Attach FROM [dbo].[Trade]", filter.GenernateWhereCase());
         var results     = database.SqlQuery <TradeDetails>(queryString);
         if (results == null || results.Count().Equals(0))
         {
             return new OnlineOrder[] { }
         }
         ;
         return(results.Select((ctx) => {
             return ctx.Attach.DeserializeToObject <OrderContext>().Convert(ctx.TradeId, ctx.TradeCode, ctx.TradeState);
         }).ToArray());
     }
 }