123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- 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;
- using DW5S.Service;
- using Newtonsoft.Json;
- namespace DW5S.App.UserControl
- {
- public partial class CtrlRecTx : DevExpress.XtraEditors.XtraUserControl
- {
- readonly List<RecTxViewModel> list = new List<RecTxViewModel>();
- public CtrlRecTx()
- {
- InitializeComponent();
- }
- private async void CtrlRecTx_Load(object sender, EventArgs e)
- {
- try
- {
- gridRecTx.UseDefault(list).UseMultiSelect().UseRowNumber()
- .UseAddAsync(Add)
- .UseEditAsync<RecTxViewModel>(Edit)
- .UseDeleteAsync<RecTxViewModel>(Delete);
- var unitOfWork = IocContainer.UnitOfWork;
- var repsRecTx = unitOfWork.Of<TxInfo>();
- var items = await repsRecTx.FindAsync(f => f.TxType == EnumTxType.Rec, p => p.Name);
- list.AddRange(items.To<List<RecTxViewModel>>());
- }
- catch (Exception ex)
- {
- string msg = "查询接收站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- }
- }
- private async Task<RecTxViewModel> Add()
- {
- try
- {
- RecEditor frm = new RecEditor();
- if (frm.ShowDialog() != DialogResult.OK) return null;
- var addItem = frm.info;
- var unitOfWork = IocContainer.UnitOfWork;
- var repsRecTx = unitOfWork.Of<TxInfo>();
- var res = await repsRecTx.AddOrUpdateAsync(addItem);
- await unitOfWork.SaveAsync();
- return addItem.To<RecTxViewModel>();
- }
- catch (Exception ex)
- {
- string msg = "添加接收站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- return null;
- }
- }
- private async Task<RecTxViewModel> Edit(RecTxViewModel editItem)
- {
- try
- {
- RecEditor frm = new RecEditor(editItem);
- if (frm.ShowDialog() != DialogResult.OK) return null;
- editItem = frm.info.To<RecTxViewModel>();
- var unitOfWork = IocContainer.UnitOfWork;
- var repsRecTx = unitOfWork.Of<TxInfo>();
- var find = await repsRecTx.FirstOrDefaultAsync(p => p.Id == editItem.Id);
- find.Name = editItem.Name;
- find.Lon = editItem.Lon;
- find.Lat = editItem.Lat;
- find.Remark = editItem.Remark;
- find.TxType = EnumTxType.Rec;
- await repsRecTx.AddOrUpdateAsync(find);
- await unitOfWork.SaveAsync();
- return editItem.To<RecTxViewModel>();
- }
- catch (Exception ex)
- {
- string msg = "保存接收站信息异常";
- IocContainer.Logger.Error(ex, msg);
- DxHelper.MsgBoxHelper.ShowError(msg);
- return null;
- }
- }
- private async Task<bool> Delete(List<RecTxViewModel> list)
- {
- try
- {
- var unitOfWork = IocContainer.UnitOfWork;
- var repsTx = unitOfWork.Of<TxInfo>();
- await repsTx.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 RecTxViewModel;
- if (editItem == null) return;
- await Edit(editItem);
- }
- }
- }
|