123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- using DevExpress.XtraBars.ViewInfo;
- using DW5S.App.EditForms;
- using DW5S.Entity;
- using DW5S.Repostory;
- using DW5S.Service;
- using DW5S.ViewModel;
- using Serilog;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace DW5S.App.UserControl
- {
- public partial class CtrlCxTx : DevExpress.XtraEditors.XtraUserControl
- {
-
-
- readonly List<CxTxViewModel> list = new List<CxTxViewModel>();
- public CtrlCxTx()
- {
- InitializeComponent();
- }
- private async void CtrlCxTx_Load(object sender, EventArgs e)
- {
- try
- {
- gridRefTx.UseDefault(list).UseMultiSelect().UseRowNumber()
- .UseAddAsync(Add)
- .UseEditAsync<CxTxViewModel>(Edit)
- .UseDeleteAsync<CxTxViewModel>(Delete)
- .UseBoolColumn(nameof(RecTxViewModel.Enable), "启用", "禁用");
- var unitOfWork = IocContainer.UnitOfWork;
- var repsCxTx = unitOfWork.Of<TxInfo>();
- var items = await repsCxTx.FindAsync(f=>f.TxType== EnumTxType.Cx, p => p.Name);
- list.AddRange(items.To<List<CxTxViewModel>>());
- }
- catch (Exception ex)
- {
- string msg = "查询参考站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- }
- }
- private async Task<CxTxViewModel> Add()
- {
- try
- {
- CxEditor frm = new CxEditor();
- if (frm.ShowDialog() != DialogResult.OK) return null;
- var addItem = frm.info.To<TxInfo>();
- addItem.TxType = EnumTxType.Cx;
- var unitOfWork = IocContainer.UnitOfWork;
- var repsCxTx = unitOfWork.Of<TxInfo>();
- var res = await repsCxTx.AddOrUpdateAsync(addItem);
- await unitOfWork.SaveAsync();
- return res.To<CxTxViewModel>();
- }
- catch (Exception ex)
- {
- string msg = "添加参考站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- return null;
- }
- }
- private async Task<CxTxViewModel> Edit(CxTxViewModel editItem)
- {
- try
- {
- CxEditor frm = new CxEditor(editItem);
- if (frm.ShowDialog() != DialogResult.OK) return null;
- editItem = frm.info;
- var unitOfWork = IocContainer.UnitOfWork;
- var repsCxTx = unitOfWork.Of<TxInfo>();
- var find = await repsCxTx.FirstOrDefaultAsync(p => p.Id == editItem.Id);
- find.Name = editItem.Name;
- find.Lon = editItem.Lon;
- find.Lat = editItem.Lat;
- find.Remark = editItem.Remark;
- find.Enable = editItem.Enable;
- await repsCxTx.AddOrUpdateAsync(find);
- await unitOfWork.SaveAsync();
- return editItem;
- }
- catch (Exception ex)
- {
- string msg = "保存参考站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- return null;
- }
- }
- private async Task<bool> Delete(List<CxTxViewModel> list)
- {
- try
- {
- var unitOfWork = IocContainer.UnitOfWork;
- var repsCxTx = unitOfWork.Of<TxInfo>();
- await repsCxTx.DeleteAsync(list.To<List<TxInfo>>());
- await unitOfWork.SaveAsync();
- return true;
- }
- catch (Exception ex)
- {
- string msg = "删除参考站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- return false;
- }
- }
- private async void gridView1_DoubleClick(object sender, EventArgs e)
- {
- var editItem = gridView.GetFocusedRow() as CxTxViewModel;
- if (editItem == null) return;
- await Edit(editItem);
- }
- }
- }
|