/// <summary> /// 调用自由转帐(同币种)方法 /// </summary> /// <param name="traderID">交易员ID</param> /// <param name="FromCapitalAccount">转出资金账户类型</param> /// <param name="ToCapitalAccount">转入资金账户类型</param> /// <param name="TransferAmount">转账数量</param> /// <param name="couterID">柜台ID</param> /// <param name="currencyType">当前币种类型</param> /// <param name="outMessage">输出参数</param> /// <returns>返回true或false</returns> public bool ConvertFreeTransferEntity(int traderID, int FromCapitalAccount, int ToCapitalAccount, decimal TransferAmount, int currencyType, int couterID, out string outMessage) { try { FreeTransferEntity freeTransferEntity = new FreeTransferEntity(); freeTransferEntity.TraderID = traderID.ToString(); freeTransferEntity.FromCapitalAccountType = FromCapitalAccount; freeTransferEntity.ToCapitalAccountType = ToCapitalAccount; freeTransferEntity.TransferAmount = TransferAmount; TypesCurrencyType _currencyType = (TypesCurrencyType)currencyType; bool _result = TwoAccountsFreeTransferFunds(freeTransferEntity, _currencyType, couterID, out outMessage); if (_result) { return(true); } else { return(false); } } catch (Exception ex) { outMessage = "调用自由转帐(同币种)方法出错!"; LogHelper.WriteError(ex.ToString(), ex.InnerException); return(false); } }
/// <summary> /// 自由转帐(同币种) /// </summary> /// <param name="freeTransfer"> 自由转账实体</param> /// <param name="currencyType">当前币种类型</param> /// <param name="couterID">柜台ID</param> /// <param name="outMessage">输出信息</param> /// <returns></returns> public bool TwoAccountsFreeTransferFunds(FreeTransferEntity freeTransfer, TypesCurrencyType currencyType, int couterID, out string outMessage) { try { CT_Counter T = StaticDalClass.CounterDAL.GetModel(couterID); bool _Result = ServiceIn.AccountManageServiceProxy.GetInstance().TwoAccountsFreeTransferFunds(T, freeTransfer, currencyType, out outMessage); if (_Result == false) { if (!string.IsNullOrEmpty(outMessage)) { //outMessage = "GL-:调用柜台自由转帐(同币种)方法TwoAccountsFreeTransferFunds失败!";// +s; //写调试信息 LogHelper.WriteDebug(outMessage); } return(false); } return(true); } catch (VTException ex) { outMessage = "GL-0234:调用柜台自由转帐(同币种)方法TwoAccountsFreeTransferFunds失败!"; LogHelper.WriteError(ex.ToString() + outMessage, ex.InnerException); //写错误信息 return(false); } }
public void TwoAccountsFreeTransferFundsTest() { AccountAndCapitalManagementService target = new AccountAndCapitalManagementService(); // TODO: 初始化为适当的值 FreeTransferEntity freeTransfer = null; // TODO: 初始化为适当的值 GTA.VTS.Common.CommonObject.Types.CurrencyType currencyType = new GTA.VTS.Common.CommonObject.Types.CurrencyType(); // TODO: 初始化为适当的值 string outMessage = string.Empty; // TODO: 初始化为适当的值 string outMessageExpected = string.Empty; // TODO: 初始化为适当的值 bool expected = false; // TODO: 初始化为适当的值 bool actual; actual = target.TwoAccountsFreeTransferFunds(freeTransfer, currencyType, out outMessage); Assert.AreEqual(outMessageExpected, outMessage); Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。"); }
/// <summary> /// 根据帐户类型和交易员ID找出对应的帐户和帐户所属类型 /// </summary> /// <param name="freeTransfer">转帐实体</param> /// <param name="outMessage"></param> public static bool AccountTransferEntityChange(ref FreeTransferEntity freeTransfer, ref string outMessage) { string where = string.Format("UserID = '{0}' AND AccountTypeLogo= '{1}'", freeTransfer.TraderID, freeTransfer.FromCapitalAccountType); UA_UserAccountAllocationTableDal dal = new UA_UserAccountAllocationTableDal(); List <UA_UserAccountAllocationTableInfo> AccountListFrom = dal.GetListArray(where); if (AccountListFrom == null || AccountListFrom.Count < 1) { outMessage = "转出资金帐号不存在"; return(false); } if (AccountListFrom[0].WhetherAvailable == false) { outMessage = "转出资金帐户被冻结,不能转帐"; return(false); } where = string.Format("UserID = '{0}' AND AccountTypeLogo= '{1}'", freeTransfer.TraderID, freeTransfer.ToCapitalAccountType); List <UA_UserAccountAllocationTableInfo> AccountListTo = dal.GetListArray(where); if (AccountListTo == null || AccountListTo.Count < 1) { outMessage = "转入资金帐号不存在"; return(false); } if (AccountListTo[0].WhetherAvailable == false) { outMessage = "转入资金帐户被冻结,不能转帐"; return(false); } BD_AccountTypeDal acTypeDal = new BD_AccountTypeDal(); BD_AccountTypeInfo FrombdAccountType = acTypeDal.GetModel(freeTransfer.FromCapitalAccountType); BD_AccountTypeInfo TobdAccountType = acTypeDal.GetModel(freeTransfer.ToCapitalAccountType); if (FrombdAccountType == null || TobdAccountType == null) { outMessage = "帐号所属类型匹配失败"; return(false); } freeTransfer.FromCapitalAccount = AccountListFrom[0].UserAccountDistributeLogo; freeTransfer.ToCapitalAccount = AccountListTo[0].UserAccountDistributeLogo; //freeTransfer.FromCapitalAccountType = (int)FrombdAccountType.ATCId; //freeTransfer.ToCapitalAccountType = (int)TobdAccountType.ATCId; return(true); }
/// <summary> /// 自由转帐(同币种) /// </summary> /// <param name="CT">柜台表</param> /// <param name="freeTransfer"> 自由转账实体</param> /// <param name="currencyType">当前币种类型</param> /// <param name="outMessage">输出信息</param> /// <returns></returns> public bool TwoAccountsFreeTransferFunds(CT_Counter CT, FreeTransferEntity freeTransfer, TypesCurrencyType currencyType, out string outMessage) { try { using (AccountAndCapitalManagementClient client = GetClient(CT)) { //string mess; return(client.TwoAccountsFreeTransferFunds(out outMessage, freeTransfer, currencyType)); } } catch (Exception ex) { string errCode = "GL-8112"; string errMsg = "调用清算柜台提供的TwoAccountsFreeTransferFunds()方法异常," + ex.Message; VTException vte = new VTException(errCode, errMsg, ex); LogHelper.WriteError(vte.ToString(), vte.InnerException); throw vte; } }