public void AddCapitalTest() { AccountAndCapitalManagementService target = new AccountAndCapitalManagementService(); // TODO: 初始化为适当的值 AddCapitalEntity addCapital = null; // TODO: 初始化为适当的值 string outMessage = string.Empty; // TODO: 初始化为适当的值 string outMessageExpected = string.Empty; // TODO: 初始化为适当的值 bool expected = false; // TODO: 初始化为适当的值 bool actual; actual = target.AddCapital(addCapital, out outMessage); Assert.AreEqual(outMessageExpected, outMessage); Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。"); }
/// <summary> /// 追加资金 /// </summary> /// <param name="CT">柜台表</param> /// <param name="addCapitalEntity">添加资金实体</param> /// <param name="mess">输出信息</param> /// <returns></returns> public bool AddCapital(CT_Counter CT, AddCapitalEntity addCapitalEntity, out string mess) { try { using (AccountAndCapitalManagementClient client = GetClient(CT)) { //string mess; return(client.AddCapital(out mess, addCapitalEntity)); } } catch (Exception ex) { string errCode = "GL-8108"; string errMsg = "调用清算柜台提供的AddCapital()方法异常," + ex.Message; VTException vte = new VTException(errCode, errMsg, ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); throw vte; } }
/// <summary> /// 追加资金 /// </summary> /// <param name="model">追加资金实体</param> /// <param name="mess"></param> /// <returns></returns> public bool AddFund(ManagementCenter.Model.UM_FundAddInfo model, out string mess) { mess = string.Empty; UM_UserInfo user = StaticDalClass.UserInfoDAL.GetModel((int)model.UserID); if (user == null || user.RoleID != (int)ManagementCenter.Model.CommonClass.Types.RoleTypeEnum.Transaction) { mess = "GL-0219:交易员编号不存在!"; //写调试信息 LogHelper.WriteDebug(mess); return(false); } CT_Counter T = GetCounterByUserID((int)model.UserID); if (T == null) { mess = "GL-0220:交易员对应的柜台不存在!"; //写调试信息 LogHelper.WriteDebug(mess); return(false); } UM_DealerAccount DealerAccount = StaticDalClass.DealerAccountDAL.GetModelByUserIDAndType((int)model.UserID, (int) GTA.VTS.Common.CommonObject.Types. AccountAttributionType . BankAccount); if (DealerAccount == null) { mess = "GL-0221:交易员对应的银行帐号不存在!"; //写调试信息 LogHelper.WriteDebug(mess); return(false); } try { AddCapitalEntity AddCapitalEntity = new AddCapitalEntity(); AddCapitalEntity.AddHKAmount = (decimal)model.HKNumber; AddCapitalEntity.AddRMBAmount = (decimal)model.RMBNumber; AddCapitalEntity.AddUSAmount = (decimal)model.USNumber; AddCapitalEntity.TraderID = model.UserID.ToString(); AddCapitalEntity.BankCapitalAccount = DealerAccount.DealerAccoutID; if (!ServiceIn.AccountManageServiceProxy.GetInstance().AddCapital(T, AddCapitalEntity, out mess)) { mess = "GL-0222:调用柜台追加资金方法AddCapital()失败!" + mess; //写调试信 LogHelper.WriteDebug(mess); return(false); } } catch (VTException Ex) { mess = Ex.ToString(); //写错误日志 return(false); } try { if (model.HKNumber == decimal.MaxValue) { model.HKNumber = null; } if (model.RMBNumber == decimal.MaxValue) { model.RMBNumber = null; } if (model.USNumber == decimal.MaxValue) { model.USNumber = null; } StaticDalClass.FundAddInfoDAL.Add(model); } catch (Exception ex) { string errCode = "GL-0223"; string errMsg = "追加资金失败!"; VTException vte = new VTException(errCode, errMsg, ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); mess = vte.ToString(); return(false); } return(true); }
/// <summary> /// 追加资金按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { try { string ID = this.txtTradeID.Text.ToString(); //if(string.IsNullOrEmpty(this.textBox2.Text) ||string.IsNullOrEmpty(this.textBox3.Text) ||string.IsNullOrEmpty(this.textBox4.Text)) //{ // MessageBox.Show("xx", "xx"); //} AddCapitalEntity addCapitalEntity = new AddCapitalEntity(); if (!string.IsNullOrEmpty(this.txtRMB.Text)) { decimal RMB; if (decimal.TryParse(this.txtRMB.Text.ToString(), out RMB)) { addCapitalEntity.AddRMBAmount = RMB; } else { error.Clear(); error.SetError(txtRMB, "请输入正确的资金格式!"); return; } } else { addCapitalEntity.AddRMBAmount = 0; } if (!string.IsNullOrEmpty(this.txtHK.Text)) { decimal HK; if (decimal.TryParse(this.txtHK.Text.ToString(), out HK)) { addCapitalEntity.AddHKAmount = HK; } else { error.Clear(); error.SetError(txtHK, "请输入正确的资金格式!"); return; } } else { addCapitalEntity.AddHKAmount = 0; } if (!string.IsNullOrEmpty(this.txtUSA.Text)) { decimal US; if (decimal.TryParse(this.txtUSA.Text.ToString(), out US)) { addCapitalEntity.AddUSAmount = US; } else { error.Clear(); error.SetError(txtUSA, "请输入正确的资金格式!"); return; } } else { addCapitalEntity.AddUSAmount = 0; } addCapitalEntity.TraderID = ID; //addCapitalEntity.AddHKAmount = HK; //addCapitalEntity.AddRMBAmount = RMB; //addCapitalEntity.AddUSAmount = US; string message = ""; //GTA.VTS.CustomersOrders.TransactionManageService.CT_Counter counter = // wcfLogic.TransactionConfirm(UserID, "69ggKIQJgh4=", out message); List <GTA.VTS.CustomersOrders.DoAccountManager.AccountFindResultEntity> list = wcfLogic.FindAccount(ID); string BankCapitalAccount = ""; foreach (AccountFindResultEntity accountFindResultEntity in list) { string Name = accountFindResultEntity.AccountName; if (Name.Equals("银行账号")) { BankCapitalAccount = accountFindResultEntity.AccountID; } } //string BankCapitalAccount = ProductionAccount.FormationAccount(counter.CouterID, UserID, 1); addCapitalEntity.BankCapitalAccount = BankCapitalAccount; string errMsg = ""; bool x = wcfLogic.AddCapital(addCapitalEntity, out errMsg); if (x == true) { error.Clear(); MessageBox.Show("追加资金成功!", "系统提示"); this.txtTradeID.Text = ""; this.txtRMB.Text = ""; this.txtHK.Text = ""; this.txtUSA.Text = ""; } else { error.SetError(txtTradeID, errMsg); } } catch (Exception ex) { LogHelper.WriteError(ex.Message, ex); } }
/// <summary> /// 追加资金 /// </summary> /// <param name="addCapital"></param> /// <param name="outMessage"></param> /// <returns></returns> public bool AddCapital(AddCapitalEntity addCapital, out string outMessage) { outMessage = string.Empty; //TransactionManager tm = TransactionFactory.GetTransactionManager(); //tm.BeginTransaction(); try { if (addCapital == null) { return(false); } UA_UserAccountAllocationTableDal userAccountDal = new UA_UserAccountAllocationTableDal(); // new SqlUaUserAccountAllocationTableProvider(TransactionFactory.RC_ConnectionString, true, ""); string findCodition = string.Format(" UserID='{0}' AND AccountTypeLogo='{1}'", addCapital.TraderID, 1); List <UA_UserAccountAllocationTableInfo> list = userAccountDal.GetListArray(findCodition); if (list == null || list.Count < 1) { outMessage = "该交易员的银行帐号不存在!"; return(false); } if (list[0].UserAccountDistributeLogo != addCapital.BankCapitalAccount) { outMessage = "银行帐号不正确!"; return(false); } UA_BankAccountTableDal _BankAccount = new UA_BankAccountTableDal(); //new SqlUaBankAccountTableProvider(TransactionFactory.RC_ConnectionString, true, ""); UA_CapitalFlowTableDal _UaCapitalFlow = new UA_CapitalFlowTableDal(); //new SqlUaCapitalFlowTableProvider(TransactionFactory.RC_ConnectionString, true, ""); Database db = DatabaseFactory.CreateDatabase(); using (DbConnection conn = db.CreateConnection()) { conn.Open(); DbTransaction trm = conn.BeginTransaction(); try { if (addCapital.AddRMBAmount > 0 && addCapital.AddRMBAmount != decimal.MaxValue) { #region 增加人民币 var _record = _BankAccount.GetModel((int)Types.CurrencyType.RMB, addCapital.BankCapitalAccount); if (_record == null) { outMessage = "币种为人民币的银行帐号不存在!"; return(false); } #region old code ////_record.CapitalRemainAmount = _record.CapitalRemainAmount + addCapital.AddRMBAmount; ////_record.AvailableCapital += addCapital.AddRMBAmount; ////_record.TodayOutInCapital += addCapital.AddRMBAmount; ////if (!_BankAccount.Update(tm, _record)) ////{ //// outMessage = "更新人民币银行帐号失败!"; //// return false; ////} //string sql = // string.Format( // "Update UA_BankAccountTable set CapitalRemainAmount=CapitalRemainAmount+{0},AvailableCapital=AvailableCapital+{0},TodayOutInCapital=TodayOutInCapital+{0} where TradeCurrencyTypeLogo={1} AND UserAccountDistributeLogo='{2}'", // addCapital.AddRMBAmount, (int)Types.CurrencyType.RMB, addCapital.BankCapitalAccount); //DataRepository.Provider.ExecuteNonQuery(tm, CommandType.Text, sql); #endregion _BankAccount.AddCapital(addCapital.AddRMBAmount, addCapital.BankCapitalAccount, Types.CurrencyType.RMB, db, trm); var _UaCapitalFlowTable = new UA_CapitalFlowTableInfo(); _UaCapitalFlowTable.TradeCurrencyType = (int)Types.CurrencyType.RMB; _UaCapitalFlowTable.FromCapitalAccount = string.Empty; _UaCapitalFlowTable.ToCapitalAccount = addCapital.BankCapitalAccount; _UaCapitalFlowTable.TransferAmount = addCapital.AddRMBAmount; _UaCapitalFlowTable.TransferTime = System.DateTime.Now; _UaCapitalFlowTable.TransferTypeLogo = (int)ReckoningCounter.Entity.Contants.Types.TransferType.AddCapital; _UaCapitalFlow.Add(_UaCapitalFlowTable, db, trm); //if (!_UaCapitalFlow.Insert(tm, _UaCapitalFlowTable)) //{ //outMessage = "记录资金流水失败"; //return false; //} #endregion } if (addCapital.AddHKAmount > 0 && addCapital.AddHKAmount != decimal.MaxValue) { #region 增加港币 var _record = _BankAccount.GetModel((int)Types.CurrencyType.HK, addCapital.BankCapitalAccount); //var _record = _BankAccount.GetByTradeCurrencyTypeLogoUserAccountDistributeLogo((int)Types.CurrencyType.HK, // addCapital.BankCapitalAccount); if (_record == null) { outMessage = "币种为港元的银行帐号不存在!"; return(false); } #region old code ////_record.CapitalRemainAmount += addCapital.AddHKAmount; ////_record.AvailableCapital += addCapital.AddHKAmount; ////_record.TodayOutInCapital += addCapital.AddHKAmount; ////if (!_BankAccount.Update(tm, _record)) ////{ //// outMessage = "更新港元银行帐号失败!"; //// return false; ////} //string sql = // string.Format( // "Update UA_BankAccountTable set CapitalRemainAmount=CapitalRemainAmount+{0},AvailableCapital=AvailableCapital+{0},TodayOutInCapital=TodayOutInCapital+{0} where TradeCurrencyTypeLogo={1} AND UserAccountDistributeLogo='{2}'", // addCapital.AddHKAmount, (int)Types.CurrencyType.HK, addCapital.BankCapitalAccount); //DataRepository.Provider.ExecuteNonQuery(tm, CommandType.Text, sql); #endregion _BankAccount.AddCapital(addCapital.AddHKAmount, addCapital.BankCapitalAccount, Types.CurrencyType.HK, db, trm); var _UaCapitalFlowTable = new UA_CapitalFlowTableInfo(); _UaCapitalFlowTable.TradeCurrencyType = (int)Types.CurrencyType.HK; _UaCapitalFlowTable.FromCapitalAccount = string.Empty; _UaCapitalFlowTable.ToCapitalAccount = addCapital.BankCapitalAccount; _UaCapitalFlowTable.TransferAmount = addCapital.AddHKAmount; _UaCapitalFlowTable.TransferTime = System.DateTime.Now; _UaCapitalFlowTable.TransferTypeLogo = (int)ReckoningCounter.Entity.Contants.Types.TransferType.AddCapital; _UaCapitalFlow.Add(_UaCapitalFlowTable, db, trm); //if (!_UaCapitalFlow.Insert(tm, _UaCapitalFlowTable)) //{ // outMessage = "记录资金流水失败"; // return false; //} #endregion } if (addCapital.AddUSAmount > 0 && addCapital.AddUSAmount != decimal.MaxValue) { #region 增加美元 //var _record = // _BankAccount.GetByTradeCurrencyTypeLogoUserAccountDistributeLogo((int)Types.CurrencyType.US, // addCapital.BankCapitalAccount); var _record = _BankAccount.GetModel((int)Types.CurrencyType.US, addCapital.BankCapitalAccount); if (_record == null) { outMessage = "币种为美元的银行帐号不存在!"; return(false); } //_record.CapitalRemainAmount += addCapital.AddUSAmount; //_record.AvailableCapital += addCapital.AddUSAmount; //_record.TodayOutInCapital += addCapital.AddUSAmount; //if (!_BankAccount.Update(tm, _record)) //{ // outMessage = "更新美元银行帐号失败!"; // return false; //} //string sql = // string.Format( // "Update UA_BankAccountTable set CapitalRemainAmount=CapitalRemainAmount+{0},AvailableCapital=AvailableCapital+{0},TodayOutInCapital=TodayOutInCapital+{0} where TradeCurrencyTypeLogo={1} AND UserAccountDistributeLogo='{2}'", // addCapital.AddUSAmount, (int)Types.CurrencyType.US, addCapital.BankCapitalAccount); //DataRepository.Provider.ExecuteNonQuery(tm, CommandType.Text, sql); _BankAccount.AddCapital(addCapital.AddUSAmount, addCapital.BankCapitalAccount, Types.CurrencyType.US, db, trm); var _UaCapitalFlowTable = new UA_CapitalFlowTableInfo(); _UaCapitalFlowTable.TradeCurrencyType = (int)Types.CurrencyType.US; _UaCapitalFlowTable.FromCapitalAccount = string.Empty; _UaCapitalFlowTable.ToCapitalAccount = addCapital.BankCapitalAccount; _UaCapitalFlowTable.TransferAmount = addCapital.AddUSAmount; _UaCapitalFlowTable.TransferTime = System.DateTime.Now; _UaCapitalFlowTable.TransferTypeLogo = (int)ReckoningCounter.Entity.Contants.Types.TransferType.AddCapital; _UaCapitalFlow.Add(_UaCapitalFlowTable, db, trm); //if (!_UaCapitalFlow.Insert(tm, _UaCapitalFlowTable)) //{ // outMessage = "记录资金流水失败"; // return false; //} #endregion } trm.Commit(); } catch (Exception ex) { trm.Rollback(); outMessage = ex.Message.ToString(); LogHelper.WriteError(outMessage, ex); return(false); } finally { trm.Dispose(); } } outMessage = "追加资金成功!"; return(true); } catch (Exception ex) { outMessage = ex.Message.ToString(); LogHelper.WriteError(outMessage, ex); return(false); } }