Exemplo n.º 1
0
 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));
     }
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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|无效操作!");
        }
Exemplo n.º 5
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);
 }
Exemplo n.º 6
0
        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;
            }
        }
Exemplo n.º 7
0
        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;
            }
        }