zoule 4 months ago
parent
commit
a611dd0820

+ 11 - 8
DW5S.App/EditForms/X1D1DTOParamEditor.cs

@@ -50,13 +50,15 @@ namespace DW5S.App.EditForms
         {
             this.layoutControl1.BestFit();
             var repsSat = unitOfWork.Of<SatInfo>();
-            listSat = (await repsSat.GetAllAsync()).ToList();
-            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
-            {
-                cg = await db?.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
-                cx = await db?.CxRes.Where(m => m.ID == info.CxResID).FirstOrDefaultAsync();
-                station = await db?.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
-            }
+            listSat.AddRange(await repsSat.GetAllAsync());
+            var repsCg= unitOfWork.Of<CgRes>();
+            cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
+
+            var repsCx = unitOfWork.Of<CxRes>();
+            cx = await repsCx.FirstOrDefaultAsync(m => m.Id == info.CgResID);
+
+            var repsStation = unitOfWork.Of<StationRes>();
+            station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {
                 this.txtDtoCdb.Text = $"{cg.DtoCdb.Value}";
@@ -227,7 +229,8 @@ namespace DW5S.App.EditForms
             try
             {
                 var mainCode = ucEphXYZMain.GetSatCode();
-                var mainxlInfo = await XlRepository.GetLatestAsync(mainCode, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(mainCode, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{mainCode}未找到对应的星历信息,请导入星历");

+ 28 - 19
DW5S.App/EditForms/X2D1DTOParamEditor.cs

@@ -17,11 +17,18 @@ using DW5S.DTO;
 using DW5S.Entity;
 
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.EditForms
 {
     public partial class X2D1DTOParamEditor : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         private MapControl mapControl1;
         private PosRes info;
         private CgRes cg;
@@ -30,7 +37,7 @@ namespace DW5S.App.EditForms
         {
             InitializeComponent();
             this.info = info;
-            itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
+            itemSigTime.Text = $"{itemSigTime.Text}";
             this.layoutControl1.UseDefault();
             txtSigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
@@ -43,15 +50,14 @@ namespace DW5S.App.EditForms
         {
             this.layoutControl1.BestFit();
             StationRes station = null;
-            using (RHDWContext db = new RHDWContext())
-            {
-                listSat = await db.SatInfos.ToListAsync();
-            }
-            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
-            {
-                cg = await db?.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
-                station = await db?.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
-            }
+            var repsSat = unitOfWork.Of<SatInfo>();
+            listSat.AddRange(await repsSat.GetAllAsync());
+
+            var repsCg = unitOfWork.Of<CgRes>();
+            cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
+
+            var repsStation = unitOfWork.Of<StationRes>();
+            station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {
                 //if (info.PosResType == EnumPosResType.X2D1NoRef)
@@ -253,8 +259,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,{ex.Message}");
+                string msg = $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
 
@@ -269,8 +276,8 @@ namespace DW5S.App.EditForms
             var sigTime = this.txtSigTime.DateTime;
             try
             {
-
-                var mainxlInfo = await XlRepository.GetLatestAsync(cg.MainCode.Value, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(cg.MainCode.Value, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.MainCode.Value}未找到对应的星历信息,请导入星历");
@@ -280,7 +287,7 @@ namespace DW5S.App.EditForms
                 var maineph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZMain.SetXYZ("主星", cg.MainCode.Value, (maineph.data.X, maineph.data.Y, maineph.data.Z), Color.Red);
 
-                var adjaxlInfo = await XlRepository.GetLatestAsync(cg.Adja1Code.Value, sigTime);
+                var adjaxlInfo = await repsXl.GetLatestAsync(cg.Adja1Code.Value, sigTime);
                 if (adjaxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.Adja1Code.Value}未找到对应的星历信息,请导入星历");
@@ -292,8 +299,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动推算{info.PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"手动推算{info.PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
+                string msg = $"手动推算{info.PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
 
 
@@ -433,8 +441,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"{info.PosResType.GetEnumDisplayName()}手动定位失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"{info.PosResType.GetEnumDisplayName()}手动定位失败,{ex.Message}");
+                string msg = $"{info.PosResType.GetEnumDisplayName()}手动定位失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
     }

+ 31 - 22
DW5S.App/EditForms/X2DTOParamEditor.cs

@@ -2,18 +2,24 @@
 using ExtensionsDev;
 using System;
 using System.Collections.Generic;
-
 using System.Drawing;
 using System.Linq;
 using DW5S.KxcApi;
 using DW5S.DTO;
 using DW5S.Entity;
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.EditForms
 {
     public partial class X2DTOParamEditor : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         private PosRes info;
         private CgRes cg;
         private List<SatInfo> listSat;
@@ -24,7 +30,7 @@ namespace DW5S.App.EditForms
             InitializeComponent();
             this.info = info;
             this.mapControl1 = mapControl;
-            itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
+            itemSigTime.Text = $"{itemSigTime.Text}";
             this.layoutControl1.UseDefault();
             txtSigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}手动定位";
@@ -32,15 +38,14 @@ namespace DW5S.App.EditForms
         private async void X2DTOParamEditor_Load(object sender, EventArgs e)
         {
             this.layoutControl1.BestFit();
-            using (RHDWContext db = new RHDWContext())
-            {
-                listSat = await db.SatInfos.ToListAsync();
-            }
-            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
-            {
-                cg = await db?.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
-                station = await db?.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
-            }
+            var repsSat = unitOfWork.Of<SatInfo>();
+            listSat.AddRange(await repsSat.GetAllAsync());
+
+            var repsCg = unitOfWork.Of<CgRes>();
+            cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
+
+            var repsStation = unitOfWork.Of<StationRes>();
+            station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {
                 this.txtDtoSx.Text = $"{cg.Dto1.Value}";
@@ -324,8 +329,9 @@ namespace DW5S.App.EditForms
 
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"{info.PosResType.GetEnumDisplayName()}手动定位失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"{info.PosResType.GetEnumDisplayName()}手动定位失败,{ex.Message}");
+                string msg = $"{info.PosResType.GetEnumDisplayName()}手动定位失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
 
@@ -341,8 +347,8 @@ namespace DW5S.App.EditForms
             var sigTime = txtSigTime.DateTime;
             try
             {
-
-                var mainxlInfo = await XlRepository.GetLatestAsync(cg.MainCode.Value, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(cg.MainCode.Value, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.MainCode.Value}未找到对应的星历信息,请导入星历");
@@ -352,7 +358,7 @@ namespace DW5S.App.EditForms
                 var maineph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZMain.SetParam("主星", cg.MainCode.Value, (maineph.data.X, maineph.data.Y, maineph.data.Z, maineph.data.VX, maineph.data.VY, maineph.data.VZ), Color.Red);
 
-                var adjaxlInfo = await XlRepository.GetLatestAsync(cg.Adja1Code.Value, sigTime);
+                var adjaxlInfo = await repsXl.GetLatestAsync(cg.Adja1Code.Value, sigTime);
                 if (adjaxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.Adja1Code.Value}未找到对应的星历信息,请导入星历");
@@ -364,8 +370,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动推算{info.PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"手动推算{info.PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
+                string msg = $"手动推算{info.PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
 
         }
@@ -402,8 +409,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,{ex.Message}");
+                string msg = $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
 
@@ -449,8 +457,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"绘制{info.PosResType.GetEnumDisplayName()}频差线失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"绘制{info.PosResType.GetEnumDisplayName()}频差线失败,{ex.Message}");
+                string msg = $"绘制{info.PosResType.GetEnumDisplayName()}频差线失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
     }

+ 30 - 20
DW5S.App/EditForms/X3DTOParamEditor.cs

@@ -9,11 +9,18 @@ using DW5S.KxcApi;
 using DW5S.DTO;
 using DW5S.Entity;
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.EditForms
 {
     public partial class X3DTOParamEditor : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         private MapControl mapControl1;
         private PosRes info;
         private CgRes cg;
@@ -22,7 +29,7 @@ namespace DW5S.App.EditForms
         {
             InitializeComponent();
             this.info = info;
-            itemSigTime.Text = $"{itemSigTime.Text}({SysConfig.Config.TimeZoneUTC})";
+            itemSigTime.Text = $"{itemSigTime.Text}";
             this.layoutControl1.UseDefault();
             sigTime.UseDefault();
             this.Text = $"{info.PosResType.GetEnumDisplayName()}时差参数";
@@ -32,15 +39,15 @@ namespace DW5S.App.EditForms
         {
             this.layoutControl1.BestFit();
             StationRes station = null;
-            using (RHDWContext db = new RHDWContext())
-            {
-                listSat = await db.SatInfos.ToListAsync();
-            }
-            using (RHDWPartContext db = RHDWPartContext.GetContext(info.SigTime))
-            {
-                cg = await db?.CgRes.Where(m => m.ID == info.CgResID).FirstOrDefaultAsync();
-                station = await db?.StationRes.Where(m => m.ID == info.StationResID).FirstOrDefaultAsync();
-            }
+
+            var repsSat = unitOfWork.Of<SatInfo>();
+            listSat.AddRange(await repsSat.GetAllAsync());
+
+            var repsCg = unitOfWork.Of<CgRes>();
+            cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
+
+            var repsStation = unitOfWork.Of<StationRes>();
+            station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {
                 this.txtDtoSx.Text = $"{cg.Dto1.Value}";
@@ -186,8 +193,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"绘制{info.PosResType.GetEnumDisplayName()}时差线失败,{ex.Message}");
+                string msg = $"绘制{info.PosResType.GetEnumDisplayName()}时差线失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
 
@@ -202,20 +210,20 @@ namespace DW5S.App.EditForms
             var sigTime = this.sigTime.DateTime;
             try
             {
-
-                var xlInfo = await XlRepository.GetLatestAsync(cg.MainCode.Value, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var xlInfo = await repsXl.GetLatestAsync(cg.MainCode.Value, sigTime);
                 if (xlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.MainCode.Value}未找到对应的星历信息,请导入星历");
                     return;
                 }
-                var xlInfo1 = await XlRepository.GetLatestAsync(cg.Adja1Code.Value, sigTime);
+                var xlInfo1 = await repsXl.GetLatestAsync(cg.Adja1Code.Value, sigTime);
                 if (xlInfo1 == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.Adja1Code.Value}未找到对应的星历信息,请导入星历");
                     return;
                 }
-                var xlInfo2 = await XlRepository.GetLatestAsync(cg.Adja2Code.Value, sigTime);
+                var xlInfo2 = await repsXl.GetLatestAsync(cg.Adja2Code.Value, sigTime);
                 if (xlInfo2 == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{cg.Adja2Code.Value}未找到对应的星历信息,请导入星历");
@@ -239,8 +247,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动{info.PosResType.GetEnumDisplayName()}推算星历失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"手动{info.PosResType.GetEnumDisplayName()}推算星历失败,{ex.Message}");
+                string msg = $"手动{info.PosResType.GetEnumDisplayName()}推算星历失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
 
         }
@@ -297,8 +306,9 @@ namespace DW5S.App.EditForms
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"{info.PosResType.GetEnumDisplayName()}手动定位失败.PosID={info.ID},SigTime={info.SigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowWarning($"{info.PosResType.GetEnumDisplayName()}手动定位失败,{ex.Message}");
+                string msg = $"{info.PosResType.GetEnumDisplayName()}手动定位失败.PosID={info.Id},SigTime={info.SigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
     }

+ 8 - 0
DW5S.App/EditForms/X3DfoParamEditor.cs

@@ -39,6 +39,14 @@ namespace DW5S.App.EditForms
         private async void X3DTOParamEditor_Load(object sender, EventArgs e)
         {
             this.layoutControl1.BestFit();
+            var repsSat = unitOfWork.Of<SatInfo>();
+            listSat.AddRange(await repsSat.GetAllAsync());
+
+            var repsCg = unitOfWork.Of<CgRes>();
+            cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
+
+            var repsStation = unitOfWork.Of<StationRes>();
+            station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             using (OracleContext db = new OracleContext())
             {
                 listSat = await db.SatInfos.ToListAsync();

+ 0 - 1
DW5S.App/UserControl/CtrlCgRes.cs

@@ -10,7 +10,6 @@ using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
-
 using System.Diagnostics;
 using System.Drawing;
 using System.IO;

+ 31 - 23
DW5S.App/UserControl/X1D1GDOPParam.cs

@@ -12,12 +12,21 @@ using DevExpress.XtraCharts.Design;
 using System.Runtime.ConstrainedExecution;
 using DW5S.DTO;
 using System.Configuration;
-
+using Microsoft.Extensions.Logging;
+using DevExpress.Utils.About;
 
 namespace DW5S.App.UserControl
 {
     public partial class X1D1GDOPParam : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
+
+
         public MapControl mapControl1;
         public GDOP星地一星一地接口 Model => new GDOP星地一星一地接口()
         {
@@ -44,26 +53,22 @@ namespace DW5S.App.UserControl
             this.txtSatLocErr1.EditValue = 10000;
             this.txtCxErr.EditValue = 0.001;
             PosResType = item.PosResType;
-            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
+            var repsCg = unitOfWork.Of<CgRes>();
+            var repsStation = unitOfWork.Of<StationRes>();
+            var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
+            var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
+            if (station != null)
             {
-                var cg = db?.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
-                var station = db?.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
-                if (station != null)
-                {
-                    this.txtStationLocation1.Text = $"{station.CdbTxLon},{station.CdbTxLat}";
-                    this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
-                    this.txtCXStation.Text = $"{station.CxLon},{station.CxLat}";
-                }
-                if (cg != null)
-                {
-                    var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
-                    ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
-                }
+                this.txtStationLocation1.Text = $"{station.CdbTxLon},{station.CdbTxLat}";
+                this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
+                this.txtCXStation.Text = $"{station.CxLon},{station.CxLat}";
+            }
+            if (cg != null)
+            {
+                var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
+                ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
             }
-
-
         }
-
         private bool ParamValidate()
         {
             dxErrorProvider.ClearErrors();
@@ -126,7 +131,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DxHelper.MsgBoxHelper.ShowError($"绘制{PosResType.GetEnumDisplayName()}GDOP失败,{ex.Message}");
+                string msg = $"绘制{PosResType.GetEnumDisplayName()}GDOP失败";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
 
         }
@@ -147,8 +154,8 @@ namespace DW5S.App.UserControl
             try
             {
                 var mainCode = ucEphXYZMain.GetSatCode();
-
-                var mainxlInfo = await XlRepository.GetLatestAsync(mainCode, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(mainCode, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{mainCode}未找到对应的星历信息,请导入星历");
@@ -160,8 +167,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"手动推算{PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
+                string msg = $"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
     }

+ 14 - 2
DW5S.App/UserControl/X2D1GDOPParam.cs

@@ -13,12 +13,18 @@ using DevExpress.Utils.About;
 using DevExpress.XtraEditors.DXErrorProvider;
 using DW5S.DTO;
 using System.Configuration;
-
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.UserControl
 {
     public partial class X2D1GDOPParam : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
+
         public MapControl mapControl1;
         public GDOP星地两星一地接口 Model => new GDOP星地两星一地接口()
         {
@@ -129,7 +135,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DxHelper.MsgBoxHelper.ShowError($"绘制{PosResType.GetEnumDisplayName()}GDOP失败,{ex.Message}");
+                string msg = $"绘制{PosResType.GetEnumDisplayName()}GDOP失败";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
         private void btnClose_Click(object sender, EventArgs e)
@@ -172,6 +180,10 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
+                string msg = $"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
+
                 DW5S.Framework.LogHelper.Error($"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
                 DxHelper.MsgBoxHelper.ShowError($"手动推算{PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
             }

+ 28 - 21
DW5S.App/UserControl/X2DFGDOPParam.cs

@@ -14,10 +14,17 @@ using DW5S.DTO;
 using DW5S.Entity;
 
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
+
 namespace DW5S.App.UserControl
 {
     public partial class X2DFGDOPParam : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
         public MapControl mapControl1;
         public X2DFGDOP接口 Model => new X2DFGDOP接口()
         {
@@ -45,25 +52,24 @@ namespace DW5S.App.UserControl
             this.txtDfoErr1.EditValue = 0.01;
             this.txtDtousErr1.EditValue = 1;
             PosResType = item.PosResType;
-            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
+            var repsCg = unitOfWork.Of<CgRes>();
+            var repsStation = unitOfWork.Of<StationRes>();
+            var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
+            var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
+            if (station != null)
             {
-                var cg = db?.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
-                var station = db?.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
-                if (station != null)
-                {
-                    this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
-                }
-                if (cg != null)
-                {
-                    this.txtFu1.EditValue = cg.TarFreqUp.HasValue ? cg.TarFreqUp.Value * 1e-6 : 0;
-                    this.txtFu2.EditValue = cg.RefFreqUp.HasValue ? cg.RefFreqUp.Value * 1e-6 : 0;
+                this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
+            }
+            if (cg != null)
+            {
+                this.txtFu1.EditValue = cg.TarFreqUp.HasValue ? cg.TarFreqUp.Value * 1e-6 : 0;
+                this.txtFu2.EditValue = cg.RefFreqUp.HasValue ? cg.RefFreqUp.Value * 1e-6 : 0;
 
-                    var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
-                    ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
+                var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
+                ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
 
-                    var adjaEph = (cg.Adja1X, cg.Adja1Y, cg.Adja1Z, cg.Adja1Vx, cg.Adja1Vy, cg.Adja1Vz);
-                    ucEphXYZAdja.SetParam($"邻星", cg.Adja1Code, adjaEph, Color.Black);
-                }
+                var adjaEph = (cg.Adja1X, cg.Adja1Y, cg.Adja1Z, cg.Adja1Vx, cg.Adja1Vy, cg.Adja1Vz);
+                ucEphXYZAdja.SetParam($"邻星", cg.Adja1Code, adjaEph, Color.Black);
             }
 
         }
@@ -161,8 +167,8 @@ namespace DW5S.App.UserControl
             {
                 var mainCode = ucEphXYZMain.GetSatCode();
                 var adjaCode = ucEphXYZAdja.GetSatCode();
-
-                var mainxlInfo = await XlRepository.GetLatestAsync(mainCode, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(mainCode, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{mainCode}未找到对应的星历信息,请导入星历");
@@ -172,7 +178,7 @@ namespace DW5S.App.UserControl
                 var maineph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZMain.SetParam("主星", mainCode, (maineph.data.X, maineph.data.Y, maineph.data.Z, maineph.data.VX, maineph.data.VY, maineph.data.VZ), Color.Red);
 
-                var adjaxlInfo = await XlRepository.GetLatestAsync(adjaCode, sigTime);
+                var adjaxlInfo = await repsXl.GetLatestAsync(adjaCode, sigTime);
                 if (adjaxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{adjaCode}未找到对应的星历信息,请导入星历");
@@ -184,8 +190,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"手动推算{PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
+                string msg = $"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
 
         }

+ 33 - 24
DW5S.App/UserControl/X3DFGDOPParam .cs

@@ -12,11 +12,17 @@ using DW5S.DTO;
 using DW5S.Entity;
 
 using DW5S.Repostory;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.UserControl
 {
     public partial class X3DFGDOPParam : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
         public MapControl mapControl1;
         public X3DFGDOP接口 Model => new X3DFGDOP接口()
         {
@@ -43,28 +49,27 @@ namespace DW5S.App.UserControl
             this.txtEphVelErr1.EditValue = 0.1;
             this.txtDfoErr1.EditValue = 0.01;
             PosResType = item.PosResType;
-            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
+            var repsCg = unitOfWork.Of<CgRes>();
+            var repsStation = unitOfWork.Of<StationRes>();
+            var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
+            var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
+            if (station != null)
             {
-                var cg = db?.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
-                var station = db?.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
-                if (station != null)
-                {
-                    this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
-                }
-                if (cg != null)
-                {
-                    this.txtFu1.EditValue = cg.TarFreqUp.HasValue ? cg.TarFreqUp.Value * 1e-6 : 0;
-                    this.txtFu2.EditValue = cg.RefFreqUp.HasValue ? cg.RefFreqUp.Value * 1e-6 : 0;
+                this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
+            }
+            if (cg != null)
+            {
+                this.txtFu1.EditValue = cg.TarFreqUp.HasValue ? cg.TarFreqUp.Value * 1e-6 : 0;
+                this.txtFu2.EditValue = cg.RefFreqUp.HasValue ? cg.RefFreqUp.Value * 1e-6 : 0;
 
-                    var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
-                    ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
+                var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
+                ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
 
-                    var adja1Eph = (cg.Adja1X, cg.Adja1Y, cg.Adja1Z, cg.Adja1Vx, cg.Adja1Vy, cg.Adja1Vz);
-                    ucEphXYZAdja1.SetParam($"邻星1", cg.Adja1Code, adja1Eph, Color.Black);
+                var adja1Eph = (cg.Adja1X, cg.Adja1Y, cg.Adja1Z, cg.Adja1Vx, cg.Adja1Vy, cg.Adja1Vz);
+                ucEphXYZAdja1.SetParam($"邻星1", cg.Adja1Code, adja1Eph, Color.Black);
 
-                    var adja2Eph = (cg.Adja2X, cg.Adja2Y, cg.Adja2Z, cg.Adja2Vx, cg.Adja2Vy, cg.Adja2Vz);
-                    ucEphXYZAdja2.SetParam($"邻星2", cg.Adja2Code, adja2Eph, Color.Black);
-                }
+                var adja2Eph = (cg.Adja2X, cg.Adja2Y, cg.Adja2Z, cg.Adja2Vx, cg.Adja2Vy, cg.Adja2Vz);
+                ucEphXYZAdja2.SetParam($"邻星2", cg.Adja2Code, adja2Eph, Color.Black);
             }
         }
 
@@ -135,7 +140,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DxHelper.MsgBoxHelper.ShowError($"绘制{PosResType.GetEnumDisplayName()}GDOP失败,{ex.Message}");
+                string msg = $"绘制{PosResType.GetEnumDisplayName()}GDOP失败";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
 
@@ -158,7 +165,8 @@ namespace DW5S.App.UserControl
                 var mainCode = ucEphXYZMain.GetSatCode();
                 var adja1Code = ucEphXYZAdja1.GetSatCode();
                 var adja2Code = ucEphXYZAdja2.GetSatCode();
-                var mainxlInfo = await XlRepository.GetLatestAsync(mainCode, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(mainCode, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{mainCode}未找到对应的星历信息,请导入星历");
@@ -168,7 +176,7 @@ namespace DW5S.App.UserControl
                 var maineph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZMain.SetParam("主星", mainCode, (maineph.data.X, maineph.data.Y, maineph.data.Z, maineph.data.VX, maineph.data.VY, maineph.data.VZ), Color.Red);
 
-                var adja1xlInfo = await XlRepository.GetLatestAsync(adja1Code, sigTime);
+                var adja1xlInfo = await repsXl.GetLatestAsync(adja1Code, sigTime);
                 if (adja1xlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{adja1Code}未找到对应的星历信息,请导入星历");
@@ -178,7 +186,7 @@ namespace DW5S.App.UserControl
                 var adja1eph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZAdja1.SetParam("邻星1", adja1Code, (adja1eph.data.X, adja1eph.data.Y, adja1eph.data.Z, adja1eph.data.VX, adja1eph.data.VY, adja1eph.data.VZ), Color.Red);
 
-                var adja2xlInfo = await XlRepository.GetLatestAsync(adja2Code, sigTime);
+                var adja2xlInfo = await repsXl.GetLatestAsync(adja2Code, sigTime);
                 if (adja2xlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{adja2Code}未找到对应的星历信息,请导入星历");
@@ -190,8 +198,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"手动推算{PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
+                string msg = $"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
     }

+ 31 - 23
DW5S.App/UserControl/X3GDOPParam.cs

@@ -12,11 +12,17 @@ using System.Drawing;
 using DevExpress.XtraEditors.DXErrorProvider;
 using DW5S.DTO;
 using System.Configuration;
+using Microsoft.Extensions.Logging;
 
 namespace DW5S.App.UserControl
 {
     public partial class X3GDOPParam : DevExpress.XtraEditors.XtraUserControl
     {
+        [Autowired]
+        private readonly ILogger logger;
+
+        [Autowired]
+        private readonly UnitOfWork unitOfWork;
         public MapControl mapControl1;
         public X3GDOP星地接口 Model => new X3GDOP星地接口()
         {
@@ -43,26 +49,24 @@ namespace DW5S.App.UserControl
             {
                 layoutControlItem14.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             }
-
-            using (RHDWPartContext db = RHDWPartContext.GetContext(item.SigTime))
+            var repsCg = unitOfWork.Of<CgRes>();
+            var repsStation = unitOfWork.Of<StationRes>();
+            var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
+            var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
+            if (station != null)
             {
-                var cg = db?.CgRes.Where(m => m.ID == item.CgResID).FirstOrDefault();
-                var station = db?.StationRes.Where(m => m.ID == item.StationResID).FirstOrDefault();
-                if (station != null)
-                {
-                    this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
-                }
-                if (cg != null)
-                {
-                    var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
-                    ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
+                this.txtRefLocation1.Text = $"{station.RefLon},{station.RefLat}";
+            }
+            if (cg != null)
+            {
+                var mainEph = (cg.MainX, cg.MainY, cg.MainZ, cg.MainVx, cg.MainVy, cg.MainVz);
+                ucEphXYZMain.SetParam($"主星", cg.MainCode, mainEph, Color.Black);
 
-                    var adja1Eph = (cg.Adja1X, cg.Adja1Y, cg.Adja1Z, cg.Adja1Vx, cg.Adja1Vy, cg.Adja1Vz);
-                    ucEphXYZAdja1.SetParam($"邻星1", cg.Adja1Code, adja1Eph, Color.Black);
+                var adja1Eph = (cg.Adja1X, cg.Adja1Y, cg.Adja1Z, cg.Adja1Vx, cg.Adja1Vy, cg.Adja1Vz);
+                ucEphXYZAdja1.SetParam($"邻星1", cg.Adja1Code, adja1Eph, Color.Black);
 
-                    var adja2Eph = (cg.Adja2X, cg.Adja2Y, cg.Adja2Z, cg.Adja2Vx, cg.Adja2Vy, cg.Adja2Vz);
-                    ucEphXYZAdja2.SetParam($"邻星2", cg.Adja2Code, adja2Eph, Color.Black);
-                }
+                var adja2Eph = (cg.Adja2X, cg.Adja2Y, cg.Adja2Z, cg.Adja2Vx, cg.Adja2Vy, cg.Adja2Vz);
+                ucEphXYZAdja2.SetParam($"邻星2", cg.Adja2Code, adja2Eph, Color.Black);
             }
         }
 
@@ -126,7 +130,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DxHelper.MsgBoxHelper.ShowError($"绘制{PosResType.GetEnumDisplayName()}GDOP失败,{ex.Message}");
+                string msg = $"绘制{PosResType.GetEnumDisplayName()}GDOP失败";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
 
@@ -144,7 +150,8 @@ namespace DW5S.App.UserControl
                 var mainCode = ucEphXYZMain.GetSatCode();
                 var adja1Code = ucEphXYZAdja1.GetSatCode();
                 var adja2Code = ucEphXYZAdja2.GetSatCode();
-                var mainxlInfo = await XlRepository.GetLatestAsync(mainCode, sigTime);
+                var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
+                var mainxlInfo = await repsXl.GetLatestAsync(mainCode, sigTime);
                 if (mainxlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{mainCode}未找到对应的星历信息,请导入星历");
@@ -154,7 +161,7 @@ namespace DW5S.App.UserControl
                 var maineph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZMain.SetParam("主星", mainCode, (maineph.data.X, maineph.data.Y, maineph.data.Z, maineph.data.VX, maineph.data.VY, maineph.data.VZ), Color.Red);
 
-                var adja1xlInfo = await XlRepository.GetLatestAsync(adja1Code, sigTime);
+                var adja1xlInfo = await repsXl.GetLatestAsync(adja1Code, sigTime);
                 if (adja1xlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{adja1Code}未找到对应的星历信息,请导入星历");
@@ -164,7 +171,7 @@ namespace DW5S.App.UserControl
                 var adja1eph = await HttpHelper.PostRequestAsync<SatEphResDto>(SysConfig.GetUrl("Xl/Calc"), XlCalcDto);
                 ucEphXYZAdja1.SetParam("邻星1", adja1Code, (adja1eph.data.X, adja1eph.data.Y, adja1eph.data.Z, adja1eph.data.VX, adja1eph.data.VY, adja1eph.data.VZ), Color.Red);
 
-                var adja2xlInfo = await XlRepository.GetLatestAsync(adja2Code, sigTime);
+                var adja2xlInfo = await repsXl.GetLatestAsync(adja2Code, sigTime);
                 if (adja2xlInfo == null)
                 {
                     DxHelper.MsgBoxHelper.ShowWarning($"卫星:{adja2Code}未找到对应的星历信息,请导入星历");
@@ -176,8 +183,9 @@ namespace DW5S.App.UserControl
             }
             catch (Exception ex)
             {
-                DW5S.Framework.LogHelper.Error($"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}", ex);
-                DxHelper.MsgBoxHelper.ShowError($"手动推算{PosResType.GetEnumDisplayName()}星历失败,{ex.Message}");
+                string msg = $"手动推算{PosResType.GetEnumDisplayName()}星历失败,SigTime={sigTime}";
+                logger.LogError(ex, msg);
+                DxHelper.MsgBoxHelper.ShowError(msg);
             }
         }
     }