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;
     }
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
 /// <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);
     }
 }
コード例 #5
0
        /// <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);
            }
        }