private static bool SaveGroupDelivery(Entity.券商 groupItem, DateTime date) { var saveResult = false; var data = DataHelper.QueryHisDelivery(date, date, groupItem); if (data != null) { if (data.Rows.Count > 0) { DataHelper.StandardDeliveryDataTable(data, date); using (var db = new DataComparisionDataset()) { var oldData = db.交割单ds.Where(_ => _.交割日期 == date && _.组合号 == groupItem.称); if (oldData.Count() > 0) { db.交割单ds.RemoveRange(oldData); db.SaveChanges(); } } saveResult = DataHelper.WriteToDB(data, "交割单"); } else { saveResult = true; } } return(saveResult); }
public void RefreshCombInfo() { if (cmbGroup.Items.Count == 0 || cmbDate.Items.Count == 0) { try { using (var db = new DataComparisionDataset()) { var dtList = db.软件委托ds.Select(_ => _.成交日期).Distinct().ToList(); var gList = db.软件委托ds.Select(_ => _.组合号).Distinct().ToList(); var date1 = dtList.OrderByDescending(_ => _).Select(_ => _.ToString("yyyy/MM/dd")).Take(10).ToList(); var group1 = gList.OrderBy(_ => _).ToList(); //var lst1 = db.交割单ds.ToList(); //var lst2 = db.软件委托ds.ToList(); //var group1 = lst1.Select(_ => _.组合号).Union(lst2.Select(_ => _.组合号)).Distinct().OrderBy(_ => _).ToList(); //var date1 = lst1.Select(_ => _.交割日期.ToString("yyyy/MM/dd")).Union(lst2.Select(_ => _.成交日期.ToString("yyyy/MM/dd"))).Distinct().OrderByDescending(_ => _).Take(10).ToList(); this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => { cmbGroup.ItemsSource = group1; cmbDate.ItemsSource = date1; ControlUtils.HideLoading(this.Loading); })); } } catch { } } }
private List <合计表> GetTotalData(DateTime?dtStart, DateTime?dtEnd) { DateTime dt = DateTime.Now; List <合计表> lstTotal = null; try { using (var dbDataset = new DataComparisionDataset()) { if (!dtStart.HasValue && !dtEnd.HasValue) { var dateNewest = dbDataset.交割单ds.Max(_ => _.交割日期); dtStart = dateNewest; dtEnd = dateNewest; } lstTotal = dbDataset.合计表ds.Where(_ => _.日期 >= dtStart && _.日期 <= dtEnd).ToList(); } } catch (Exception ex) { CommonUtils.Log("合计界面刷新失败:" + ex.Message); } //var cost = (DateTime.Now - dt).TotalSeconds; //CommonUtils.Log("合计查询总耗时" + cost); return(lstTotal); }
private void Button_Soft_Search_Click(object sender, RoutedEventArgs e) { List <Entity.软件委托> lstSoft = new List <Entity.软件委托>(); using (var db = new DataComparisionDataset()) { lstSoft = db.软件委托ds.ToList(); } }
private void btnSubmit_Click(object sender, RoutedEventArgs e) { using (var db = new DataComparisionDataset()) { //if (true) //{ //} var lstData = db.交割单ds.ToList(); this.dgDeliveryList.ItemsSource = lstData; } }
private void Button_Save_Click(object sender, RoutedEventArgs e) { if (cbHisType.SelectedIndex != 0) { return; } var o = cmbGroup.SelectedItem as 券商; var dt = ExportData; var sd = dpStart.SelectedDate.Value; var ed = dpEnd.SelectedDate.Value; bool saveResult = false; this.loading.ShowLoading(); Dispatcher.RunAsync(() => { try { DataHelper.StandardDeliveryDataTable(dt); using (var db = new DataComparisionDataset()) { var oldData = db.交割单ds.Where(_ => _.交割日期 >= sd && _.交割日期 <= ed); if (oldData.Count() > 0) { db.交割单ds.RemoveRange(oldData); db.SaveChanges(); } } saveResult = DataHelper.WriteToDB(dt, "交割单"); } catch (Exception ex) { Dispatcher.ShowMsg("保存出错:" + ex.Message); } }, null, null, () => { this.dgDelivery.ItemsSource = null; this.loading.HideLoading(); if (saveResult) { CommonUtils.ShowMsg("保存完毕!"); } else { CommonUtils.ShowMsg("保存失败!"); } }); }
private bool SaveAsSoftwareData(DataTable dt, DataComparisionDataset db, Dictionary <string, string> pageConfig, bool isSaveFromPage, out string msg) { msg = string.Empty; try { var fileName = dt.TableName.GetFileName(); var date = fileName.GetDate(); var group = fileName.GetGroupName(); if (date == DateTime.MinValue) { msg = string.Format("软件委托文件名中必须包含交易日期,文件{0}未符合条件。", fileName); return(false); } var dict = (isSaveFromPage || string.IsNullOrEmpty(group)) ? pageConfig : CommonUtils.GetConfig(group + "软件委托").FromJson <Dictionary <string, string> >(); var lstSoft = GetSoftList(date, dt, dict); if (lstSoft.Count == 0) { msg = "符合条件的数据条数为0,将跳过此文件:" + fileName; return(false); } var groupList = lstSoft.Select(_ => _.组合号).Distinct().ToList(); var formatData = db.软件委托ds.Where(_ => _.成交日期 == date && groupList.Contains(_.组合号)); if (formatData.Count() > 0) { if (isSaveFromPage && MessageBox.Show("已存在对应软件委托数据,是否删除并保存?", "Save", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) { return(false); } db.软件委托ds.RemoveRange(formatData); } db.软件委托ds.AddRange(lstSoft); db.SaveChanges(); if (isSaveFromPage) { CommonUtils.SetConfig(group + "软件委托", dict.ToJson()); } } catch (Exception ex) { CommonUtils.Log(string.Format("软件委托导入失败, 关联文件名{0}!", dt.TableName), ex); msg = "保存软件委托失败,详情请查看日志!"; return(false); } return(true); }
private bool SaveAsDeliveryData(DataTable dt, DataComparisionDataset db, Dictionary <string, string> pageConfig, bool isSaveFromPage, out string msg) { msg = string.Empty; try { var fileName = dt.TableName.GetFileName(); var group = fileName.GetGroupName(); var date = fileName.GetDate(); if (date == DateTime.MinValue || string.IsNullOrEmpty(group)) { msg = string.Format("交割单文件名中必须同时包含组合号及交易日期,文件{0}未符合条件。", fileName); return(false); } var dict = isSaveFromPage ? pageConfig : CommonUtils.GetConfig(group + "交割单").FromJson <Dictionary <string, string> >(); var list = GetDeliveryList(dt, group, dict); if (list.Count == 0) { msg = "符合条件的数据条数为0,交割单默认保存条件为发生金额大于0,将跳过此文件:" + fileName; return(false); } var groupList = list.Select(_ => _.组合号).ToList(); var formatData = db.交割单ds.Where(_ => _.交割日期 == date && groupList.Contains(_.组合号)); if (formatData.Count() > 0) { if (isSaveFromPage && MessageBox.Show("已存在对应交割单数据,是否删除旧数据并保存?", "交割单保存", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) { return(false); } db.交割单ds.RemoveRange(formatData); } db.交割单ds.AddRange(list); db.SaveChanges(); if (isSaveFromPage) { CommonUtils.SetConfig(group + "交割单", dict.ToJson()); } } catch (Exception ex) { CommonUtils.Log(string.Format("交割单导入失败, 关联文件名{0}!", dt.TableName), ex); msg = "保存交割单失败,详情请查看日志!"; return(false); } return(true); }
private void Button_Delete_Click(object sender, RoutedEventArgs e) { var o = (sender as Button).DataContext as 券商; using (var db = new DataComparisionDataset()) { var item = db.券商ds.FirstOrDefault(_ => _.称 == o.称); if (item != null) { db.券商ds.Remove(item); db.SaveChanges(); Init(); MessageBox.Show("删除成功!"); } } }
public void Init() { try { using (var db = new DataComparisionDataset()) { var groups = CommonUtils.DictGroup.Values.Where(_ => _.启用 == true).ToList(); if (groups != null && groups.Count > 0) { cmbGroup.ItemsSource = groups; cmbGroup.DisplayMemberPath = "名称"; } } } catch { } }
private void Button_Click(object sender, RoutedEventArgs e) { try { using (var db = new DataComparisionDataset()) { if (IsCreateNew) { var item = SetEntityFromPage(Entity); db.软件委托ds.Add(item); db.SaveChanges(); } else { var list = db.软件委托ds.Where(_ => _.组合号 == Entity.组合号 && _.成交日期 == Entity.成交日期).ToList(); if (list.Count > 0) { var item = list.FirstOrDefault(_ => _.IsSame(Entity)); if (item != null) { SetEntityFromPage(item); db.SaveChanges(); } else { CommonUtils.ShowMsg("未找到数据对应项"); } } else { CommonUtils.ShowMsg("未找到数据对应项"); } } } if (OnEditComplete != null) { OnEditComplete.Invoke(); } this.Close(); } catch (Exception ex) { CommonUtils.ShowMsg("保存失败!" + ex.Message); } }
private void CalculateAsync(DateTime dtStart, DateTime dtEnd, string groupName = null) { ControlUtils.ShowLoading(this.loading); Task t = new Task(() => { try { using (var db = new DataComparisionDataset()) { var lstTotalExists = db.合计表ds.Where(_ => _.日期 >= dtStart && _.日期 <= dtEnd); var lstDeli = db.交割单ds.Where(_ => _.交割日期 >= dtStart && _.交割日期 <= dtEnd).OrderBy(_ => _.组合号).ThenBy(_ => _.SortSequence).ToList(); var lstSoft = db.软件委托ds.Where(_ => _.成交日期 >= dtStart && _.成交日期 <= dtEnd).OrderBy(_ => _.组合号).ThenBy(_ => _.SortSequence).ToList(); if (!string.IsNullOrEmpty(groupName)) { lstTotalExists = lstTotalExists.Where(_ => _.账户 == groupName); lstDeli = lstDeli.Where(_ => _.组合号 == groupName).ToList(); lstSoft = lstSoft.Where(_ => _.组合号 == groupName).ToList(); } var list = Entity.EntityCompareUtil.CompareData(lstDeli, lstSoft); db.合计表ds.RemoveRange(lstTotalExists); db.合计表ds.AddRange(list); db.SaveChanges(); Dispatcher.HideLoading(this.loading); Dispatcher.RunAsync(null, () => { RefreshPage(); }); } } catch (Exception ex) { CommonUtils.Log(DateTime.Now.ToShortTimeString() + " 计算合并信息时出错 ", ex); Dispatcher.ShowMsg("运行异常,计算合并信息时出错,详情请查看日志!"); Dispatcher.HideLoading(this.loading); } }); t.Start(); //var thread = new Thread(new ThreadStart(() => //{ //})); //thread.Start(); }
private void SelectCancelRateInfo() { var dtStart = dpDateStart.SelectedDate.Value; var dtEnd = dpDateEnd.SelectedDate.Value; try { var list = new List <TraderOrderCancelRate>(); using (var db = new DataComparisionDataset()) { var orders = db.软件委托ds.Where(_ => _.成交日期 >= dtStart && _.成交日期 <= dtEnd); foreach (var item in orders) { if (list.Exists(_ => _.Trader == item.交易员)) { var rateItem = list.First(_ => _.Trader == item.交易员); rateItem.OrderTotalCount++; if (item.撤单数量 > 0) { rateItem.OrderCancelCount++; } } else { var rateItem = new TraderOrderCancelRate() { StartDate = dtStart, EndDate = dtEnd, OrderCancelCount = item.撤单数量 > 0 ? 1 : 0, OrderTotalCount = 1, Trader = item.交易员 }; list.Add(rateItem); } } } this.dgCancelRate.ItemsSource = list; } catch (Exception ex) { MessageBox.Show("SelectCancelRateInfo Exception:" + ex.Message); } }
private void Init() { //if (DataAdapter.DataHelper.IsExistsAAS) //{ // btnAASImport.IsEnabled = true; //} try { using (var db = new DataComparisionDataset()) { var list = db.券商ds.ToList(); this.dgGroup.ItemsSource = list; } } catch (Exception) { } }
void OrderCancelRate_Loaded(object sender, RoutedEventArgs e) { this.dpDateStart.SelectedDate = DateTime.Today.AddDays(-1); this.dpDateEnd.SelectedDate = DateTime.Today.AddDays(-1); try { using (var db = new DataComparisionDataset()) { var dates = db.软件委托ds.Select(_ => _.成交日期).Max(); this.dpDateStart.SelectedDate = dates; this.dpDateEnd.SelectedDate = dates; } } catch (Exception) { } SelectCancelRateInfo(); }
//static bool? _isExists = null; ///// <summary> ///// 是否存在本机AAS数据库 ///// </summary> //public static bool IsExistsAAS //{ // get // { // if (_isExists == null) // { // try // { // using (var conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=AAS;Integrated Security=True;")) // { // conn.Open(); // if (conn.State == ConnectionState.Open) // { // conn.Close(); // _isExists = true; // } // else // { // _isExists = false; // } // } // } // catch // { // _isExists = false; // } // } // return _isExists == true; // } //} #endregion public static bool ImportGroupFromAAS(bool isCover) { bool isImportSuccess = false; var dt = new DataTable(); string cmd = "SELECT [名称] ,[启用] ,[交易服务器] ,[版本号] ,[营业部代码] ,[登录帐号] ,[交易帐号] ,[交易密码] ,[通讯密码] FROM [AAS].[dbo].[券商帐户]"; List <string> groupNames = new List <string>(); using (var adapter = new SqlDataAdapter(cmd, "Data Source=.\\SQLEXPRESS;Initial Catalog=AAS;Integrated Security=True;")) { adapter.Fill(dt); dt.Columns.Add("IP"); dt.Columns.Add("Port"); for (int i = dt.Rows.Count - 1; i > -1; i--) { var item = dt.Rows[i]; var ipInfo = item["交易服务器"].ToString().Split(':'); item["IP"] = ipInfo[1]; item["Port"] = ipInfo[2]; if (isCover) { groupNames.Add(item["名称"].ToString()); } else { dt.Rows.RemoveAt(i); } } } using (var db = new DataComparisionDataset()) { var old = db.券商ds.Where(_ => groupNames.Contains(_.称)).ToList(); db.券商ds.RemoveRange(old); db.SaveChanges(); } isImportSuccess = WriteToDB(dt, "券商"); return(isImportSuccess); }
private void Button_Save_Click(object sender, RoutedEventArgs e) { if (Validate()) { try { 券商 o = GetPageEntity(); StringBuilder ErrInfo = new StringBuilder(256); //int clientID = TdxApi.Logon(o.IP, o.Port, o.版本号, o.营业部代码, o.登录帐号, o.交易帐号, o.TradePsw, o.CommunicatePsw, ErrInfo); //if (clientID > -1) //{ // TdxApi.Logoff(clientID); //} //else //{ // MessageBox.Show("登录验证失败, 错误信息:" + ErrInfo.ToString()); //} using (var db = new DataComparisionDataset()) { var oldEntity = db.券商ds.FirstOrDefault(_ => _.称 == o.称); if (oldEntity != null) { db.券商ds.Remove(oldEntity); } db.券商ds.Add(o); db.SaveChanges(); MessageBox.Show("保存完毕", "组合号编辑"); this.Close(); } } catch (Exception ex) { CommonUtils.ShowMsg(ex.Message); } } }
private void Button_DeliveryNotMatched_SetSpecal_Click(object sender, RoutedEventArgs e) { var item = (sender as Button).DataContext as 交割单; if (item != null) { var result = MessageBox.Show("确认强制保留此交割单吗?", "交割单编辑", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { using (var db = new DataComparisionDataset()) { var lst = db.交割单ds.ToList(); var editItem = lst.FirstOrDefault(_ => EntityCompareUtil.IsSame(item, _)); if (editItem != null) { editItem.备注 = "强制保留"; db.SaveChanges(); } } RefreshWindow(false); } } }
private void Button_Soft_Delete_Click(object sender, RoutedEventArgs e) { var item = (sender as Button).DataContext as 软件委托; if (item != null) { var result = MessageBox.Show("确认删除此委托吗?", "委托删除", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { using (var db = new DataComparisionDataset()) { var lst = db.软件委托ds.ToList(); var deleteItem = lst.FirstOrDefault(_ => EntityCompareUtil.IsSame(item, _)); if (deleteItem != null) { db.软件委托ds.Remove(deleteItem); db.SaveChanges(); } } RefreshWindow(false); } } }
public static void StandardDeliveryDataTable(DataTable dt, DateTime?importDate = null) { DateTime st = DateTime.Today; DateTime et = DateTime.MinValue; //1.修正列名 StandardColumnName(dt); //2. 修正数据列 for (int i = dt.Columns.Count - 1; i > -1; i--) { if (!DataHelper.DeliveryCol.Contains(dt.Columns[i].ColumnName)) { dt.Columns.RemoveAt(i); } } for (int i = DataHelper.DeliveryCol.Length - 1; i > -1; i--) { if (!dt.Columns.Contains(DataHelper.DeliveryCol[i])) { dt.Columns.Add(DataHelper.DeliveryCol[i]); } } dt.Columns.Add("OrderID"); dt.Columns.Add("SortSequence"); //3. 修正数据类型,已对应当前数据库,将数字列进行转换 List <string> colDec = new List <string>() { "成交数量", "成交价格", "成交金额", "发生金额", "手续费", "印花税", "过户费", "其他费" }; List <string> groupList = new List <string>(); for (int i = 0; i < dt.Rows.Count; i++) { var groupName = dt.Rows[i]["组合号"].ToString(); if (!groupList.Contains(groupName)) { groupList.Add(groupName); } var date = CommonUtils.GetDate(dt.Rows[i]["交割日期"]); if (date == DateTime.MinValue && importDate != null) { date = importDate.Value; } if (st > date) { st = date; } if (et < date) { et = date; } dt.Rows[i]["OrderID"] = Guid.NewGuid().ToString(); dt.Rows[i]["SortSequence"] = i; dt.Rows[i]["证券代码"] = dt.Rows[i]["证券代码"].ToString().FixStockCode(); dt.Rows[i]["交割日期"] = date; foreach (var colName in colDec) { dt.Rows[i][colName] = CommonUtils.GetDecimal(dt.Rows[i][colName]); } } //4.保存数据库 using (var db = new DataComparisionDataset()) { var oldData = db.交割单ds.Where(_ => _.交割日期 >= st && _.交割日期 < et && groupList.Contains(_.组合号)); db.交割单ds.RemoveRange(oldData); db.SaveChanges(); } }
private void SaveOneTable(DataTable dt, Dictionary <string, string> deliConfig, Dictionary <string, string> softConfig) { string msg; bool isSuccess = true; bool isDeli = cboDataType.SelectedIndex == 0; Task.Run(() => { using (DataComparisionDataset db = new DataComparisionDataset()) { if (isDeli) { isSuccess = SaveAsDeliveryData(dt, db, deliConfig, true, out msg); } else { isSuccess = SaveAsSoftwareData(dt, db, softConfig, true, out msg); } } this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => { MessageBox.Show(isSuccess ? "保存完毕!" : msg); if (isSuccess && !isDeli) { if (OnImportComplete != null) { //批量的软件委托,或者单独一个。 var listGroupName = new List <string>(); foreach (DataRow row in dt.Rows) { var groupName = row["组合号"].ToString(); if (!string.IsNullOrEmpty(groupName) && !listGroupName.Contains(groupName)) { listGroupName.Add(groupName.ToUpper()); } } OnImportComplete.Invoke(listGroupName, this.dpDate.SelectedDate.Value); } List <string> groupNames = new List <string>(); foreach (DataRow row in dt.Rows) { var group = (row["组合号"] + "").ToUpper(); if (!groupNames.Contains(group)) { groupNames.Add(group); } } if (cbNeedAutoSearchDel.IsChecked == true) { AutoSaveDelivery(groupNames, this.dpDate.SelectedDate.Value); } } if (NotMatchConfigData.Contains(dt)) { NotMatchConfigData.Remove(dt); listBoxNotMatched.ItemsSource = NotMatchConfigData.Select(_ => _.TableName.GetFileName()); } SelectedTable = null; ControlUtils.HideLoading(this.loading); dgImportData.ItemsSource = null; if (OnDBChangeComplete != null) { OnDBChangeComplete.Invoke(); } })); }); }
private void Button_FileImport_Click(object sender, RoutedEventArgs e) { OpenFileDialog dialog = new OpenFileDialog() { CheckFileExists = true, Multiselect = false, Filter = "文本文件|*.txt" }; if (true == dialog.ShowDialog()) { try { var arr = File.ReadAllLines(dialog.FileName); List <Entity.券商> listImport = new List <券商>(); foreach (var item in arr) { if (item.StartsWith("名称") || string.IsNullOrWhiteSpace(item)) { continue; } var info = item.Split(new[] { ',', '\t' }); var o = new Entity.券商() { 称 = info[0], 启用 = bool.Parse(info[1]), 交易服务器 = info[2], IP = info[3], Port = short.Parse(info[4]), 版本号 = info[5], 营业部代码 = short.Parse(info[6]), 登录帐号 = info[7], 交易帐号 = info[8], 交易密码 = info[9], }; if (info.Length >= 11) { o.通讯密码 = info[10]; } listImport.Add(o); } if (listImport.Count > 0) { using (var db = new DataComparisionDataset()) { var listName = listImport.Select(_ => _.称); var old = db.券商ds.Where(_ => listName.Contains(_.称)).ToList(); if (old.Count > 0) { db.券商ds.RemoveRange(old); } db.券商ds.AddRange(listImport); db.SaveChanges(); MessageBox.Show(string.Format("导入完成,导入{0}个券商信息,覆盖{1}个,新增{2}个!", listImport.Count, old.Count, listImport.Count - old.Count)); } Init(); } else { MessageBox.Show("导入失败!"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
private void SaveMatchedTables(Dictionary <string, string> deliPageConfig, Dictionary <string, string> softPageConfig) { StringBuilder sb = new StringBuilder(64); try { int successCount = 0; using (var db = new DataComparisionDataset()) { //foreach (DataTable dt in MatchConfigData) //{ // bool isSuccess = false; // string msg; // var saveAsDeli = dt.TableName.GetImportType(); // if (saveAsDeli == ImportDataType.软件委托) // isSuccess = SaveAsSoftwareData(dt, db, softPageConfig, false, out msg); // else if (saveAsDeli == ImportDataType.交割单) // isSuccess = SaveAsDeliveryData(dt, db, deliPageConfig, false, out msg); // else // msg = "未能从文件名中识别出导入数据类型,将跳过此文件:" + dt.TableName; // if (isSuccess) // successCount++; // else // { // if (!string.IsNullOrEmpty(msg)) sb.AppendLine(msg); // NotMatchConfigData.Add(dt); // } //} for (int i = 0; i < MatchConfigData.Count; i++) { DataTable dt = MatchConfigData[i]; this.Dispatcher.RunAsync(() => { this.loading.ShowLoading(string.Format("正在存储第{0}个文件,总计{1}个文件\r\n当前文件名:{2}", i, MatchConfigData.Count, dt.TableName.GetFileName())); }); bool isSuccess = false; string msg; var saveAsDeli = dt.TableName.GetImportType(); if (saveAsDeli == ImportDataType.软件委托) { isSuccess = SaveAsSoftwareData(dt, db, softPageConfig, false, out msg); } else if (saveAsDeli == ImportDataType.交割单) { isSuccess = SaveAsDeliveryData(dt, db, deliPageConfig, false, out msg); } else { msg = "未能从文件名中识别出导入数据类型,将跳过此文件:" + dt.TableName; } if (isSuccess) { successCount++; } else { if (!string.IsNullOrEmpty(msg)) { sb.AppendLine(msg); } NotMatchConfigData.Add(dt); } } CommonUtils.Log("保存记录:" + sb.ToString()); } var message = string.Format("批量保存{0}个文件,成功{1}个,失败{2}个。", MatchConfigData.Count, successCount, MatchConfigData.Count - successCount); if (successCount < MatchConfigData.Count) { message += "失败文件将转入单独保存列表,详细信息请查看日志中的保存记录。"; } this.Dispatcher.ShowMsg(message); } catch (Exception ex) { CommonUtils.Log("存入数据库时出现异常!", ex); this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => { CommonUtils.ShowMsg("保存失败,详情请检查日志!"); })); } }
private void LoadData(string groupID, DateTime date) { List <Entity.交割单> lstDelivery = null; List <Entity.软件委托> lstSoft = null; var delMatched = new List <交割单>(); var delNotMatched = new List <交割单>(); var softMatched = new List <软件委托>(); var softNotMatched = new List <软件委托>(); try { using (var db = new DataComparisionDataset()) { lstDelivery = db.交割单ds.Where(_ => _.组合号 == groupID && _.交割日期 == date).OrderBy(_ => _.SortSequence).ToList(); lstSoft = db.软件委托ds.Where(_ => _.组合号 == groupID && _.成交日期 == date).OrderBy(_ => _.SortSequence).ToList(); if (lstDelivery.Count == 0 && lstSoft.Count != 0) { var groupItem = CommonUtils.DictGroup[groupID]; if (groupItem != null) { var dt = DataHelper.QueryHisData(date, date, groupItem); if (dt != null) { DataHelper.StandardDeliveryDataTable(dt, date); var isSaveSuccess = DataHelper.WriteToDB(dt, "交割单"); if (isSaveSuccess) { lstDelivery = db.交割单ds.Where(_ => _.组合号 == groupID && _.交割日期 == date).OrderBy(_ => _.SortSequence).ToList(); } } } else { this.Dispatcher.ShowMsg("该组合号对应券商信息未添加!"); } } if (lstDelivery.Count > 0) { EntityCompareUtil.CompareData(lstDelivery, lstSoft, delMatched, softMatched, delNotMatched, softNotMatched); } } } catch (Exception ex) { this.Dispatcher.ShowMsg(ex.Message); } this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => { dgMatchedDelivery.ItemsSource = delMatched; dgNotMatchedDelivery.ItemsSource = delNotMatched; dgMatchedSoft.ItemsSource = softMatched; dgSoftwareLost.ItemsSource = softNotMatched; dgDelivery.ItemsSource = lstDelivery; dgSoftware.ItemsSource = lstSoft; ControlUtils.HideLoading(this.Loading); })); }