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; using Microsoft.Extensions.Logging; namespace DW5S.App.UserControl { public partial class CtrlRecTx : DevExpress.XtraEditors.XtraUserControl { [Autowired] private readonly ILogger logger; [Autowired] private readonly UnitOfWork unitOfWork; 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); var repsTx = unitOfWork.Of(); var items = await repsTx.FindAsync(p=>p.TxType== EnumTxType.Rec,p=>p.Name); list.AddRange(items); } catch (Exception ex) { string msg = "查询接收站信息异常"; logger.LogError(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); } } 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) { string msg = "添加接收站信息异常"; logger.LogError(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); 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) { string msg = "保存接收站信息异常"; logger.LogError(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); return null; } } private async Task Delete(List list) { try { var repsTx = unitOfWork.Of(); await repsTx.DeleteAsync(list); await unitOfWork.SaveAsync(); return true; } catch (Exception ex) { string msg = "删除接收站信息异常"; logger.LogError(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); return false; } } private async void gridView1_DoubleClick(object sender, EventArgs e) { var editItem = gridView1.GetFocusedRow() as TxInfo; if (editItem == null) return; await Edit(editItem); } } }