123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using DevExpress.XtraBars.Customization;
- using DW5S.App.EditForms;
- using DW5S.Entity;
- using DW5S.Repostory;
- using DW5S.Service;
- using DW5S.ViewModel;
- using Serilog;
- namespace DW5S.App.UserControl
- {
- public partial class CtrlFixedStation : DevExpress.XtraEditors.XtraUserControl
- {
- readonly List<FixedStationViewModel> list = new List<FixedStationViewModel>();
- public CtrlFixedStation()
- {
- InitializeComponent();
- }
- private async void CtrlSat_Load(object sender, EventArgs e)
- {
- try
- {
- gridFixedStation.UseDefault(list).UseMultiSelect().UseRowNumber()
- .UseAddAsync(Add)
- .UseEditAsync<FixedStationViewModel>(Edit)
- .UseDeleteAsync<FixedStationViewModel>(Delete).SetDisplayText(nameof(FixedStationViewModel.Value), val => $"{val}秒")
- .UseBoolColumn(nameof(FixedStationViewModel.Enable), "启用", "禁用");
- var unitOfWork = IocContainer.UnitOfWork;
- var repsFix = unitOfWork.Of<FixedStation>();
- var items = await repsFix.GetAllAsync(p => p.StationName);
- list.AddRange(items.To<List<FixedStationViewModel>>());
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex, "查询固定站信息异常");
- DxHelper.MsgBoxHelper.ShowError("查询固定站信息异常");
- }
- }
- private async Task<FixedStationViewModel> Add()
- {
- try
- {
- FixedStationEditor frm = new FixedStationEditor();
- if (frm.ShowDialog() != DialogResult.OK) return null;
- var addItem = frm.info;
- var unitOfWork = IocContainer.UnitOfWork;
- var repsFix = unitOfWork.Of<FixedStation>();
- await repsFix.AddOrUpdateAsync(addItem.To<FixedStation>());
- await unitOfWork.SaveAsync();
- return addItem;
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex, "添加固定站信息异常");
- DxHelper.MsgBoxHelper.ShowError("添加固定站信息异常");
- return null;
- }
- }
- private async Task<FixedStationViewModel> Edit(FixedStationViewModel editItem)
- {
- try
- {
- FixedStationEditor frm = new FixedStationEditor(editItem);
- if (frm.ShowDialog() != DialogResult.OK) return null;
- editItem = frm.info;
- var unitOfWork = IocContainer.UnitOfWork;
- var repsFix = unitOfWork.Of<FixedStation>();
- var find = (await repsFix.FirstOrDefaultAsync(p => p.Id == editItem.Id));
- find.StationName = editItem.StationName;
- find.FreqUpHz = editItem.FreqUpHz;
- find.Lon = editItem.Lon;
- find.Lat = editItem.Lat;
- find.Value = editItem.Value;
- find.Enable = editItem.Enable;
- find.UpdateTime = DateTime.Now;
- await repsFix.AddOrUpdateAsync(find);
- await unitOfWork.SaveAsync();
- return editItem;
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex,"保存固定站信息异常");
- DxHelper.MsgBoxHelper.ShowError("保存固定站信息异常");
- return null;
- }
- }
- private async Task<bool> Delete(List<FixedStationViewModel> list)
- {
- try
- {
- var ids = list.Select(p => p.Id);
- var unitOfWork = IocContainer.UnitOfWork;
- var repsSat = unitOfWork.Of<SatInfo>();
- await repsSat.DeleteAsync(p => ids.Contains(p.Id));
- await unitOfWork.SaveAsync();
- return true;
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex,"删除卫星信息异常");
- DxHelper.MsgBoxHelper.ShowError("删除卫星信息异常");
- return false;
- }
- }
- private async void gridView1_DoubleClick(object sender, EventArgs e)
- {
- var editItem = gridView1.GetFocusedRow() as FixedStationViewModel;
- if (editItem == null) return;
- await Edit(editItem);
- }
- }
- }
|