123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- 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 Serilog;
- namespace DW5S.App.UserControl
- {
- public partial class CtrlFixedStation : DevExpress.XtraEditors.XtraUserControl
- {
-
- readonly List<FixedStation> list = new List<FixedStation>();
- public CtrlFixedStation()
- {
- InitializeComponent();
- }
- private async void CtrlSat_Load(object sender, EventArgs e)
- {
- try
- {
- gridFixedStation.UseDefault(list).UseMultiSelect().UseRowNumber()
- .UseAddAsync(Add)
- .UseEditAsync<FixedStation>(Edit)
- .UseDeleteAsync<FixedStation>(Delete).SetDisplayText(nameof(FixedStation.Value), val => $"{val}秒");
- var unitOfWork = IocContainer.UnitOfWork;
- var repsFix = unitOfWork.Of<FixedStation>();
- var items = await repsFix.GetAllAsync(p => p.StationName);
- list.AddRange(items);
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex, "查询固定站信息异常");
- DxHelper.MsgBoxHelper.ShowError("查询固定站信息异常");
- }
- }
- private async Task<FixedStation> 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);
- await unitOfWork.SaveAsync();
- return addItem;
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex,"添加卫星信息异常");
- DxHelper.MsgBoxHelper.ShowError("添加卫星信息异常");
- return null;
- }
- }
- private async Task<FixedStation> Edit(FixedStation 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<FixedStation> 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 FixedStation;
- if (editItem == null) return;
- await Edit(editItem);
- }
- }
- }
|