gongqiuhong 5 months ago
parent
commit
6093a4d674

+ 13 - 7
DW5S.App/PopupControl/ShowCgCtrl.cs

@@ -13,11 +13,18 @@ using System.Windows.Forms;
 using DW5S.App.Model;
 using DW5S.Entity;
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.PopupControl
 {
     public partial class ShowCgCtrl : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         PosRes posItem;
         List<ModelCg> listCg = new List<ModelCg>();
         List<ModelCgXgf> listXgf = new List<ModelCgXgf>();
@@ -37,10 +44,9 @@ namespace DW5S.App.PopupControl
         private async void ShowCgCtrl_Load(object sender, EventArgs e)
         {
             List<SatInfo> sats = null;
-            using (RHDWContext db = new RHDWContext())
-            {
-                sats = await db.SatInfos.ToListAsync();
-            }
+            var repsSat = unitOfWork.Of<SatInfo>();
+
+            sats = (await repsSat.GetAllAsync()).ToList();
             List<ModelCg> list = new List<ModelCg>();
             using (RHDWPartContext db = RHDWPartContext.GetContext(posItem.SigTime))
             {
@@ -78,7 +84,7 @@ namespace DW5S.App.PopupControl
                 {
                     ModelCg item = new ModelCg()
                     {
-                        ID = cgEntity.ID,
+                        Id = cgEntity.ID,
                         CreateTime = cgEntity.CreateTime,
                         UpdateTime = cgEntity.UpdateTime,
                         SigTime = cgEntity.SigTime,
@@ -103,7 +109,7 @@ namespace DW5S.App.PopupControl
                 {
                     ModelCg item = new ModelCg()
                     {
-                        ID = cgEntity.ID,
+                        Id = cgEntity.ID,
                         CreateTime = cgEntity.CreateTime,
                         UpdateTime = cgEntity.UpdateTime,
                         SigTime = cgEntity.SigTime,
@@ -138,7 +144,7 @@ namespace DW5S.App.PopupControl
                         var data = await db.CgXgfRes.Where(p => p.CgResID == cgItem.ID && p.CgType == cgItem.CgType).ToListAsync();
                         listXgf.AddRange(data.Select(p => new ModelCgXgf
                         {
-                            ID = p.ID,
+                            Id = p.ID,
                             Dto = p.Dto,
                             Dfo = p.Dfo,
                             Snr = p.Snr,

+ 33 - 29
DW5S.App/UserControl/CtrlSat.cs

@@ -5,14 +5,22 @@ 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 Microsoft.Extensions.Logging;
 
 namespace DW5S.App.UserControl
 {
     public partial class CtrlSat : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         readonly List<SatInfo> list = new List<SatInfo>();
         public CtrlSat()
         {
@@ -26,11 +34,9 @@ namespace DW5S.App.UserControl
                     .UseAddAsync(Add)
                     .UseEditAsync<SatInfo>(Edit)
                     .UseDeleteAsync<SatInfo>(Delete);
-                using (var db = new RHDWContext())
-                {
-                    var items = await db.SatInfos.OrderBy(p => p.SatName).ToListAsync();
-                    list.AddRange(items);
-                }
+                var repsSat = unitOfWork.Of<SatInfo>();
+                var items = await repsSat.GetAllAsync(p => p.SatName);
+                list.AddRange(items);
             }
             catch (Exception ex)
             {
@@ -46,16 +52,15 @@ namespace DW5S.App.UserControl
                 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();
-                }
+                var repsSat = unitOfWork.Of<SatInfo>();
+                await repsSat.AddOrUpdateAsync(addItem);
+                await unitOfWork.SaveAsync();
+
                 return addItem;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("添加卫星信息异常", ex);
+                logger.LogError(ex, "添加卫星信息异常");
                 DxHelper.MsgBoxHelper.ShowError("添加卫星信息异常");
                 return null;
             }
@@ -68,20 +73,21 @@ namespace DW5S.App.UserControl
                 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();
-                }
+                var repsSat = unitOfWork.Of<SatInfo>();
+                var find = await repsSat.FirstOrDefaultAsync(p => p.Id == editItem.Id);
+                find.SatName = editItem.SatName;
+                find.SatCode = editItem.SatCode;
+                find.SatLon = editItem.SatLon;
+                find.UpdateTime = DateTime.Now;
+                await repsSat.AddOrUpdateAsync(find);
+                await unitOfWork.SaveAsync();
+
+
                 return editItem;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("保存卫星信息异常", ex);
+                logger.LogError(ex,"保存卫星信息异常");
                 DxHelper.MsgBoxHelper.ShowError("保存卫星信息异常");
                 return null;
             }
@@ -91,18 +97,16 @@ namespace DW5S.App.UserControl
         {
             try
             {
-                var ids = list.Select(p => p.ID);
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var delItems = await db.SatInfos.Where(p => ids.Contains(p.ID)).ToListAsync();
-                    db.SatInfos.RemoveRange(delItems);
-                    await db.SaveChangesAsync();
-                }
+                var ids = list.Select(p => p.Id);
+                var repsSat = unitOfWork.Of<SatInfo>();
+                var delItems = await repsSat.FindAsync(p => ids.Contains(p.Id));
+                await repsSat.DeleteAsync(delItems);
+                await unitOfWork.SaveAsync();
                 return true;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("删除卫星信息异常", ex);
+                logger.LogError("删除卫星信息异常", ex);
                 DxHelper.MsgBoxHelper.ShowError("删除卫星信息异常");
                 return false;
             }

+ 82 - 81
DW5S.App/UserControl/CtrlSignal.cs

@@ -13,11 +13,18 @@ using System.Windows.Forms;
 using DW5S.App.EditForms;
 using DW5S.Entity;
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
+using DevExpress.XtraBars.Customization;
 
 namespace DW5S.App.UserControl
 {
     public partial class CtrlSignal : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
         readonly List<SigInfo> listSigInfo = new List<SigInfo>();
         readonly List<SigDelay> listSigDelay = new List<SigDelay>();
         public CtrlSignal()
@@ -38,27 +45,27 @@ namespace DW5S.App.UserControl
                    .UseEditAsync<SigDelay>(EditSigDelay)
                    .UseDeleteAsync<SigDelay>(DeleteSigDelay);
 
-                using (var db = new RHDWContext())
+                var repsSig = unitOfWork.Of<SigInfo>();
+                var items = await repsSig.GetAllAsync(p => p.FreqUp);
+                listSigInfo.AddRange(items);
+                var repsFixedStation = unitOfWork.Of<FixedStation>();
+                var fixedStations = await repsFixedStation.FindAsync(p => p.Enable);
+                foreach (var item in listSigInfo)
                 {
-                    var items = await db.SigInfos.OrderBy(p=>p.FreqUp).ToListAsync();
-                    listSigInfo.AddRange(items);
-                    var fixedStations=await db.FixedStation.Where(p => p.Enable).ToListAsync();
-                    foreach (var item in listSigInfo)
-                    {
-                        if (fixedStations.Any(p => p.FreqUpHz == item.FreqUp))
-                            item.IsFixedStationFreq = "✔";
-                        else
-                            item.IsFixedStationFreq = "✖";
-                    }
-                    //var delayItems = await db.SigDelays.ToListAsync();
-                    //var delayRes = delayItems.Where(w => w.SigInfoID == items.FirstOrDefault().ID);
-                    //listSigDelay.AddRange(delayRes);
+                    if (fixedStations.Any(p => p.FreqUpHz == item.FreqUp))
+                        item.IsFixedStationFreq = "✔";
+                    else
+                        item.IsFixedStationFreq = "✖";
                 }
+                //var delayItems = await db.SigDelays.ToListAsync();
+                //var delayRes = delayItems.Where(w => w.SigInfoID == items.FirstOrDefault().ID);
+                //listSigDelay.AddRange(delayRes);
+
                 gridViewSignal.RefreshData();
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("查询信号信息异常", ex);
+                logger.LogError(ex, "查询信号信息异常");
                 DxHelper.MsgBoxHelper.ShowError("查询信号信息异常");
             }
         }
@@ -69,16 +76,14 @@ namespace DW5S.App.UserControl
                 SigEditor frm = new SigEditor();
                 if (frm.ShowDialog() != DialogResult.OK) return null;
                 var addItem = frm.info;
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var sig = db.SigInfos.Add(addItem);
-                    await db.SaveChangesAsync();
-                }
+                var repsSig = unitOfWork.Of<SigInfo>();
+                var sig = await repsSig.AddOrUpdateAsync(addItem);
+                await unitOfWork.SaveAsync();
                 return addItem;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("添加信号信息异常", ex);
+                logger.LogError(ex, "添加信号信息异常");
                 DxHelper.MsgBoxHelper.ShowError("添加信号信息异常");
                 return null;
             }
@@ -90,22 +95,22 @@ namespace DW5S.App.UserControl
                 SigEditor frm = new SigEditor(editItem);
                 if (frm.ShowDialog() != DialogResult.OK) return null;
                 editItem = frm.info;
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var find = await db.SigInfos.Where(p => p.ID == editItem.ID).FirstOrDefaultAsync();
-                    find.FreqUp = editItem.FreqUp;
-                    find.FreqDown = editItem.FreqDown;
-                    find.SigType = editItem.SigType;
-                    find.Band = editItem.Band;
-                    find.Snr = editItem.Snr;
-                    find.UpdateTime = DateTime.Now;
-                    await db.SaveChangesAsync();
-                }
+                var repsSig = unitOfWork.Of<SigInfo>();
+                var find = await repsSig.FirstOrDefaultAsync(p => p.Id == editItem.Id);
+                find.FreqUp = editItem.FreqUp;
+                find.FreqDown = editItem.FreqDown;
+                find.SigType = editItem.SigType;
+                find.Band = editItem.Band;
+                find.Snr = editItem.Snr;
+                find.UpdateTime = DateTime.Now;
+                var sig = await repsSig.AddOrUpdateAsync(find);
+                await unitOfWork.SaveAsync();
+
                 return editItem;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("保存信号信息异常", ex);
+                logger.LogError(ex, "保存信号信息异常");
                 DxHelper.MsgBoxHelper.ShowError("保存信号信息异常");
                 return null;
             }
@@ -114,20 +119,20 @@ namespace DW5S.App.UserControl
         {
             try
             {
-                var ids = list.Select(p => p.ID);
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var delayItems= db.SigDelays.Where(p => ids.Contains(p.SigInfoId));
-                    db.SigDelays.RemoveRange(delayItems);
-                    var delItems = await db.SigInfos.Where(p => ids.Contains(p.ID)).ToListAsync();
-                    db.SigInfos.RemoveRange(delItems);
-                    await db.SaveChangesAsync();
-                }
+                var ids = list.Select(p => p.Id);
+                var repsSigDelay = unitOfWork.Of<SigDelay>();
+                var delayItems = await repsSigDelay.FindAsync(p => ids.Contains(p.SigInfoId));
+                await repsSigDelay.DeleteAsync(delayItems);
+                var repsSig = unitOfWork.Of<SigInfo>();
+                var delItems = await repsSig.FindAsync(p => ids.Contains(p.Id));
+                await repsSig.DeleteAsync(delItems);
+                await unitOfWork.SaveAsync();
+
                 return true;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("删除信号信息异常", ex);
+                logger.LogError(ex, "删除信号信息异常");
                 DxHelper.MsgBoxHelper.ShowError("删除信号信息异常");
                 return false;
             }
@@ -138,20 +143,19 @@ namespace DW5S.App.UserControl
             {
                 var sigInfoId = gridViewSignal.GetFocusedRow() as SigInfo;
                 if (sigInfoId == null) return null;
-                SigDelayEditor frm = new SigDelayEditor(sigInfoId.ID);
+                SigDelayEditor frm = new SigDelayEditor(sigInfoId.Id);
                 if (frm.ShowDialog() != DialogResult.OK) return null;
                 var addItem = frm.info;
-                using (RHDWContext db = new RHDWContext())
-                {
-                    addItem.SigInfoId = sigInfoId.ID;
-                    var sig = db.SigDelays.Add(addItem);
-                    await db.SaveChangesAsync();
-                }
+                var repsSigDelay = unitOfWork.Of<SigDelay>();
+                addItem.SigInfoId = sigInfoId.Id;
+                var sig = repsSigDelay.AddOrUpdateAsync(addItem);
+                await unitOfWork.SaveAsync();
+
                 return addItem;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("添加转发延迟异常", ex);
+                logger.LogError(ex, "添加转发延迟异常");
                 DxHelper.MsgBoxHelper.ShowError("添加转发延迟异常");
                 return null;
             }
@@ -162,22 +166,21 @@ namespace DW5S.App.UserControl
             {
                 var sigInfoId = gridViewSignal.GetFocusedRow() as SigInfo;
                 if (sigInfoId == null) return null;
-                SigDelayEditor frm = new SigDelayEditor(editItem, sigInfoId.ID);
+                SigDelayEditor frm = new SigDelayEditor(editItem, sigInfoId.Id);
                 if (frm.ShowDialog() != DialogResult.OK) return null;
                 editItem = frm.info;
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var find = await db.SigDelays.Where(p => p.ID == editItem.ID).FirstOrDefaultAsync();
-                    find.SigInfoId = editItem.SigInfoId;
-                    find.SatInfoSatCode = editItem.SatInfoSatCode;
-                    find.Delay = editItem.Delay;
-                    await db.SaveChangesAsync();
-                }
+                var repsSigDelay = unitOfWork.Of<SigDelay>();
+                var find = await repsSigDelay.FirstOrDefaultAsync(p => p.Id == editItem.Id);
+                find.SigInfoId = editItem.SigInfoId;
+                find.SatInfoSatCode = editItem.SatInfoSatCode;
+                find.Delay = editItem.Delay;
+                await unitOfWork.SaveAsync();
+
                 return editItem;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("保存转发延迟异常", ex);
+                logger.LogError(ex, "保存转发延迟异常");
                 DxHelper.MsgBoxHelper.ShowError("保存转发延迟异常");
                 return null;
             }
@@ -186,18 +189,17 @@ namespace DW5S.App.UserControl
         {
             try
             {
-                var ids = list.Select(p => p.ID);
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var delItems = await db.SigDelays.Where(p => ids.Contains(p.ID)).ToListAsync();
-                    db.SigDelays.RemoveRange(delItems);
-                    await db.SaveChangesAsync();
-                }
+                var ids = list.Select(p => p.Id);
+                var repsSigDelay = unitOfWork.Of<SigDelay>();
+                var delItems = await repsSigDelay.FindAsync(p => ids.Contains(p.Id));
+                await repsSigDelay.DeleteAsync(delItems);
+                await unitOfWork.SaveAsync();
+
                 return true;
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("删除转发延迟异常", ex);
+                logger.LogError(ex, "删除转发延迟异常");
                 DxHelper.MsgBoxHelper.ShowError("删除转发延迟异常");
                 return false;
             }
@@ -208,22 +210,21 @@ namespace DW5S.App.UserControl
             listSigDelay.Clear();
             var sigInfoId = gridViewSignal.GetFocusedRow() as SigInfo;
             if (sigInfoId == null) return;
-            using (var db = new RHDWContext())
+            var repsSigDelay = unitOfWork.Of<SigDelay>();
+            var repsSat = unitOfWork.Of<SatInfo>();
+            var delayItems = await repsSigDelay.FindAsync(w => w.SigInfoId == sigInfoId.Id, p => p.SatInfo.SatName);
+            var sats = await repsSat.GetAllAsync();
+            foreach (var delayItem in delayItems)
             {
-                var delayItems = await db.SigDelays.Where(w => w.SigInfoId == sigInfoId.ID).OrderBy(p=>p.SatInfo.SatName).ToListAsync();
-                var sats = await db.SatInfos.ToListAsync();
-                foreach (var delayItem in delayItems)
+                SigDelay sigDelay = delayItem as SigDelay;
+                var satInfo = sats.FirstOrDefault(f => f.SatCode == sigDelay.SatInfoSatCode);
+                if (satInfo != null)
                 {
-                    SigDelay sigDelay = delayItem as SigDelay;
-                    var satInfo = sats.FirstOrDefault(f => f.SatCode == sigDelay.SatInfoSatCode);
-                    if (satInfo != null)
-                    {
-                        sigDelay.Sat = $"[{satInfo.SatLon}°]{satInfo.SatName}({satInfo.SatCode})";
-                    }
-                    listSigDelay.Add(sigDelay);
+                    sigDelay.Sat = $"[{satInfo.SatLon}°]{satInfo.SatName}({satInfo.SatCode})";
                 }
-                gridViewSigDelay.RefreshData();
+                listSigDelay.Add(sigDelay);
             }
+            gridViewSigDelay.RefreshData();
         }
 
         private async void gridViewSignal_DoubleClick(object sender, EventArgs e)

+ 1 - 1
DW5S.App/UserControl/CtrlSvrs.Designer.cs

@@ -132,7 +132,7 @@
             this.Controls.Add(this.layoutControl1);
             this.Name = "CtrlSvrs";
             this.Size = new System.Drawing.Size(805, 490);
-            this.Load += new System.EventHandler(this.CtrlSvrs_LoadAsync);
+            this.Load += new System.EventHandler(this.CtrlSvrs_Load);
             ((System.ComponentModel.ISupportInitialize)(this.gridSvrs)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();

+ 2 - 4
DW5S.App/UserControl/CtrlSysSettings.cs

@@ -157,10 +157,8 @@ namespace DW5S.App.UserControl
                     res.MapLayerType = layerType;
 
                 }
-                repsSys.AddOrUpdate(res);
-                db.SysSetings.AddOrUpdate(res);
-                await db.SaveChangesAsync();
-                SysConfig.Config = res;
+               await repsSys.AddOrUpdateAsync(res);
+                await unitOfWork.SaveAsync();               
                 if (mapChanged)
                     Messenger.Defalut.Pub("地图类型改变", res);
                 Messenger.Defalut.Pub("时区改变", res);

+ 50 - 52
DW5S.App/UserControl/CtrlTx.cs

@@ -13,11 +13,18 @@ using DevExpress.XtraEditors.Controls;
 using ExtensionsDev;
 using DW5S.Entity;
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.UserControl
 {
     public partial class CtrlTx : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         List<TxInfo> list = new List<TxInfo>();
 
         public CtrlTx()
@@ -35,45 +42,42 @@ namespace DW5S.App.UserControl
             try
             {
 
-                using (RHDWContext db = new RHDWContext())
-                {
-                    list = await db.TxInfos.ToListAsync();
-                    var recTx = list.Find(p => p.TxType == EnumTxType.Rec);
-                    var cdbTx = list.Find(p => p.TxType == EnumTxType.Cdb);
-                    var cxTx = list.Find(p => p.TxType == EnumTxType.Cx);
-                    var refLoc = list.Find(p => p.TxType == EnumTxType.Ref);
+                var repsSys = unitOfWork.Of<TxInfo>();
+                list = (await repsSys.GetAllAsync()).ToList();
+                var recTx = list.Find(p => p.TxType == EnumTxType.Rec);
+                var cdbTx = list.Find(p => p.TxType == EnumTxType.Cdb);
+                var cxTx = list.Find(p => p.TxType == EnumTxType.Cx);
+                var refLoc = list.Find(p => p.TxType == EnumTxType.Ref);
 
-                    if (recTx != null)
-                    {
-                        this.txtMainTxName.Text = recTx.Name;
-                        this.txtMainTxLon.Text = recTx.Lon.ToString();
-                        this.txtMainTxLat.Text = recTx.Lat.ToString();
-                    }
-                   
-                    if (cdbTx != null)
-                    {
-                        this.txtCdbName.Text = cdbTx.Name;
-                        this.txtCdbLon.Text = cdbTx.Lon.ToString();
-                        this.txtCdbLat.Text = cdbTx.Lat.ToString();
-                    }
-                    if (cxTx != null)
-                    {
-                        this.txtCxName.Text = cxTx.Name;
-                        this.txtCxLon.Text = cxTx.Lon.ToString();
-                        this.txtCxLat.Text = cxTx.Lat.ToString();
-                    }
-                    if (refLoc != null)
-                    {
-                        this.txtRefName.Text = refLoc.Name;
-                        this.txtRefLon.Text = refLoc.Lon.ToString();
-                        this.txtRefLat.Text = refLoc.Lat.ToString();
-                    }
+                if (recTx != null)
+                {
+                    this.txtMainTxName.Text = recTx.Name;
+                    this.txtMainTxLon.Text = recTx.Lon.ToString();
+                    this.txtMainTxLat.Text = recTx.Lat.ToString();
+                }
 
+                if (cdbTx != null)
+                {
+                    this.txtCdbName.Text = cdbTx.Name;
+                    this.txtCdbLon.Text = cdbTx.Lon.ToString();
+                    this.txtCdbLat.Text = cdbTx.Lat.ToString();
+                }
+                if (cxTx != null)
+                {
+                    this.txtCxName.Text = cxTx.Name;
+                    this.txtCxLon.Text = cxTx.Lon.ToString();
+                    this.txtCxLat.Text = cxTx.Lat.ToString();
+                }
+                if (refLoc != null)
+                {
+                    this.txtRefName.Text = refLoc.Name;
+                    this.txtRefLon.Text = refLoc.Lon.ToString();
+                    this.txtRefLat.Text = refLoc.Lat.ToString();
                 }
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("加载天线信息异常", ex);
+                logger.LogError("加载天线信息异常", ex);
                 DxHelper.MsgBoxHelper.ShowError("加载天线信息异常");
             }
         }
@@ -131,33 +135,27 @@ namespace DW5S.App.UserControl
                 txRef.Lat = refLat;
                 tmp.Add(txRef);
 
-                using (RHDWContext db = new RHDWContext())
+                var repsSys = unitOfWork.Of<TxInfo>();
+                foreach (var item in tmp)
                 {
-
-                    foreach (var item in tmp)
+                    var find = await repsSys.FirstOrDefaultAsync(p => p.Id == item.Id);
+                    if (find != null)
                     {
-                        var find = await db.TxInfos.Where(p => p.ID == item.ID).FirstOrDefaultAsync();
-                        if (find != null)
-                        {
-                            find.Name = item.Name;
-                            find.Lon = item.Lon;
-                            find.Lat = item.Lat;
-                            find.SatInfoID = item.SatInfoID;
-                            find.UpdateTime = DateTime.Now;
-                        }
-                        else
-                        {
-                            db.TxInfos.Add(item);
-                        }
-                        await db.SaveChangesAsync();
-
+                        find.Name = item.Name;
+                        find.Lon = item.Lon;
+                        find.Lat = item.Lat;
+                        find.SatInfoID = item.SatInfoID;
+                        find.UpdateTime = DateTime.Now;
+                        await repsSys.AddOrUpdateAsync(find);
                     }
                 }
+                await unitOfWork.SaveAsync();
+
                 DxHelper.MsgBoxHelper.ShowInfo("保存成功!");
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error("保存天线信息异常",ex);
+                logger.LogError(ex,"保存天线信息异常");
                 DxHelper.MsgBoxHelper.ShowError($"保存天线信息异常.{ex.Message}");
 
             }