internal static MatchedOrder Create(IOrderBase orderBase, double volume) { return(new MatchedOrder { Id = orderBase.Id, Volume = volume }); }
public (string, string) CreateOrder(string openId, IOrderBase order, string notifyurl) { JsApiPay jsApiPay = new JsApiPay(); var outTradeNo = WxPayApi.GenerateOutTradeNo(); var orderDict = new Dictionary <string, string>(); orderDict.Add("fee", order.Fee.ToString()); orderDict.Add("name", order.Name); orderDict.Add("notify_url", notifyurl); orderDict.Add("openid", openId); orderDict.Add("tag", order.Tag); orderDict.Add("desc", order.Desc); orderDict.Add("out_trade_no", outTradeNo); var wxPayData = jsApiPay.GetUnifiedOrderResult(orderDict); return(GetJsApiParameters(wxPayData), outTradeNo); }
public (Stream, string) NativeCreateOrder(string openId, IOrderBase order, string notifyUrl) { NativePay nativePay = new NativePay(); var outTradeNo = WxPayApi.GenerateOutTradeNo(); var orderDict = new Dictionary <string, string>(); orderDict.Add("fee", order.Fee.ToString()); orderDict.Add("name", order.Name); orderDict.Add("notify_url", notifyUrl); orderDict.Add("tag", order.Tag ?? String.Empty); orderDict.Add("desc", order.Desc ?? String.Empty); orderDict.Add("out_trade_no", outTradeNo); orderDict.Add("productId", order.Id.ToString()); var payUrl = nativePay.GetPayUrl(orderDict); return(MakeQRCode(payUrl), outTradeNo); }
public static OrderBase Create(IOrderBase src) { return(new OrderBase { Id = src.Id, ClientId = src.ClientId, TradingAccountId = src.TradingAccountId, CreatedAt = src.CreatedAt, Volume = src.Volume, Price = src.Price, InstrumentId = src.InstrumentId, Status = src.Status, DefinedPrice = src.DefinedPrice, LastModified = src.LastModified, Comment = src.Comment, TakeProfit = src.TakeProfit, StopLoss = src.StopLoss }); }
public async Task <(string, CourseOrder)> PayOrder(string openId, IOrderBase order, string notifyurl) { (string, CourseOrder)result; switch (order.PayChannel) { case PayChannel.WeChat: default: result = await Task.Run(() => { var uniferOrderData = wxPayService.CreateOrder(openId, order, notifyurl); order.OutTradeNo = uniferOrderData.Item2; return(uniferOrderData.Item1, order as CourseOrder); }); break; } return(result); }
public static OrderAction OrderAction(this IOrderBase orderBase) { return(orderBase.Volume > 0 ? Exchange.OrderAction.Buy : Exchange.OrderAction.Sell); }
private static ClientTrade CreateCommonPartForTradeRecord(LimitQueueItem.LimitTradeInfo trade, IOrderBase limitOrder, string btcTransactionId, double price) { return(new ClientTrade { DateTime = trade.Timestamp, Price = price, LimitOrderId = limitOrder.Id, OppositeLimitOrderId = trade.OppositeOrderExternalId, TransactionId = btcTransactionId, IsLimitOrderResult = true, State = Service.OperationsRepository.AutorestClient.Models.TransactionStates.SettledOffchain }); }
public static bool IsActiveOrder(this IOrderBase order) { return(!(!double.IsNaN(order.DefinedPrice) && (Math.Abs(order.DefinedPrice) > 0))); }
public async Task <(Stream, CourseOrder)> PayNativeOrder(string openId, IOrderBase order, string notifyurl) { var(picStream, outTrade) = wxPayService.NativeCreateOrder(openId, order, notifyurl); order.OutTradeNo = outTrade; return(await Task.Run(() => (picStream, order as CourseOrder))); }
private async Task UpdateCache(IOrderBase meOrder) { var count = (await _limitOrdersRepository.GetActiveOrdersAsync(meOrder.ClientId)).Count(); await _clientCacheRepository.UpdateLimitOrdersCount(meOrder.ClientId, count); }