private void RedeemThisRecord_Click(object sender, EventArgs e) { Task.Factory.StartNew(async() => { if (this.dgv_Data.SelectedRows.Count > 0) { List <UserRedeemableAssetRatio> assets = new List <UserRedeemableAssetRatio>(); UserRedeemableAssetRatio asset = new UserRedeemableAssetRatio { AssetRatioType = Convert.ToInt32(this.dgv_Data.SelectedRows[0].Cells[3].Value.ToString()), UserAssetRatioId = this.dgv_Data.SelectedRows[0].Cells[2].Value.ToString() }; assets.Add(asset); RedeemInput input = new RedeemInput { UserAssetRatios = assets, UserId = this.dgv_Data.SelectedRows[0].Cells[1].Value.ToString() }; bool result = await this.jymService.RedeemAsync(input); if (result) { MessageBox.Show("赎回成功"); this.ReloadData(); } else { MessageBox.Show("赎回失败"); } } }); }
private void RedeemSelectedRecord_Click(object sender, EventArgs e) { int SuccessCount = 0; this.picShow.Show(); Task.Factory.StartNew(async() => { List <RedeemInput> redeemInputRequests = new List <RedeemInput>(); List <RedeemInput> redeemInputs = new List <RedeemInput>(); for (int i = 0; i < this.dgv_Data.Rows.Count; i++) { DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)this.dgv_Data.Rows[i].Cells[0]; if (Convert.ToBoolean(checkCell.Value)) { List <UserRedeemableAssetRatio> assets = new List <UserRedeemableAssetRatio>(); UserRedeemableAssetRatio asset = new UserRedeemableAssetRatio { AssetRatioType = Convert.ToInt32(this.dgv_Data.Rows[i].Cells[3].Value.ToString()), UserAssetRatioId = this.dgv_Data.Rows[i].Cells[2].Value.ToString() }; assets.Add(asset); RedeemInput input = new RedeemInput(); input.UserId = this.dgv_Data.Rows[i].Cells[1].Value.ToString(); input.UserAssetRatios = assets; redeemInputs.Add(input); } } List <IGrouping <string, RedeemInput> > groupResult = redeemInputs.GroupBy(it => it.UserId).ToList(); foreach (IGrouping <string, RedeemInput> item in groupResult) { RedeemInput input = new RedeemInput { UserId = item.Key, UserAssetRatios = new List <UserRedeemableAssetRatio>() }; foreach (RedeemInput redeemInput in item) { input.UserAssetRatios.AddRange(redeemInput.UserAssetRatios); } redeemInputRequests.Add(input); if (await this.jymService.RedeemAsync(input)) { SuccessCount++; } else { JYMNLogger.Logger.Info($"用户[ {item.Key} ] 申请赎回失败"); } } this.picShow.Hide(); MessageBox.Show($"赎回结束:申请了[ {groupResult.Count} ]个用户的赎回,成功[ {SuccessCount} ]条"); this.ReloadData(); }); }
public async Task <AccountInfo> LoginAuto(string code) { HavenSDK sdk = this.GetHavenSDK(true, null); RedeemInput input = new RedeemInput() { code = code, }; RedeemResponse response = await sdk.Auth.VerifyAccessCodeAsync(input).DemoUnPack(); if (response.next_screen == RedeemScreen.AutoLogin) { _account = response.account_info; } return(_account); }
/// <summary> /// 赎回 /// </summary> /// <param name="input">The input.</param> /// <returns>Task<System.Boolean>.</returns> public async Task <bool> RedeemAsync(RedeemInput input) { try { string url = $"{YemBizUrl}Yem/Order/Redeem"; Client.DefaultRequestHeaders.Add("X-JYM-Application", EncryptHelper.Base64Encode("Jinyinmao.Tirisfal.Api@" + HttpUtility.HtmlDecode(ConfigurationManager.AppSettings["BearerAuthKeys"]))); HttpResponseMessage responseMessage = await Client.PostAsJsonAsync(url, input); BizSimpleResult result = await responseMessage.Content.ReadAsAsync <BizSimpleResult>(); Client.DefaultRequestHeaders.Remove("X-JYM-Application"); return(responseMessage.StatusCode == HttpStatusCode.OK && result.IsSuccess); } catch (Exception e) { throw e; } }