private void 导入ToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult DialogResult1 = this.openFileDialog1.ShowDialog(); if (DialogResult1 != System.Windows.Forms.DialogResult.OK) { return; } string[] FileContent = File.ReadAllLines(this.openFileDialog1.FileName, Encoding.Default); StringBuilder sbErr = new StringBuilder(128); Task.Run(() => { AASClient.AASServiceReference.DbDataSet.平台用户DataTable 平台用户DataTable1 = Program.AASServiceClient.QueryUser(); for (int i = 1; i < FileContent.Length; i++) { string[] Data = FileContent[i].Split(','); try { string stockID = UpdateStockCode(Data[1].Trim()); 买模式 买模式1 = (买模式)Enum.Parse(typeof(买模式), Data[6], false); 卖模式 卖模式1 = (卖模式)Enum.Parse(typeof(卖模式), Data[7], false); byte 市场 = byte.Parse(Data[3].Replace("深圳", "0").Replace("上海", "1")); decimal 交易额度 = decimal.Parse(Data[8]); decimal 手续费率 = decimal.Parse(Data[9]); var userInfo = 平台用户DataTable1.FirstOrDefault(r => r.用户名.Equals(Data[0].Trim())); if (userInfo != null) { Program.AASServiceClient.AddTradeLimit(Data[0], Data[1], Data[2], 市场, Data[4], Data[5], 买模式1, 卖模式1, 交易额度, 手续费率); } else { this.Invoke(new Action(() => { labelLoading.Text = string.Format("导入第{0}条记录[{1} {2}]失败,未找到该用户", i, Data[0], Data[1]); })); } } catch (Exception ex) { this.Invoke(new Action(() => { MessageBox.Show(string.Format("导入第{0}条记录[{1} {2}]异常,{3}", i, Data[0], Data[1], ex.Message)); })); break; } } var dt = Program.AASServiceClient.QueryTradeLimit(); this.Invoke(new Action(() => { this.bindingSource交易额度.DataSource = dt; })); }); }
private void 导入ToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult DialogResult1 = this.openFileDialog1.ShowDialog(); if (DialogResult1 != System.Windows.Forms.DialogResult.OK) { return; } string[] FileContent = File.ReadAllLines(this.openFileDialog1.FileName, Encoding.Default); StringBuilder sbErr = new StringBuilder(128); Dictionary <string, int> dictIndex = new Dictionary <string, int>(); Dictionary <string, List <string> > dictTraderStock = new Dictionary <string, List <string> >(); //for (int i = 0; i < FileContent.Length; i++) //{ // var item = FileContent[i]; // string[] Data = FileContent[i].Split(','); // if (dictTraderStock.ContainsKey(Data[0])) // { // if (!dictTraderStock[Data[0]].Contains(Data[1])) // { // dictIndex.Add(Data[0] + "_" + Data[1], i); // dictTraderStock[Data[0]].Add(Data[1]); // } // else // { // var index = dictIndex[Data[0] + "_" + Data[1]]; // sbErr.AppendFormat("交易员{0} 对应股票{1} 在{2}行数据有重复项, 与第{3}行数据发生冲突", Data[0], Data[1], i.ToString(), index).Append(Environment.NewLine); // } // } // else // { // dictTraderStock.Add(Data[0], new List<string>() { Data[1] }); // dictIndex.Add(Data[0] + "_" + Data[1], i); // } //} //if (sbErr.Length > 0) //{ // Program.logger.LogInfo(sbErr.ToString()); // sbErr.Append("请修改至无重复项再导入!"); // MessageBox.Show(sbErr.ToString()); //} //else Task.Run(() => { AASClient.AASServiceReference.DbDataSet.平台用户DataTable 平台用户DataTable1 = Program.AASServiceClient.QueryUser(); for (int i = 1; i < FileContent.Length; i++) { string[] Data = FileContent[i].Split(','); try { 买模式 买模式1 = (买模式)Enum.Parse(typeof(买模式), Data[6], false); 卖模式 卖模式1 = (卖模式)Enum.Parse(typeof(卖模式), Data[7], false); byte 市场 = byte.Parse(Data[3].Replace("深圳", "0").Replace("上海", "1")); decimal 交易额度 = decimal.Parse(Data[8]); decimal 手续费率 = decimal.Parse(Data[9]); var userInfo = 平台用户DataTable1.FirstOrDefault(r => r.用户名.Equals(Data[0].Trim())); if (userInfo != null) { Program.AASServiceClient.AddTradeLimit(Data[0], Data[1], Data[2], 市场, Data[4], Data[5], 买模式1, 卖模式1, 交易额度, 手续费率); } else { this.Invoke(new Action(() => { MessageBox.Show(string.Format("导入第{0}条记录[{1} {2}]失败,未找到该用户", i, Data[0], Data[1])); })); } //foreach (AASClient.AASServiceReference.DbDataSet.平台用户Row 平台用户Row1 in 平台用户DataTable1.Where(r => r.用户名.Equals(Data[0].Trim()))) //{ // Program.AASServiceClient.AddTradeLimit(Data[0], Data[1], Data[2], 市场, Data[4], Data[5], 买模式1, 卖模式1, 交易额度, 手续费率); //} } catch (Exception ex) { this.Invoke(new Action(() => { MessageBox.Show(string.Format("导入第{0}条记录[{1} {2}]失败,{3}", i, Data[0], Data[1], ex.Message)); })); break; } } var dt = Program.AASServiceClient.QueryTradeLimit(); this.Invoke(new Action(() => { this.bindingSource交易额度.DataSource = dt; })); }); }