void Notify_Finished(object sender, FinishedEventArgs e) { DateTime now = DateTime.Now; TradeTypes selfhelpInpour = TradeTypes.SelfhelpInpour; Member user = Users.GetUser(this.InpourRequest.UserId, false) as Member; decimal num = user.Balance + this.InpourRequest.InpourBlance; BalanceDetailInfo balanceDetails = new BalanceDetailInfo(); balanceDetails.UserId = this.InpourRequest.UserId; balanceDetails.UserName = user.Username; balanceDetails.TradeDate = now; balanceDetails.TradeType = selfhelpInpour; balanceDetails.Income = new decimal?(this.InpourRequest.InpourBlance); balanceDetails.Balance = num; if (this.paymode != null) { balanceDetails.Remark = "充值支付方式:" + this.paymode.Name; } if (PersonalHelper.Recharge(balanceDetails, this.InpourRequest.InpourId)) { Users.ClearUserCache(user); this.ResponseStatus(true, "success"); } else { PersonalHelper.RemoveInpourRequest(this.InpourId); this.ResponseStatus(false, "fail"); } }
private void LoadParameters() { if (!Page.IsPostBack) { if (!string.IsNullOrEmpty(Page.Request.QueryString["dataStart"])) { dataStart = new DateTime?(Convert.ToDateTime(base.Server.UrlDecode(Page.Request.QueryString["dataStart"]))); } if (!string.IsNullOrEmpty(Page.Request.QueryString["dataEnd"])) { dataEnd = new DateTime?(Convert.ToDateTime(base.Server.UrlDecode(Page.Request.QueryString["dataEnd"]))); } if (!string.IsNullOrEmpty(Page.Request.QueryString["tradeType"])) { int result = 0; int.TryParse(Page.Request.QueryString["tradeType"], out result); tradeType = (TradeTypes)result; } ddlTradeType.DataBind(); ddlTradeType.SelectedValue = tradeType; calendarStart.SelectedDate = dataStart; calendarEnd.SelectedDate = dataEnd; } else { tradeType = ddlTradeType.SelectedValue; dataStart = calendarStart.SelectedDate; dataEnd = calendarEnd.SelectedDate; } }
private string GetTradeType(TradeTypes type, bool isDistributor = false) { string text = ""; switch (type) { case TradeTypes.SelfhelpInpour: return("自助充值"); case TradeTypes.BackgroundAddmoney: return("后台加款"); case TradeTypes.Consume: return("消费"); case TradeTypes.DrawRequest: return("提现"); case TradeTypes.RefundOrder: if (isDistributor) { return("采购单退款"); } return("订单退款"); case TradeTypes.ReturnOrder: return(isDistributor ? "采购单退货" : "订单退货"); case TradeTypes.Commission: return("分销奖励"); default: return("其他"); } }
private void Notify_Finished(object sender, FinishedEventArgs e) { DateTime now = DateTime.Now; TradeTypes tradeType = TradeTypes.SelfhelpInpour; MemberInfo user = Users.GetUser(this.InpourRequest.UserId); decimal balance = user.Balance + this.InpourRequest.InpourBlance; BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo(); balanceDetailInfo.UserId = this.InpourRequest.UserId; balanceDetailInfo.UserName = user.UserName; balanceDetailInfo.TradeDate = now; balanceDetailInfo.TradeType = tradeType; balanceDetailInfo.Income = this.InpourRequest.InpourBlance; balanceDetailInfo.Balance = balance; balanceDetailInfo.InpourId = this.InpourRequest.InpourId; if (this.paymode != null) { balanceDetailInfo.Remark = "充值支付方式:" + this.paymode.Name; } if (MemberProcessor.Recharge(balanceDetailInfo)) { this.ResponseStatus(true, "success"); } else { MemberProcessor.RemoveInpourRequest(this.InpourId); this.ResponseStatus(false, "fail"); } }
private void notify_PaidToMerchant(NotifyQuery sender) { DateTime now = DateTime.Now; TradeTypes selfHelpRecharge = TradeTypes.SelfHelpRecharge; decimal num = PaymentModeManage.GetAccountSummary(this.RechargeRequest.UserId). AccountAmount + this.RechargeRequest.RechargeBlance; BalanceDetailInfo balanceDetails = new BalanceDetailInfo { JournalNumber = this.RechargeRequest.RechargeId, UserId = this.RechargeRequest.UserId, TradeDate = now, TradeType = selfHelpRecharge, Income = this.RechargeRequest.RechargeBlance, Balance = num }; if (this.paymode != null) { balanceDetails.Remark = "充值支付方式:" + this.paymode.Name; } if (PaymentModeManage.AddBalanceDetail(balanceDetails)) { this.ResponseStatus(true, "success"); } else { PaymentModeManage.RemoveRechargeRequest(this.RechargeId); this.ResponseStatus(false, "fail"); } }
void Notify_Finished(object sender, FinishedEventArgs e) { DateTime now = DateTime.Now; TradeTypes selfhelpInpour = TradeTypes.SelfhelpInpour; Distributor user = Users.GetUser(InpourRequest.UserId, false) as Distributor; decimal num = user.Balance + InpourRequest.InpourBlance; BalanceDetailInfo balanceDetails = new BalanceDetailInfo(); balanceDetails.UserId = InpourRequest.UserId; balanceDetails.UserName = user.Username; balanceDetails.TradeDate = now; balanceDetails.TradeType = selfhelpInpour; balanceDetails.Income = new decimal?(InpourRequest.InpourBlance); balanceDetails.Balance = num; if (paymode != null) { balanceDetails.Remark = "充值支付方式:" + paymode.Name; } if (SubsiteStoreHelper.AddBalanceDetail(balanceDetails, InpourId)) { Users.ClearUserCache(user); ResponseStatus(true, "success"); } else { SubsiteStoreHelper.RemoveInpourRequest(InpourId); ResponseStatus(false, "fail"); } }
private void Notify_Finished(InpourRequestInfo inpourRequest) { DateTime now = DateTime.Now; TradeTypes tradeType = TradeTypes.SelfhelpInpour; MemberInfo user = Users.GetUser(inpourRequest.UserId); decimal balance = user.Balance + inpourRequest.InpourBlance; BalanceDetailInfo balanceDetailInfo = new BalanceDetailInfo(); balanceDetailInfo.UserId = inpourRequest.UserId; balanceDetailInfo.UserName = user.UserName; balanceDetailInfo.TradeDate = now; balanceDetailInfo.TradeType = tradeType; balanceDetailInfo.Income = inpourRequest.InpourBlance; balanceDetailInfo.Balance = balance; balanceDetailInfo.InpourId = inpourRequest.InpourId; balanceDetailInfo.Remark = "充值支付方式:微信支付"; if (MemberProcessor.Recharge(balanceDetailInfo)) { base.Response.Write("success"); } else { base.Response.Write("success"); } }
private void LoadParameters() { if (!this.Page.IsPostBack) { if (!string.IsNullOrEmpty(this.Page.Request.QueryString["dataStart"])) { this.dataStart = new System.DateTime?(System.Convert.ToDateTime(base.Server.UrlDecode(this.Page.Request.QueryString["dataStart"]))); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["dataEnd"])) { this.dataEnd = new System.DateTime?(System.Convert.ToDateTime(base.Server.UrlDecode(this.Page.Request.QueryString["dataEnd"]))); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["tradeType"])) { int num = 0; int.TryParse(this.Page.Request.QueryString["tradeType"], out num); this.tradeType = (TradeTypes)num; } this.ddlTradeType.DataBind(); this.ddlTradeType.SelectedValue = this.tradeType; this.calendarStart.SelectedDate = this.dataStart; this.calendarEnd.SelectedDate = this.dataEnd; return; } this.tradeType = this.ddlTradeType.SelectedValue; this.dataStart = this.calendarStart.SelectedDate; this.dataEnd = this.calendarEnd.SelectedDate; }
public ActionResult SaveBase64(String base64, TradeTypes tradeType) { ScreenshotDto dto = this._screenshotAppService.SaveBase64(base64); RecognizeText(dto.Id, tradeType).MapTo(dto); return(Json(dto)); }
protected override void OnDataBinding(EventArgs e) { if (!string.IsNullOrEmpty(this.tradeType)) { this.type = (TradeTypes)Enum.Parse(typeof(TradeTypes), DataBinder.Eval(this.Page.GetDataItem(), this.TradeType).ToString()); return; } base.OnDataBinding(e); }
protected override void OnDataBinding(EventArgs e) { if (!string.IsNullOrEmpty(tradeType)) { type = (TradeTypes) Enum.Parse(typeof(TradeTypes), DataBinder.Eval(Page.GetDataItem(), TradeType).ToString()); } else { base.OnDataBinding(e); } }
protected override void OnDataBinding(EventArgs e) { if (!string.IsNullOrEmpty(tradeType)) { type = (TradeTypes)Enum.Parse(typeof(TradeTypes), DataBinder.Eval(Page.GetDataItem(), TradeType).ToString()); } else { base.OnDataBinding(e); } }
public ExtractedPricesModel(String[] priceStrings, TradeTypes tradeType) { if (priceStrings != null && priceStrings.Length > 0) { if (tradeType == TradeTypes.LongFuture) { this.EntryPrice = ExtractPrice(priceStrings, "Upper Step", "Upper Stop", "Upper smp", "Upper Slop"); this.StopLossPrice = ExtractPrice(priceStrings, "Lower Step", "Lower Stop", "Lower smp", "Lower Slop"); this.ProfitTakerPrice = ExtractPrice(priceStrings, "Upper Target"); } else { this.EntryPrice = ExtractPrice(priceStrings, "Lower Step", "Lower Stop", "Lower smp", "Lower Slop"); this.StopLossPrice = ExtractPrice(priceStrings, "Upper Step", "Upper Stop", "Upper smp", "Upper Slop"); this.ProfitTakerPrice = ExtractPrice(priceStrings, "Lower Target"); } } }
private ExtractedPricesModel RecognizeText(int id, TradeTypes tradeType) { Screenshot screenshot = this._screenshotRepository.Get(id); ExtractedPricesModel model = null; using (var engine = new TesseractEngine(Server.MapPath(@"~/tessdata"), "eng", EngineMode.Default)) { using (var image = new System.Drawing.Bitmap(new MemoryStream(screenshot.Data))) { using (var pix = PixConverter.ToPix(image)) { using (var page = engine.Process(pix)) { var text = page.GetText(); String[] priceStrings = text.Replace("\n", ":").Replace(": ", ":").Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); model = new ExtractedPricesModel(priceStrings, tradeType); } } } } return(model); }
public override void DataBind() { this.tradeTypes = (TradeTypes)DataBinder.Eval(this.Page.GetDataItem(), "TradeType"); }
/// <summary> /// Trade /// </summary> /// <param name="symbolId">Symbol id</param> /// <param name="side">buy or sell</param> /// <param name="price">Base Price</param> /// <param name="amount">Amount</param> /// <param name="retryCount">Retry count when failed</param> /// <returns>Trade entity</returns> private TradeEntity Trade(int symbolId, TradeTypes side, decimal price, decimal amount, int retryCount = 1) { if (retryCount > ConfigTool.TradeFailedRetryCount) { // If retry ended, return return(null); } TradeEntity te = new TradeEntity(); bool isSucceeded = false; try { if (ConfigTool.RunMode == RunMode.TEST) { if (side == TradeTypes.BUY && TestConfigTool.TradeBaseToCoinFailed) { return(null); } else if (side == TradeTypes.SELL && TestConfigTool.TradeCoinToBaseFailed) { return(null); } else { // If test var receivedValue = amount.ToString(); var remainsValue = amount.ToString(); var orderId = "1"; var receivedD = (decimal)double.Parse(receivedValue); var remainsD = (decimal)double.Parse(remainsValue); te.Received = receivedD; te.Remains = remainsD; te.OrderId = orderId; isSucceeded = true; } } else { XElement data = null; if (side == TradeTypes.BUY) { //Try to buy data = privateApiInstance.BuyOrder(symbolId, price.ToString(), amount.ToString()); } else { //Try to sell data = privateApiInstance.SellOrder(symbolId, price.ToString(), amount.ToString()); } var id = data.Element("data").Element("order_id"); if (id != null && !string.IsNullOrEmpty(id.Value)) { // If id is returned var receivedValue = data.Element("data").Element("trade_volume").Value; var remainsValue = data.Element("data").Element("volume").Value; var orderId = id.Value; var receivedD = (decimal)double.Parse(receivedValue); var remainsD = (decimal)double.Parse(remainsValue); te.Received = receivedD; te.Remains = remainsD; te.OrderId = orderId; isSucceeded = true; } else { // If result is incorrect, output error log and retry if retry count is set var logMsg = "Error happened when trading in dragonex.The result is:" + data.ToString(); LogTool.LogTradeInfo(logMsg, LogLevels.ERROR); return(Trade(symbolId, side, price, amount, ++retryCount)); } } } catch (Exception ex) { // If any error happened when Trading, out error log var logMsg = "Exception happened when trading in dragonex.Exception:" + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine; LogTool.LogTradeInfo(logMsg, LogLevels.ERROR); return(Trade(symbolId, side, price, amount, ++retryCount)); } te.Success = isSucceeded; return(te); }