using DevExpress.XtraBars.ViewInfo; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DW5S.App.EditForms; using DW5S.Entity; using DW5S.Repostory; namespace DW5S.App.UserControl { public partial class CtrlRecTx : DevExpress.XtraEditors.XtraUserControl { readonly List list = new List(); public CtrlRecTx() { InitializeComponent(); } private async void CtrlRecTx_Load(object sender, EventArgs e) { try { gridSat.UseDefault(list).UseMultiSelect().UseRowNumber() .UseAddAsync(Add) .UseEditAsync(Edit) .UseDeleteAsync(Delete); using (var db = new RHDWContext()) { var items = await db.RecTxInfos.OrderBy(p => p.Name).ToListAsync(); list.AddRange(items); } } catch (Exception ex) { await LogHelper.Error("查询接收站信息异常", ex); DxHelper.MsgBoxHelper.ShowError("查询接收站信息异常"); } } private async Task Add() { try { //SatEditor frm = new SatEditor(); //if (frm.ShowDialog() != DialogResult.OK) return null; //var addItem = frm.info; //using (RHDWContext db = new RHDWContext()) //{ // db.SatInfos.Add(addItem); // await db.SaveChangesAsync(); //} //return addItem; return null; } catch (Exception ex) { DW5S.Framework.LogHelper.Error("添加接收站信息异常", ex); DxHelper.MsgBoxHelper.ShowError("添加接收站信息异常"); return null; } } private async Task Edit(TxInfo editItem) { try { //SatEditor frm = new SatEditor(editItem); //if (frm.ShowDialog() != DialogResult.OK) return null; //editItem = frm.info; //using (RHDWContext db = new RHDWContext()) //{ // var find = await db.SatInfos.Where(p => p.ID == editItem.ID).FirstOrDefaultAsync(); // find.SatName = editItem.SatName; // find.SatCode = editItem.SatCode; // find.SatLon = editItem.SatLon; // find.UpdateTime = DateTime.Now; // await db.SaveChangesAsync(); //} return editItem; } catch (Exception ex) { DW5S.Framework.LogHelper.Error("保存接收站信息异常", ex); DxHelper.MsgBoxHelper.ShowError("保存接收站信息异常"); return null; } } private async Task Delete(List list) { try { var ids = list.Select(p => p.ID); using (RHDWContext db = new RHDWContext()) { var delItems = await db.RecTxInfos.Where(p => ids.Contains(p.ID)).ToListAsync(); db.RecTxInfos.RemoveRange(delItems); await db.SaveChangesAsync(); } return true; } catch (Exception ex) { DW5S.Framework.LogHelper.Error("删除接收站信息异常", ex); DxHelper.MsgBoxHelper.ShowError("删除接收站信息异常"); return false; } } private async void gridView1_DoubleClick(object sender, EventArgs e) { var editItem = gridView1.GetFocusedRow() as TxInfo; if (editItem == null) return; await Edit(editItem); } } }