Пример #1
0
        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("赎回失败");
                    }
                }
            });
        }
Пример #2
0
        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();
            });
        }