public string DeleteLimits(DbDataSet.额度分配DataTable table) { if (!string.IsNullOrEmpty(this.ConnectGUID) && this.IsConnected) { int successCount = 0; int exceptionCount = 0; foreach (var item in table) { try { string errMsg; if (DeleteLimit(item.交易员, item.证券代码, item.组合号, out errMsg)) { successCount++; } else { Utils.LogFormat("删除失败,交易员{0},证券代码{1},组合号{2},服务器{3}({4}),错误信息{5}", item.交易员, item.证券代码, item.组合号, Remark, Ip, errMsg); } } catch (Exception ex) { exceptionCount++; Utils.LogFormat("删除异常,交易员{0},证券代码{1},组合号{2},服务器{3}({4}),异常信息{5}", item.交易员, item.证券代码, item.组合号, Remark, Ip, ex.Message); } } return(string.Format("server {0}({1}) 批量删除完毕,总计{2}条,成功{3}条", Remark, Ip, table.Count, successCount)); } else { return(string.Format("server {0}({1}) 未连接,无法执行删除命令,请在主界面手动重新连接!", Remark, Ip)); } }
public DbDataSet.额度分配Row Update(decimal limitQty, out string errMsg) { var table = new DbDataSet.额度分配DataTable(); table.ImportRow(OriginalRow); var rowUpdate = table.FirstOrDefault(); rowUpdate.交易额度 = limitQty; return(Server.UpdateLimit(table, out errMsg)); }
private Dictionary <Entities.ServerInfo, DbDataSet.额度分配DataTable> ChangeToDict(DataTable dtImport, out string errMsg) { errMsg = string.Empty; var dictServerDT = new Dictionary <Entities.ServerInfo, DbDataSet.额度分配DataTable>(); StringBuilder sb = new StringBuilder(); try { List <int> lstErrorRow = new List <int>(); int i = 0; foreach (DataRow row in dtImport.Rows) { i++; 买模式 买模式1 = (买模式)Enum.Parse(typeof(买模式), row[6].ToString(), false); 卖模式 卖模式1 = (卖模式)Enum.Parse(typeof(卖模式), row[7].ToString(), false); var serverInfo = row[10].ToString(); var server = ServiceConnectHelper.Instance.ServerInfoList.FirstOrDefault(_ => _.Remark == serverInfo || _.Ip == serverInfo); if (server != null) { if (dictServerDT.ContainsKey(server)) { dictServerDT[server].Add额度分配Row(row[0].ToString(), row[1].ToString(), row[2].ToString(), byte.Parse(row[3].ToString()), row[4].ToString(), row[5].ToString(), (int)买模式1, (int)卖模式1, decimal.Parse(row[8].ToString()), decimal.Parse(row[9].ToString())); } else { var dt = new DbDataSet.额度分配DataTable(); dt.Add额度分配Row(row[0].ToString(), row[1].ToString(), row[2].ToString(), byte.Parse(row[3].ToString()), row[4].ToString(), row[5].ToString(), (int)买模式1, (int)卖模式1, decimal.Parse(row[8].ToString()), decimal.Parse(row[9].ToString())); dictServerDT.Add(server, dt); } } else { lstErrorRow.Add(i); } } if (lstErrorRow.Count > 0) { sb.Append("第").Append(string.Join(",", lstErrorRow)).Append("行未找到匹配的服务器信息,无法导入!"); errMsg = sb.ToString(); } else { return(dictServerDT); } } catch (Exception ex) { errMsg = ex.Message; } return(null); }
public string UpdateLimitItem(string[] info) { if (info.Length < 3) { return(string.Format("2|0|参数列表异常!")); } string id = info[1]; //byte market = byte.Parse(info[5]); //买模式 买模式1 = (买模式)int.Parse(info[8]); //卖模式 卖模式1 = (卖模式)int.Parse(info[9]); //decimal limitQty = decimal.Parse(info[10]); //decimal commision = decimal.Parse(info[11]); //string id, string trader, string groupID, string stockID, decimal qty, byte market, string stockName, string stockFirstLetter, decimal commission, 买模式 买模式1, 卖模式 卖模式1; if (id == CommonUtils.LimitServiceID) { try { var dt = info[2].FromJson <DbDataSet.额度分配DataTable>(); var row = dt.FirstOrDefault(); //修改 //Program.db.额度分配.UpdateTradeLimit(info[2], info[3], info[4], market, info[6], info[7], 买模式1, 卖模式1, limitQty, commision); 买模式 买模式1 = (买模式)row.买模式; 卖模式 卖模式1 = (卖模式)row.卖模式; Program.db.额度分配.UpdateTradeLimit(row.交易员, row.证券代码, row.组合号, row.市场, row.证券名称, row.拼音缩写, 买模式1, 卖模式1, row.交易额度, row.手续费率); var rowUpdated = Program.db.额度分配.Get额度分配(row.交易员, row.证券代码); if (rowUpdated != null) { var dtReturn = new DbDataSet.额度分配DataTable(); dtReturn.ImportRow(rowUpdated); return("2|1|" + dtReturn.ToJson()); } else { return("2|0|修改失败"); } } catch (Exception ex) { return("2|2|修改异常" + ex.Message); } } return("2|0|无效操作!"); }
private DbDataSet.额度分配DataTable ChangeTableToLimitDt(DataTable dtImport, out string erMsg) { erMsg = string.Empty; DbDataSet.额度分配DataTable dtLimit = new DbDataSet.额度分配DataTable(); try { foreach (DataRow row in dtImport.Rows) { 买模式 买模式1 = (买模式)Enum.Parse(typeof(买模式), row[6].ToString(), false); 卖模式 卖模式1 = (卖模式)Enum.Parse(typeof(卖模式), row[7].ToString(), false); dtLimit.Add额度分配Row(row[0].ToString(), row[1].ToString(), row[2].ToString(), byte.Parse(row[3].ToString()), row[4].ToString(), row[5].ToString(), (int)买模式1, (int)卖模式1, decimal.Parse(row[8].ToString()), decimal.Parse(row[9].ToString())); } return(dtLimit); } catch (Exception ex) { erMsg = ex.Message; } return(null); }
public static void SendQuotaDataToServer() { try { Program.logger.LogInfo("额度分配数据发送开始..."); Dictionary <string, string> dicGroup = new Dictionary <string, string>(); YJServiceReference.JyDataSet.额度分配DataTable new额度分配DataTable1 = new YJServiceReference.JyDataSet.额度分配DataTable(); AASServer.DbDataSet.平台用户DataTable 平台用户DataTable1 = new DbDataSet.平台用户DataTable(); 平台用户DataTable1.LoadToday(); foreach (AASServer.DbDataSet.平台用户Row 平台用户Row1 in 平台用户DataTable1) { if (!dicGroup.ContainsKey(平台用户Row1.用户名)) { dicGroup.Add(平台用户Row1.用户名, Enum.GetName(typeof(分组), 平台用户Row1.分组)); } } //var limitValue = CommonUtils.GetConfig("UseZmqInterface"); //if ("1".Equals(limitValue)) //{ // //策略下单 // foreach (ShareLimitGroupItem item in ShareLimitAdapter.Instance.ShareLimitGroups) // { // foreach (LimitTrader trader in item.GroupTraderList) // { // foreach (StockLimitItem subItem in item.GroupStockList) // { // YJServiceReference.JyDataSet.额度分配Row 额度分配RowNew = new额度分配DataTable1.New额度分配Row(); // new额度分配DataTable1.Add额度分配Row(额度分配RowNew); // 额度分配RowNew.交易员 = trader.TraderAccount; // 额度分配RowNew.证券代码 = subItem.StockID; // 额度分配RowNew.组合号 = subItem.GroupAccount; // 额度分配RowNew.市场 = (byte)(subItem.StockID.StartsWith("6") ? 1 : 0); // 额度分配RowNew.证券名称 = subItem.StockName; // 额度分配RowNew.拼音缩写 = string.Empty; // 额度分配RowNew.买模式 = Convert.ToInt32(subItem.BuyType); // 额度分配RowNew.卖模式 = Convert.ToInt32(subItem.SaleType); // 额度分配RowNew.交易额度 = Convert.ToDecimal(subItem.LimitCount); // 额度分配RowNew.手续费率 = Convert.ToDecimal(subItem.Commission); // if (dicGroup.ContainsKey(额度分配RowNew.交易员)) // 额度分配RowNew.分组 = dicGroup[额度分配RowNew.交易员]; // else // { // 额度分配RowNew.分组 = string.Empty; // } // } // } // } //} //else { AASServer.DbDataSet.额度分配DataTable 额度分配DataTable1 = new DbDataSet.额度分配DataTable(); 额度分配DataTable1.LoadToday(); foreach (AASServer.DbDataSet.额度分配Row 额度分配Row1 in 额度分配DataTable1) { YJServiceReference.JyDataSet.额度分配Row 额度分配RowNew = new额度分配DataTable1.New额度分配Row(); new额度分配DataTable1.Add额度分配Row(额度分配RowNew); 额度分配RowNew.交易员 = 额度分配Row1.交易员; 额度分配RowNew.证券代码 = 额度分配Row1.证券代码; 额度分配RowNew.组合号 = 额度分配Row1.组合号; 额度分配RowNew.市场 = 额度分配Row1.市场; 额度分配RowNew.证券名称 = 额度分配Row1.证券名称; 额度分配RowNew.拼音缩写 = 额度分配Row1.拼音缩写; 额度分配RowNew.买模式 = 额度分配Row1.卖模式; 额度分配RowNew.卖模式 = 额度分配Row1.卖模式; 额度分配RowNew.交易额度 = 额度分配Row1.交易额度; 额度分配RowNew.手续费率 = 额度分配Row1.手续费率; if (dicGroup.ContainsKey(额度分配RowNew.交易员)) { 额度分配RowNew.分组 = dicGroup[额度分配RowNew.交易员]; } else { 额度分配RowNew.分组 = string.Empty; } } } if (Program.DataServiceClient != null) { Program.DataServiceClient.SendQuotaDataAsync(new额度分配DataTable1, CommonUtils.Mac); Program.logger.LogInfo("额度分配数据发送结束"); } else { Program.logger.LogInfo("额度分配数据发送失败"); } } catch (Exception) { throw; } }
public static void SendQuotaDataToServer() { try { Program.logger.LogInfo("额度分配数据发送开始..."); Dictionary <string, string> dicGroup = new Dictionary <string, string>(); YJServiceReference.JyDataSet.额度分配DataTable new额度分配DataTable1 = new YJServiceReference.JyDataSet.额度分配DataTable(); AASServer.DbDataSet.平台用户DataTable 平台用户DataTable1 = new DbDataSet.平台用户DataTable(); 平台用户DataTable1.LoadToday(); foreach (AASServer.DbDataSet.平台用户Row 平台用户Row1 in 平台用户DataTable1) { if (!dicGroup.ContainsKey(平台用户Row1.用户名)) { dicGroup.Add(平台用户Row1.用户名, Enum.GetName(typeof(分组), 平台用户Row1.分组)); } } AASServer.DbDataSet.额度分配DataTable 额度分配DataTable1 = new DbDataSet.额度分配DataTable(); 额度分配DataTable1.LoadToday(); foreach (AASServer.DbDataSet.额度分配Row 额度分配Row1 in 额度分配DataTable1) { YJServiceReference.JyDataSet.额度分配Row 额度分配RowNew = new额度分配DataTable1.New额度分配Row(); new额度分配DataTable1.Add额度分配Row(额度分配RowNew); 额度分配RowNew.交易员 = 额度分配Row1.交易员; 额度分配RowNew.证券代码 = 额度分配Row1.证券代码; 额度分配RowNew.组合号 = 额度分配Row1.组合号; 额度分配RowNew.市场 = 额度分配Row1.市场; 额度分配RowNew.证券名称 = 额度分配Row1.证券名称; 额度分配RowNew.拼音缩写 = 额度分配Row1.拼音缩写; 额度分配RowNew.买模式 = 额度分配Row1.卖模式; 额度分配RowNew.卖模式 = 额度分配Row1.卖模式; 额度分配RowNew.交易额度 = 额度分配Row1.交易额度; 额度分配RowNew.手续费率 = 额度分配Row1.手续费率; if (dicGroup.ContainsKey(额度分配RowNew.交易员)) { 额度分配RowNew.分组 = dicGroup[额度分配RowNew.交易员]; } else { 额度分配RowNew.分组 = string.Empty; } } if (Program.DataServiceClient != null) { Program.DataServiceClient.SendQuotaDataAsync(new额度分配DataTable1, CommonUtils.Mac); Program.logger.LogInfo("额度分配数据发送结束"); } else { Program.logger.LogInfo("额度分配数据发送失败"); } } catch (Exception) { throw; } }