wyq 6 月之前
父节点
当前提交
99f9047550
共有 58 个文件被更改,包括 287 次插入251 次删除
  1. 22 20
      DW5S.App/EditForms/RefTaskFreqEditor.cs
  2. 8 8
      DW5S.App/EditForms/SampleEditor.cs
  3. 4 13
      DW5S.App/EditForms/SatEditor.cs
  4. 5 17
      DW5S.App/EditForms/SigDelayEditor.cs
  5. 3 3
      DW5S.App/EditForms/X1D1DTOParamEditor.cs
  6. 2 2
      DW5S.App/EditForms/X2D1DTOParamEditor.cs
  7. 2 2
      DW5S.App/EditForms/X2DTOParamEditor.cs
  8. 1 1
      DW5S.App/MainForm.cs
  9. 1 1
      DW5S.App/Model/ModelCg.cs
  10. 1 1
      DW5S.App/Model/ModelCgXgf.cs
  11. 2 2
      DW5S.App/PopupControl/ShowCgCtrl.cs
  12. 1 1
      DW5S.App/PopupControl/ShowCheckCtrl.cs
  13. 1 1
      DW5S.App/PopupControl/ShowCxCtrl.cs
  14. 2 2
      DW5S.App/UserControl/CtrlCgRes.cs
  15. 6 6
      DW5S.App/UserControl/CtrlHome.cs
  16. 2 2
      DW5S.App/UserControl/CtrlRefCgRes.cs
  17. 28 23
      DW5S.App/UserControl/CtrlRefTask.cs
  18. 6 3
      DW5S.App/UserControl/CtrlSample.cs
  19. 5 9
      DW5S.App/UserControl/CtrlSat.cs
  20. 1 1
      DW5S.App/UserControl/CtrlSignal.cs
  21. 2 2
      DW5S.App/UserControl/X1D1GDOPParam.cs
  22. 2 2
      DW5S.App/UserControl/X2D1GDOPParam.cs
  23. 2 2
      DW5S.App/UserControl/X2DFGDOPParam.cs
  24. 4 4
      DW5S.Controller/LogController.cs
  25. 13 13
      DW5S.Controller/PosController.cs
  26. 4 4
      DW5S.Controller/ResultController.cs
  27. 1 1
      DW5S.Entity/ADRes.cs
  28. 4 24
      DW5S.Entity/BaseEntity.cs
  29. 1 1
      DW5S.Entity/CgRes.cs
  30. 1 1
      DW5S.Entity/CgXgfRes.cs
  31. 1 1
      DW5S.Entity/CheckRes.cs
  32. 1 1
      DW5S.Entity/CxRes.cs
  33. 1 1
      DW5S.Entity/FixedStation.cs
  34. 1 1
      DW5S.Entity/LogRes.cs
  35. 1 1
      DW5S.Entity/PosData.cs
  36. 1 1
      DW5S.Entity/RefCgRes.cs
  37. 4 40
      DW5S.Entity/RefTaskFreq.cs
  38. 2 2
      DW5S.Entity/SampleInfo.cs
  39. 1 1
      DW5S.Entity/SatInfo.cs
  40. 1 1
      DW5S.Entity/SigDelay.cs
  41. 1 1
      DW5S.Entity/SigInfo.cs
  42. 1 1
      DW5S.Entity/StationRes.cs
  43. 1 1
      DW5S.Entity/SysSetings.cs
  44. 1 1
      DW5S.Entity/TargetInfo.cs
  45. 1 1
      DW5S.Entity/TaskInfo.cs
  46. 1 1
      DW5S.Entity/TaskRunnningInfo.cs
  47. 1 1
      DW5S.Entity/TaskSig.cs
  48. 1 1
      DW5S.Entity/TaskTemplate.cs
  49. 1 1
      DW5S.Entity/TxInfo.cs
  50. 1 1
      DW5S.Entity/XlInfo.cs
  51. 7 7
      DW5S.Repostory/Repository/IRepository.cs
  52. 1 1
      DW5S.Repostory/Repository/XlRepository.cs
  53. 18 4
      DW5S.Repostory/UnitOfWork.cs
  54. 96 0
      DW5S.ViewModel/RefTaskViewModel.cs
  55. 1 3
      DW5S.ViewModel/SampleViewModel.cs
  56. 1 1
      DW5S.ViewModel/SatViewModel.cs
  57. 0 1
      DW5S.ViewModel/SigDelayViewModel.cs
  58. 2 2
      DW5S.WebApi/WebApiHelper.cs

+ 22 - 20
DW5S.App/EditForms/RefTaskFreqEditor.cs

@@ -1,6 +1,7 @@
 using DevExpress.XtraEditors.Controls;
 using DW5S.Entity;
 using DW5S.Repostory;
+using DW5S.ViewModel;
 using ExtensionsDev;
 using Microsoft.EntityFrameworkCore;
 using Newtonsoft.Json.Linq;
@@ -8,15 +9,16 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Windows.Forms;
+using XdCxRhDW5S.ViewModel;
 
 namespace DW5S.App.EditForms
 {
     public partial class RefTaskFreqEditor : DevExpress.XtraEditors.XtraForm
     {
 
-        public RefTaskFreq info;
+        public RefTaskViewModel info;
 
-        private List<RefTaskFreq> infos;
+        private List<RefTaskViewModel> infos;
         public RefTaskFreqEditor()
         {
             InitializeComponent();
@@ -24,10 +26,10 @@ namespace DW5S.App.EditForms
             txtSampleLen.UseDoubleClickToSelectAll();
             txtDtoCenter.UseDoubleClickToSelectAll();
             this.Text = "添加参考任务频点";
-            info = new RefTaskFreq();
+            info = new RefTaskViewModel();
             this.StartPosition = FormStartPosition.CenterParent;
         }
-        public RefTaskFreqEditor(RefTaskFreq info)
+        public RefTaskFreqEditor(RefTaskViewModel info)
             : this()
         {
             this.Text = "编辑参考任务频点";
@@ -35,19 +37,19 @@ namespace DW5S.App.EditForms
         }
         private async void RefTaskFreqEditor_Load(object sender, EventArgs e)
         {
-            var samples = new List<SampleInfo>();
-            var sats = new List<SatInfo>();
+            var samples = new List<SampleViewModel>();
+            var sats = new List<SatViewModel>();
             var unitOfWork = IocContainer.UnitOfWork;
 
             var repsSample = unitOfWork.Of<SampleInfo>();
-            var res = await repsSample.AsQueryable().Include(s => s.SigInfo).Include(s => s.TxInfo).ToListAsync();
-            samples.AddRange(res);
+            var res = await repsSample.AsQueryable().Include(s => s.SigInfo).Include(s => s.RefTxInfo).ToListAsync();
+            samples.AddRange(res.To<List<SampleViewModel>>());
 
             var satInfos = await unitOfWork.Of<SatInfo>().GetAllAsync();
-            sats.AddRange(satInfos);
+            sats.AddRange(satInfos.To<List<SatViewModel>>());
 
-            this.txtSample.UseDefault().SetData(samples, displayField: nameof(SampleInfo.SampleName)).UseDoubleClickToSelectAll();
-            this.searchLookSat.UseDefault().SetData(sats, displayField: nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
+            this.txtSample.UseDefault().SetData(samples, displayField: nameof(SampleViewModel.SampleName)).UseDoubleClickToSelectAll();
+            this.searchLookSat.UseDefault().SetData(sats, displayField: nameof(SatViewModel.Sat)).UseDoubleClickToSelectAll();
 
             List<ImageComboBoxItem> items = new List<ImageComboBoxItem>();
             items.Add(new ImageComboBoxItem("15秒", "15"));
@@ -58,7 +60,7 @@ namespace DW5S.App.EditForms
             if (this.Text == "编辑参考任务频点" && info != null)
             {
                 this.txtSample.EditValue = samples.FirstOrDefault(r => r.Id == info.SampleInfoID);
-                this.searchLookSat.EditValue = sats.FirstOrDefault(r => r.Id == info.SatInfoId);
+                this.searchLookSat.EditValue = sats.FirstOrDefault(r => r.Id == info.SatInfoID);
                 this.txtCalccCycle.EditValue = $"{info.CalccCycle}";
                 this.txtSnr.EditValue = info.Snr;
                 this.txtDtoCenter.EditValue = Convert.ToInt64(info.DtoCenter * 1e6);
@@ -66,9 +68,9 @@ namespace DW5S.App.EditForms
                 this.txtSampleLen.EditValue = info.SampleLen;
                 this.txtEnable.Checked = info.Enable;
             }
-            infos = new List<RefTaskFreq>();
-            var refFreqs = await unitOfWork.Of<RefTaskFreq>().GetAllAsync();
-            infos.AddRange(refFreqs);
+            infos = new List<RefTaskViewModel>();
+            var refFreqs = await unitOfWork.OfLong<RefTaskFreq>().GetAllAsync();
+            infos.AddRange(refFreqs.To<List<RefTaskViewModel>>());
 
         }
 
@@ -116,10 +118,10 @@ namespace DW5S.App.EditForms
                     dxErrorProvider.SetError(txtSampleLen, "样本长度格式错误");
                     return;
                 }
-                var satInfo = (searchLookSat.EditValue as SatInfo);
-                var sampleInfo = (txtSample.EditValue as SampleInfo);
+                var satInfo = (searchLookSat.EditValue as SatViewModel);
+                var sampleInfo = (txtSample.EditValue as SampleViewModel);
 
-                if (infos.Any(i => i.Id != info.Id && i.SampleInfoID == sampleInfo.Id && i.SatInfoId == satInfo.Id))
+                if (infos.Any(i => i.Id != info.Id && i.SampleInfoID == sampleInfo.Id && i.SatInfoID == satInfo.Id))
                 {
 
                     DxHelper.MsgBoxHelper.ShowError($"参考任务中样本[{sampleInfo.SampleName}]和卫星[{satInfo.Sat}]已经存在!");
@@ -127,8 +129,8 @@ namespace DW5S.App.EditForms
                 }
                 info.SampleInfoID = sampleInfo.Id;
                 info.SampleInfo = sampleInfo;
-                info.SatInfoId = satInfo.Id;
-                info.SatInfo = satInfo;
+                info.SatInfoID = satInfo.Id;
+                info.SatInfo = satInfo.To<SatInfo>();
                 info.CalccCycle = Convert.ToInt32(txtCalccCycle.EditValue);
                 info.Snr = snr;
                 info.DtoCenter = dtoCenter / 1000000f;

+ 8 - 8
DW5S.App/EditForms/SampleEditor.cs

@@ -36,17 +36,17 @@ namespace DW5S.App.EditForms
         }
         private async void SampleEditor_Load(object sender, EventArgs e)
         {
-            var reftxs = new List<TxInfo>();
-            var refsigs = new List<SigInfo>();
+            var reftxs = new List<RefTxViewModel>();
+            var refsigs = new List<SigViewModel>();
 
             var unitOfWork = IocContainer.UnitOfWork;
             var res = await unitOfWork.Of<TxInfo>().FindAsync(t=>t.TxType== EnumTxType.Ref);
-            reftxs.AddRange(res);
+            reftxs.AddRange(res.To<List<RefTxViewModel>>());
             var refsigList = await unitOfWork.Of<SigInfo>().FindAsync(s => s.SigType == EnumSigType.Ref);
-            refsigs.AddRange(refsigList);
+            refsigs.AddRange(refsigList.To<List<SigViewModel>>());
 
-            this.searchLookRef.UseDefault().SetData(reftxs.To<List<RefTxViewModel>>(), displayField: nameof(RefTxViewModel.Name)).UseDoubleClickToSelectAll();
-            this.txtRefSig.UseDefault().SetData(refsigs.To<List<SigViewModel>>(), displayField: nameof(SigViewModel.FreqDownDis)).UseDoubleClickToSelectAll();
+            this.searchLookRef.UseDefault().SetData(reftxs, displayField: nameof(RefTxViewModel.Name)).UseDoubleClickToSelectAll();
+            this.txtRefSig.UseDefault().SetData(refsigs, displayField: nameof(SigViewModel.FreqDownDis)).UseDoubleClickToSelectAll();
 
             if (this.Text == "编辑样本" && info != null)
             {
@@ -54,7 +54,7 @@ namespace DW5S.App.EditForms
                 this.txtFsHz.EditValue = info.Fs;
                 this.txtStartSec.EditValue = info.StartSec;
                 this.txtEndSec.EditValue = info.EndSec;
-                this.searchLookRef.EditValue = reftxs.FirstOrDefault(r => r.Id == info.RefTxInfoID);
+                this.searchLookRef.EditValue = reftxs.FirstOrDefault(r => r.Id == info.TxInfoID);
                 this.txtRefSig.EditValue = refsigs.FirstOrDefault(s => s.Id == info.SigInfoID);
                 this.txtSampleFile.EditValue = Path.Combine(info.SamplePath, info.SampleFileName);
                 this.txtRmark.Text = info.Remark;
@@ -169,7 +169,7 @@ namespace DW5S.App.EditForms
                 info.Fs = fsHz;
                 info.StartSec = startSec;
                 info.EndSec = endSec;
-                info.RefTxInfoID = refinfo.Id;
+                info.TxInfoID = refinfo.Id;
                 info.RefTxInfo = refinfo.To<TxInfo>();
                 info.SigInfoID = siginfo.Id;
                 info.SigInfo = siginfo.To<SigInfo>();

+ 4 - 13
DW5S.App/EditForms/SatEditor.cs

@@ -1,21 +1,12 @@
-using DevExpress.XtraEditors;
+using DW5S.Entity;
+using DW5S.Repostory;
+using DW5S.ViewModel;
 using ExtensionsDev;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
 using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Documents;
 using System.Windows.Forms;
-using DW5S.Entity;
-using DW5S.Repostory;
-using Serilog;
-using DW5S.Service;
-using XdCxRhDW5S.Entity;
-using DW5S.ViewModel;
+using XdCxRhDW5S.ViewModel;
 
 namespace DW5S.App.EditForms
 {

+ 5 - 17
DW5S.App/EditForms/SigDelayEditor.cs

@@ -1,25 +1,13 @@
-using DevExpress.Data.Browsing;
-using DevExpress.Utils.Gesture;
-using DevExpress.XtraEditors;
-using DevExpress.XtraTreeList;
+using DW5S.Entity;
+using DW5S.Repostory;
+using DW5S.ViewModel;
 using ExtensionsDev;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
-using System.Drawing;
 using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Documents;
 using System.Windows.Forms;
-using DW5S.Entity;
-using DW5S.Repostory;
-using Serilog;
-using Serilog.Core;
-using DW5S.Service;
-using DW5S.ViewModel;
-using XdCxRhDW5S.Entity;
+using XdCxRhDW5S.ViewModel;
 
 namespace DW5S.App.EditForms
 {
@@ -82,7 +70,7 @@ namespace DW5S.App.EditForms
                 var repsSigDelay = unitOfWork.Of<SigDelay>();
 
                 var list = await repsSigDelay.FindAsync(w => w.SigInfoId == sigId);
-                if (list.Where(w => w.Id != info.Id).Any(a => a.SatInfoSatCode == satInfo.SatCode))
+                if (info.Id == 0 && list.Where(w => w.Id != info.Id).Any(a => a.SatInfoSatCode == satInfo.SatCode))
                 {
                     DxHelper.MsgBoxHelper.ShowInfo("已添加该卫星");
                     return;

+ 3 - 3
DW5S.App/EditForms/X1D1DTOParamEditor.cs

@@ -51,13 +51,13 @@ namespace DW5S.App.EditForms
             var unitOfWork = IocContainer.UnitOfWork;
             var repsSat = unitOfWork.Of<SatInfo>();
             listSat.AddRange(await repsSat.GetAllAsync());
-            var repsCg = unitOfWork.Of<CgRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
             cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
 
-            var repsCx = unitOfWork.Of<CxRes>();
+            var repsCx = unitOfWork.OfLong<CxRes>();
             cx = await repsCx.FirstOrDefaultAsync(m => m.Id == info.CgResID);
 
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {

+ 2 - 2
DW5S.App/EditForms/X2D1DTOParamEditor.cs

@@ -52,10 +52,10 @@ namespace DW5S.App.EditForms
             var repsSat = unitOfWork.Of<SatInfo>();
             listSat.AddRange(await repsSat.GetAllAsync());
 
-            var repsCg = unitOfWork.Of<CgRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
             cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
 
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {

+ 2 - 2
DW5S.App/EditForms/X2DTOParamEditor.cs

@@ -40,10 +40,10 @@ namespace DW5S.App.EditForms
             var repsSat = unitOfWork.Of<SatInfo>();
             listSat.AddRange(await repsSat.GetAllAsync());
 
-            var repsCg = unitOfWork.Of<CgRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
             cg = await repsCg.FirstOrDefaultAsync(m => m.Id == info.CgResID);
 
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             station = await repsStation.FirstOrDefaultAsync(m => m.Id == info.StationResID);
             if (cg != null)
             {

+ 1 - 1
DW5S.App/MainForm.cs

@@ -354,7 +354,7 @@ namespace DW5S
             while (true)
             {
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsLogRes = unitOfWork.Of<LogRes>();
+                var repsLogRes = unitOfWork.OfLong<LogRes>();
                 try
                 {
                     var time1 = DateTime.Today.AddDays(-7);

+ 1 - 1
DW5S.App/Model/ModelCg.cs

@@ -9,7 +9,7 @@ using DW5S.Repostory;
 
 namespace DW5S.App.Model
 {
-    public class ModelCg:BaseEntityLong
+    public class ModelCg:BaseEntity<long>
     {
         /// <summary>
         /// 信号时刻

+ 1 - 1
DW5S.App/Model/ModelCgXgf.cs

@@ -9,7 +9,7 @@ using DW5S.Repostory;
 
 namespace DW5S.App.Model
 {
-    public class ModelCgXgf : BaseEntityLong
+    public class ModelCgXgf : BaseEntity<long>
     {
         /// <summary>
         /// 时差(us)

+ 2 - 2
DW5S.App/PopupControl/ShowCgCtrl.cs

@@ -47,7 +47,7 @@ namespace DW5S.App.PopupControl
 
             sats = (await repsSat.GetAllAsync()).ToList();
             List<ModelCg> list = new List<ModelCg>();
-            var repsCg = unitOfWork.Of<CgRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
             var cgEntity = await repsCg.FirstOrDefaultAsync(p => p.Id == posItem.CgResID);
             if (cgEntity == null) return;
 
@@ -134,7 +134,7 @@ namespace DW5S.App.PopupControl
             if (cgItem != null)
             {
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsCgXgf = unitOfWork.Of<CgXgfRes>();
+                var repsCgXgf = unitOfWork.OfLong<CgXgfRes>();
 
                 var data = await repsCgXgf.FindAsync(p => p.CgResID == cgItem.Id && p.CgType == cgItem.CgType);
                 listXgf.AddRange(data.Select(p => new ModelCgXgf

+ 1 - 1
DW5S.App/PopupControl/ShowCheckCtrl.cs

@@ -40,7 +40,7 @@ namespace DW5S.App.PopupControl
             if (posItem.CheckResID == null)//没有检测结果
                 return;
             var unitOfWork = IocContainer.UnitOfWork;
-            var repsCheck = unitOfWork.Of<CheckRes>();
+            var repsCheck = unitOfWork.OfLong<CheckRes>();
             var items = await repsCheck.FindAsync(p => p.Id == posItem.CheckResID);
             this.list.AddRange(items);
             gridView1.RefreshData();

+ 1 - 1
DW5S.App/PopupControl/ShowCxCtrl.cs

@@ -38,7 +38,7 @@ namespace DW5S.App.PopupControl
         private async void ShowCxCtrl_Load(object sender, EventArgs e)
         {
             var unitOfWork = IocContainer.UnitOfWork;
-            var repsCx = unitOfWork.Of<CxRes>();
+            var repsCx = unitOfWork.OfLong<CxRes>();
             var items =await repsCx.FindAsync(p => p.Id == posItem.CxResID);
             this.list.AddRange(items);
             gridView1.RefreshData();

+ 2 - 2
DW5S.App/UserControl/CtrlCgRes.cs

@@ -69,7 +69,7 @@ namespace DW5S.App.UserControl
             try
             {
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsCg = unitOfWork.Of<CgRes>();
+                var repsCg = unitOfWork.OfLong<CgRes>();
                 await repsCg.DeleteAsync(selectedRes);
                 await unitOfWork.SaveAsync();
                 return true;
@@ -141,7 +141,7 @@ namespace DW5S.App.UserControl
             try
             {
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsCg = unitOfWork.Of<CgRes>();
+                var repsCg = unitOfWork.OfLong<CgRes>();
                 DateTime start = DateTime.MinValue;
                 DateTime end = DateTime.MinValue;
                 if (txtTimeCho.Text == "自定义")

+ 6 - 6
DW5S.App/UserControl/CtrlHome.cs

@@ -407,7 +407,7 @@ namespace DW5S.App.UserControl
             var posItem = (e.Row as ModelPosRes);
             if (posItem == null) return;
             var unitOfWork = IocContainer.UnitOfWork;
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             var station = await repsStation.FirstOrDefaultAsync(p => p.Id == posItem.StationResID);
             if (station != null)
             {
@@ -949,7 +949,7 @@ namespace DW5S.App.UserControl
             {
                 var ids = items.Select(m => m.Id).ToList();
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsPos = unitOfWork.Of<PosRes>();
+                var repsPos = unitOfWork.OfLong<PosRes>();
                 await repsPos.DeleteAsync(p => ids.Contains(p.Id));
                 mapControl1.DelPosItem<PosRes>(p => ids.Contains(p.Id));
                 return true;
@@ -1153,7 +1153,7 @@ namespace DW5S.App.UserControl
                             break;
                     }
                 }
-                var repsPos = unitOfWork.Of<PosRes>();
+                var repsPos = unitOfWork.OfLong<PosRes>();
                 foreach (var item in items)
                 {
                     var posItem = await repsPos.FirstOrDefaultAsync(p => p.Id == item.Id);
@@ -1242,7 +1242,7 @@ namespace DW5S.App.UserControl
                 if (items.Count == 0) return;
                 long? targetID = 0;
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsPos = unitOfWork.Of<PosRes>();
+                var repsPos = unitOfWork.OfLong<PosRes>();
                 var idRes = items.First().Id;
                 var target = await repsPos.FirstOrDefaultAsync(p => p.Id == idRes);
                 targetID = target.TargetInfoID;
@@ -1325,7 +1325,7 @@ namespace DW5S.App.UserControl
                 if (!MsgBoxHelper.ShowConfirm($"确认使用镜像点?共{items.Count}条记录")) return;
                 var ids = items.Select(p => p.Id);
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsPos = unitOfWork.Of<PosRes>();
+                var repsPos = unitOfWork.OfLong<PosRes>();
                 var updateItems = await repsPos.FindAsync(p => ids.Contains(p.Id));
                 UseMirror(updateItems);
                 mapControl1.UpdatePosItem(items);
@@ -1355,7 +1355,7 @@ namespace DW5S.App.UserControl
                 if (!MsgBoxHelper.ShowConfirm($"确认删除定位点?共{items.Count}条记录")) return;
                 var ids = items.Select(p => p.Id);
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsPos = unitOfWork.Of<PosRes>();
+                var repsPos = unitOfWork.OfLong<PosRes>();
                 await repsPos.DeleteAsync(p => ids.Contains(p.Id));
                 await unitOfWork.SaveAsync();
                 mapControl1.DelPosItem(items);

+ 2 - 2
DW5S.App/UserControl/CtrlRefCgRes.cs

@@ -58,7 +58,7 @@ namespace DW5S.App.UserControl
             try
             {
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsCg = unitOfWork.Of<RefCgRes>();
+                var repsCg = unitOfWork.OfLong<RefCgRes>();
                 await repsCg.DeleteAsync(selectedRes);
                 await unitOfWork.SaveAsync();
                 return true;
@@ -126,7 +126,7 @@ namespace DW5S.App.UserControl
                 bool hasSat = txtSat.EditValue != null;
 
                 var unitOfWork = IocContainer.UnitOfWork;
-                var repsCg = unitOfWork.Of<RefCgRes>();
+                var repsCg = unitOfWork.OfLong<RefCgRes>();
                 DateTime start = DateTime.MinValue;
                 DateTime end = DateTime.MinValue;
                 if (txtTimeCho.Text == "自定义")

+ 28 - 23
DW5S.App/UserControl/CtrlRefTask.cs

@@ -4,6 +4,7 @@ using DevExpress.XtraGrid.Views.Grid;
 using DW5S.App.EditForms;
 using DW5S.Entity;
 using DW5S.Repostory;
+using DW5S.ViewModel;
 using DxHelper;
 using ExtensionsDev;
 using Microsoft.EntityFrameworkCore;
@@ -17,7 +18,7 @@ namespace DW5S.App.UserControl
 {
     public partial class CtrlRefTask : DevExpress.XtraEditors.XtraUserControl
     {
-        readonly List<RefTaskFreq> list = new List<RefTaskFreq>();
+        readonly List<RefTaskViewModel> list = new List<RefTaskViewModel>();
         public CtrlRefTask()
         {
             InitializeComponent();
@@ -30,16 +31,16 @@ namespace DW5S.App.UserControl
             {
                 gridRefTask.UseDefault(list).UseMultiSelect().UseRowNumber()
                     .UseAddAsync(Add)
-                    .UseEditAsync<RefTaskFreq>(Edit)
-                    .UseDeleteAsync<RefTaskFreq>(Delete)
-                    .AddContentMenu<RefTaskFreq>("一键启用", SvgHelper.CreateCycle("#2E8B57"), async data =>
+                    .UseEditAsync<RefTaskViewModel>(Edit)
+                    .UseDeleteAsync<RefTaskViewModel>(Delete)
+                    .AddContentMenu<RefTaskViewModel>("一键启用", SvgHelper.CreateCycle("#2E8B57"), async data =>
                     {
                         try
                         {
 
                             var ids = data.Select(p => p.Id);
                             var unitOfWork = IocContainer.UnitOfWork;
-                            var reps = unitOfWork.Of<RefTaskFreq>();
+                            var reps = unitOfWork.OfLong<RefTaskFreq>();
                             await reps.UpdatePropAsync(p => ids.Contains(p.Id), p => p.Enable, true);
                             await unitOfWork.SaveAsync();
 
@@ -60,7 +61,7 @@ namespace DW5S.App.UserControl
                          {
                              var ids = data.Select(p => p.Id);
                              var unitOfWork = IocContainer.UnitOfWork;
-                             var reps = unitOfWork.Of<RefTaskFreq>();
+                             var reps = unitOfWork.OfLong<RefTaskFreq>();
                              await reps.UpdatePropAsync(p => ids.Contains(p.Id), p => p.Enable, false);
                              await unitOfWork.SaveAsync();
 
@@ -76,18 +77,18 @@ namespace DW5S.App.UserControl
                      }, false);
                 List<TxInfo> refTxList = new List<TxInfo>();
                 var unitOfWork = IocContainer.UnitOfWork;
-                var items = await unitOfWork.Of<RefTaskFreq>().AsQueryable()
+                var items = await unitOfWork.OfLong<RefTaskFreq>().AsQueryable()
                      .Include(r => r.SampleInfo)
                         .Include(r => r.SampleInfo.SigInfo)
-                        .Include(r => r.SampleInfo.TxInfo)
+                        .Include(r => r.SampleInfo.RefTxInfo)
                         .Include(r => r.SatInfo).OrderBy(p => p.Enable).ToListAsync();
-                list.AddRange(items);
+                list.AddRange(items.To<List<RefTaskViewModel>>());
 
                 refTxList = await unitOfWork.Of<TxInfo>().AsQueryable()
                     .Where(t => t.TxType == EnumTxType.Ref)
                   .OrderByDescending(p => p.UpdateTime).ToListAsync();
 
-                this.txtRef.UseDefault(showClearBtn: true).SetData(refTxList, displayField: nameof(TxInfo.Name)).UseDoubleClickToSelectAll();
+                this.txtRef.UseDefault(showClearBtn: true).SetData(refTxList.To<List<RefTxViewModel>>(), displayField: nameof(RefTxViewModel.Name)).UseDoubleClickToSelectAll();
             }
             catch (Exception ex)
             {
@@ -96,7 +97,7 @@ namespace DW5S.App.UserControl
             }
         }
 
-        private async Task<RefTaskFreq> Add()
+        private async Task<RefTaskViewModel> Add()
         {
             try
             {
@@ -104,10 +105,10 @@ namespace DW5S.App.UserControl
                 if (frm.ShowDialog() != DialogResult.OK) return null;
                 var addItem = frm.info;
                 var unitOfWork = IocContainer.UnitOfWork;
-                var addRefTaskFreq = await unitOfWork.Of<RefTaskFreq>().AddOrUpdateAsync(new RefTaskFreq
+                var addRefTaskFreq = await unitOfWork.OfLong<RefTaskFreq>().AddOrUpdateAsync(new RefTaskFreq
                 {
                     SampleInfoID = addItem.SampleInfoID,
-                    SatInfoId = addItem.SatInfoId,
+                    SatInfoID = addItem.SatInfoID,
                     CalccCycle = addItem.CalccCycle,
                     Snr = addItem.Snr,
                     DtoCenter = addItem.DtoCenter,
@@ -129,7 +130,7 @@ namespace DW5S.App.UserControl
             }
         }
 
-        private async Task<RefTaskFreq> Edit(RefTaskFreq editItem)
+        private async Task<RefTaskViewModel> Edit(RefTaskViewModel editItem)
         {
             try
             {
@@ -138,8 +139,12 @@ namespace DW5S.App.UserControl
                 editItem = frm.info;
 
                 var unitOfWork = IocContainer.UnitOfWork;
-                editItem.UpdateTime = DateTime.Now;
-                await unitOfWork.Of<RefTaskFreq>().AddOrUpdateAsync(editItem);
+                var edit = editItem.To<RefTaskFreq>();
+                edit.SampleInfo = null;
+                edit.SatInfo = null;
+                edit.UpdateTime = DateTime.Now;
+
+                await unitOfWork.OfLong<RefTaskFreq>().AddOrUpdateAsync(edit);
                 await unitOfWork.SaveAsync();
                 return editItem;
             }
@@ -151,12 +156,12 @@ namespace DW5S.App.UserControl
             }
         }
 
-        private async Task<bool> Delete(List<RefTaskFreq> list)
+        private async Task<bool> Delete(List<RefTaskViewModel> list)
         {
             try
             {
                 var unitOfWork = IocContainer.UnitOfWork;
-                await unitOfWork.Of<RefTaskFreq>().DeleteAsync(list);
+                await unitOfWork.OfLong<RefTaskFreq>().DeleteAsync(list.To<List<RefTaskFreq>>());
                 await unitOfWork.SaveAsync();
                 return true;
             }
@@ -170,7 +175,7 @@ namespace DW5S.App.UserControl
 
         private async void gridView1_DoubleClick(object sender, EventArgs e)
         {
-            var editItem = gridView1.GetFocusedRow() as RefTaskFreq;
+            var editItem = gridView1.GetFocusedRow() as RefTaskViewModel;
             if (editItem == null) return;
             await Edit(editItem);
         }
@@ -197,21 +202,21 @@ namespace DW5S.App.UserControl
         {
             try
             {
-                var reftxInfo = (txtRef.EditValue as TxInfo);
+                var reftxInfo = (txtRef.EditValue as RefTxViewModel);
 
                 var unitOfWork = IocContainer.UnitOfWork;
-                var query = unitOfWork.Of<RefTaskFreq>().AsQueryable();
+                var query = unitOfWork.OfLong<RefTaskFreq>().AsQueryable();
                 if (reftxInfo != null)
                 {
                     query.Where(r => r.SampleInfo.TxInfoID == reftxInfo.Id);
                 }
                 var items = await query
                      .Include(r => r.SampleInfo.SigInfo)
-                        .Include(r => r.SampleInfo.TxInfo)
+                        .Include(r => r.SampleInfo.RefTxInfo)
                         .Include(r => r.SatInfo)
                         .OrderBy(p => p.Enable).ToListAsync();
                 list.Clear();
-                list.AddRange(items);
+                list.AddRange(items.To<List<RefTaskViewModel>>());
                 gridView1.RefreshData();
             }
             catch (Exception ex)

+ 6 - 3
DW5S.App/UserControl/CtrlSample.cs

@@ -33,7 +33,7 @@ namespace DW5S.App.UserControl
                 var unitOfWork = IocContainer.UnitOfWork;
                 var items = await unitOfWork.Of<SampleInfo>().AsQueryable()
                       .Include(s => s.SigInfo)
-                        .Include(s => s.TxInfo)
+                        .Include(s => s.RefTxInfo)
                         .OrderBy(p => p.SampleName)
                         .ToListAsync();
 
@@ -66,7 +66,7 @@ namespace DW5S.App.UserControl
                     Fs = addItem.Fs,
                     StartSec = addItem.StartSec,
                     EndSec = addItem.EndSec,
-                    TxInfoID = addItem.RefTxInfoID,
+                    TxInfoID = addItem.TxInfoID,
                     SigInfoID = addItem.SigInfoID,
                     Remark = addItem.Remark,
                     UpdateTime = DateTime.Now,
@@ -91,7 +91,10 @@ namespace DW5S.App.UserControl
                 editItem = frm.info;
                 var unitOfWork = IocContainer.UnitOfWork;
                 editItem.UpdateTime = DateTime.Now;
-                await unitOfWork.Of<SampleInfo>().AddOrUpdateAsync(editItem.To<SampleInfo>());
+                var edit = editItem.To<SampleInfo>();
+                edit.RefTxInfo = null;
+                edit.SigInfo = null;
+                await unitOfWork.Of<SampleInfo>().AddOrUpdateAsync(edit);
                 await unitOfWork.SaveAsync();
                 return editItem;
             }

+ 5 - 9
DW5S.App/UserControl/CtrlSat.cs

@@ -1,17 +1,13 @@
-using System;
+using DW5S.App.EditForms;
+using DW5S.Entity;
+using DW5S.Repostory;
+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;
-using XdCxRhDW5S.Entity;
+using XdCxRhDW5S.ViewModel;
 
 namespace DW5S.App.UserControl
 {

+ 1 - 1
DW5S.App/UserControl/CtrlSignal.cs

@@ -199,7 +199,7 @@ namespace DW5S.App.UserControl
                 var ids = list.Select(p => p.Id);
                 var unitOfWork = IocContainer.UnitOfWork;
                 var repsSigDelay = unitOfWork.Of<SigDelay>();
-                await repsSigDelay.DeleteAsync(list.To<SigDelay>());
+                await repsSigDelay.DeleteAsync(list.To<List<SigDelay>>());
                 await unitOfWork.SaveAsync();
 
                 return true;

+ 2 - 2
DW5S.App/UserControl/X1D1GDOPParam.cs

@@ -47,8 +47,8 @@ namespace DW5S.App.UserControl
             this.txtCxErr.EditValue = 0.001;
             PosResType = item.PosResType;
             var unitOfWork = IocContainer.UnitOfWork;
-            var repsCg = unitOfWork.Of<CgRes>();
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
             var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
             if (station != null)

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

@@ -50,8 +50,8 @@ namespace DW5S.App.UserControl
                 layoutControlItem14.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             }
             var unitOfWork = IocContainer.UnitOfWork;
-            var repsCg = unitOfWork.Of<CgRes>();
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
             var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
             if (station != null)

+ 2 - 2
DW5S.App/UserControl/X2DFGDOPParam.cs

@@ -49,8 +49,8 @@ namespace DW5S.App.UserControl
             this.txtDtousErr1.EditValue = 1;
             PosResType = item.PosResType;
             var unitOfWork = IocContainer.UnitOfWork;
-            var repsCg = unitOfWork.Of<CgRes>();
-            var repsStation = unitOfWork.Of<StationRes>();
+            var repsCg = unitOfWork.OfLong<CgRes>();
+            var repsStation = unitOfWork.OfLong<StationRes>();
             var cg = repsCg.FirstOrDefaultAsync(m => m.Id == item.CgResID).Result;
             var station = repsStation.FirstOrDefaultAsync(m => m.Id == item.StationResID).Result;
             if (station != null)

+ 4 - 4
DW5S.Controller/LogController.cs

@@ -37,7 +37,7 @@ namespace DW5S.Controllers
         {
             try
             {
-                var repsLog = unitOfWork.Of<LogRes>();
+                var repsLog = unitOfWork.OfLong<LogRes>();
                 await repsLog.AddOrUpdateAsync(new LogRes()
                 {
                     LogTime = dto.LogTime,
@@ -65,7 +65,7 @@ namespace DW5S.Controllers
         {
             try
             {
-                var query = unitOfWork.Of<LogRes>().AsQueryable();
+                var query = unitOfWork.OfLong<LogRes>().AsQueryable();
                 if (!string.IsNullOrWhiteSpace(dto.Module) && dto.Module != "全部")
                     query = query.Where(p => p.Module == dto.Module);
                 if (dto.LogTimeBegin != null && dto.LogTimeBegin != DateTime.MinValue)
@@ -101,7 +101,7 @@ namespace DW5S.Controllers
         {
             try
             {
-                var repsLog = unitOfWork.Of<LogRes>();
+                var repsLog = unitOfWork.OfLong<LogRes>();
                 var res = await repsLog.GetDistinctAsync(p => p.Module);
                 var dtoRes = res.Select(p => new LogModulesResDto()
                 {
@@ -130,7 +130,7 @@ namespace DW5S.Controllers
             if (dto == null || !dto.Any()) return Success();
             try
             {
-                var repsLog = unitOfWork.Of<LogRes>();
+                var repsLog = unitOfWork.OfLong<LogRes>();
                 var ids = dto.Select(p => p.ID);
                 await repsLog.DeleteAsync(p => ids.Contains(p.Id));
                 await unitOfWork.SaveAsync();

+ 13 - 13
DW5S.Controller/PosController.cs

@@ -74,7 +74,7 @@ namespace DW5S.Controllers
                 logger.Error(msg);
                 return Error(msg);
             }
-            var repsStationRes = unitOfWork.Of<StationRes>();
+            var repsStationRes = unitOfWork.OfLong<StationRes>();
             var stationRes = await repsStationRes.AddOrUpdateAsync(new StationRes
             {
                 SatTxLon = dto.SatTxLon,
@@ -87,7 +87,7 @@ namespace DW5S.Controllers
                 RefLat = dto.RefLat,
             });
 
-            var repsCheckRes = unitOfWork.Of<CheckRes>();
+            var repsCheckRes = unitOfWork.OfLong<CheckRes>();
             var ckRes = await repsCheckRes.AddOrUpdateAsync(new CheckRes
             {
                 FileName = dto.CheckRes?.FileName,
@@ -101,7 +101,7 @@ namespace DW5S.Controllers
                 Snr = dto.CheckRes?.Snr
             });
 
-            var repsCgRes = unitOfWork.Of<CgRes>();
+            var repsCgRes = unitOfWork.OfLong<CgRes>();
             var cgRes = await repsCgRes.AddOrUpdateAsync(new CgRes
             {
                 SigTime = dto.SigTime,
@@ -123,7 +123,7 @@ namespace DW5S.Controllers
                 TarFreqDown = dto.FreqDown,
             });
 
-            var repsCxRes = unitOfWork.Of<CxRes>();
+            var repsCxRes = unitOfWork.OfLong<CxRes>();
             var cxRes = await repsCxRes.AddOrUpdateAsync(new CxRes()
             {
                 SigTime = dto.SigTime,
@@ -132,7 +132,7 @@ namespace DW5S.Controllers
 
             var res = PosApi.X1D1_Pos(cgRes, stationRes, cxRes, dto.CalcConfidence);
 
-            var repsPosRes = unitOfWork.Of<PosRes>();
+            var repsPosRes = unitOfWork.OfLong<PosRes>();
             var posRes = await repsPosRes.AddOrUpdateAsync(new PosRes
             {
                 FreqUpHz = (long)cgRes.TarFreqUp.Value,
@@ -256,7 +256,7 @@ namespace DW5S.Controllers
             //dto.MainYbDto = Math.Round(refdt1 * 1e6, 3);
             //dto.AdjaYbDto = Math.Round(refdt2 * 1e6, 3);
 
-            var repsStationRes = unitOfWork.Of<StationRes>();
+            var repsStationRes = unitOfWork.OfLong<StationRes>();
             var stationRes = await repsStationRes.AddOrUpdateAsync(new StationRes
             {
                 SatTxLon = dto.SatTxLon,
@@ -267,7 +267,7 @@ namespace DW5S.Controllers
                 RefLat = dto.RefLat,
             });
 
-            var repsCheckRes = unitOfWork.Of<CheckRes>();
+            var repsCheckRes = unitOfWork.OfLong<CheckRes>();
             var ckRes = await repsCheckRes.AddOrUpdateAsync(new CheckRes
             {
                 FileName = dto.CheckRes?.FileName,
@@ -281,7 +281,7 @@ namespace DW5S.Controllers
                 Snr = dto.CheckRes?.Snr
             });
 
-            var repsCgRes = unitOfWork.Of<CgRes>();
+            var repsCgRes = unitOfWork.OfLong<CgRes>();
             var cgRes = await repsCgRes.AddOrUpdateAsync(new CgRes
             {
                 SigTime = dto.SigTime,
@@ -317,7 +317,7 @@ namespace DW5S.Controllers
 
             var res = PosApi.X2D1_Pos(cgRes, stationRes, dto.CalcConfidence);
 
-            var repsPosRes = unitOfWork.Of<PosRes>();
+            var repsPosRes = unitOfWork.OfLong<PosRes>();
             var posRes = await repsPosRes.AddOrUpdateAsync(new PosRes
             {
                 FreqUpHz = (long)cgRes.TarFreqUp.Value,
@@ -430,7 +430,7 @@ namespace DW5S.Controllers
             //var dto2 = dt1 - dt3;
             //dto.SxDto = dto1 * 1e6 + r.Next(-10, 10) + Math.Round(r.NextDouble(), 3);
             //dto.XdDto = dto2 * 1e6 + r.Next(-10, 10) + Math.Round(r.NextDouble(), 3);
-            var repsStationRes = unitOfWork.Of<StationRes>();
+            var repsStationRes = unitOfWork.OfLong<StationRes>();
             var stationRes = await repsStationRes.AddOrUpdateAsync(new StationRes
             {
                 SatTxLon = dto.SatTxLon,
@@ -439,7 +439,7 @@ namespace DW5S.Controllers
                 CdbTxLat = dto.CdbTxLat,
             });
 
-            var repsCheckRes = unitOfWork.Of<CheckRes>();
+            var repsCheckRes = unitOfWork.OfLong<CheckRes>();
             var ckRes = await repsCheckRes.AddOrUpdateAsync(new CheckRes
             {
                 FileName = dto.CheckRes?.FileName,
@@ -453,7 +453,7 @@ namespace DW5S.Controllers
                 Snr = dto.CheckRes?.Snr
             });
 
-            var repsCgRes = unitOfWork.Of<CgRes>();
+            var repsCgRes = unitOfWork.OfLong<CgRes>();
             var cgRes = await repsCgRes.AddOrUpdateAsync(new CgRes
             {
                 SigTime = dto.SigTime,
@@ -488,7 +488,7 @@ namespace DW5S.Controllers
             var res = PosApi.X2D1_PosNoRef_ZL(cgRes, stationRes, dto.CalcConfidence);
 
 
-            var repsPosRes = unitOfWork.Of<PosRes>();
+            var repsPosRes = unitOfWork.OfLong<PosRes>();
             var posRes = await repsPosRes.AddOrUpdateAsync(new PosRes
             {
                 FreqUpHz = (long)cgRes.TarFreqUp.Value,

+ 4 - 4
DW5S.Controller/ResultController.cs

@@ -34,7 +34,7 @@ namespace DW5S.Controllers
         {
             try
             {
-                var query = unitOfWork.Of<PosRes>().AsQueryable();
+                var query = unitOfWork.OfLong<PosRes>().AsQueryable();
                 query = query.Where(p => p.SigTime >= dto.BeginTime && p.SigTime <= dto.EndTime && p.TaskInfoID == dto.TaskInfoID);
                 if (!dto.IncludeInvalidate)
                     query = query.Where(p => p.PosLon != 999);
@@ -65,7 +65,7 @@ namespace DW5S.Controllers
         {
             try
             {
-                var query = unitOfWork.Of<PosRes>().AsQueryable();
+                var query = unitOfWork.OfLong<PosRes>().AsQueryable();
                 var listFrequp = await query.Where(p => p.TaskInfoID == dto.TaskInfoID).Select(p => p.FreqUpHz).Distinct().ToListAsync();
                 var res = listFrequp.Select(p => new TaskFreqResDto() { FreqUpHz = p }).OrderBy(o => o.FreqUpHz).ToList();
                 return Success(res);
@@ -160,7 +160,7 @@ namespace DW5S.Controllers
             try
             {
                 var targets = await unitOfWork.Of<TargetInfo>().GetAllAsync();
-                var query = unitOfWork.Of<PosRes>().AsQueryable();
+                var query = unitOfWork.OfLong<PosRes>().AsQueryable();
                 query = query.Where(p => p.SigTime >= dto.BeginTime && p.SigTime <= dto.EndTime && p.TaskInfoID == dto.TaskInfoID);
                 if (!dto.IncludeInvalidate)
                     query = query.Where(p => p.PosLon != 999);
@@ -203,7 +203,7 @@ namespace DW5S.Controllers
             try
             {
                 var targets = await unitOfWork.Of<TargetInfo>().GetAllAsync();
-                var query = unitOfWork.Of<PosRes>().AsQueryable();
+                var query = unitOfWork.OfLong<PosRes>().AsQueryable();
                 query = query.Where(p => p.TaskInfoID == dto.TaskInfoID);
                 if (!dto.IncludeInvalidate)
                 {

+ 1 - 1
DW5S.Entity/ADRes.cs

@@ -13,7 +13,7 @@ namespace DW5S.Entity
     /// 采集结果表
     /// </summary>
     [Table("ADRes")]
-    public class ADRes : BaseEntityLong
+    public class ADRes : BaseEntity<long>
     {
         /// <summary>
         /// 信号时刻

+ 4 - 24
DW5S.Entity/BaseEntity.cs

@@ -5,10 +5,10 @@ using System.Xml.Linq;
 namespace DW5S.Entity
 {
     /// <summary>
-    /// int主键的Entity基类
+    /// Entity基类
     /// </summary>
     [Index(nameof(UpdateTime))]
-    public abstract class BaseEntity
+    public abstract class BaseEntity<T>
     {
         /// <summary>
         /// 
@@ -23,7 +23,7 @@ namespace DW5S.Entity
         /// 编号
         /// </summary>
         [Key]
-        public int Id { get; set; }
+        public T Id { get; set; }
 
         /// <summary>
         /// 创建时间
@@ -35,25 +35,5 @@ namespace DW5S.Entity
         /// </summary>
         public DateTime UpdateTime { get; set; }
     }
-
-    /// <summary>
-    /// long类型主键的Entity基类
-    /// </summary>
-    public abstract class BaseEntityLong : BaseEntity
-    {
-        /// <summary>
-        /// 
-        /// </summary>
-        public BaseEntityLong()
-        {
-            this.CreateTime = DateTime.Now;
-            this.UpdateTime = DateTime.Now;
-        }
-
-        /// <summary>
-        /// 编号
-        /// </summary>
-        [Key]
-        public new long Id { get; set; }
-    }
+    
 }

+ 1 - 1
DW5S.Entity/CgRes.cs

@@ -12,7 +12,7 @@ namespace DW5S.Entity
     /// 参数估计结果表
     /// </summary>
     [Table("CgRes")]
-    public class CgRes : BaseEntityLong
+    public class CgRes : BaseEntity<long>
     {
         /// <summary>
         /// 信号时刻

+ 1 - 1
DW5S.Entity/CgXgfRes.cs

@@ -12,7 +12,7 @@ namespace DW5S.Entity
     /// 参数估计相关峰结果表
     /// </summary>
     [Table("CgXgfRes")]
-    public class CgXgfRes : BaseEntityLong
+    public class CgXgfRes : BaseEntity<long>
     {
         [Display(AutoGenerateField = false)]
         public long CgResID { get; set; }

+ 1 - 1
DW5S.Entity/CheckRes.cs

@@ -9,7 +9,7 @@ using System.Threading.Tasks;
 namespace DW5S.Entity
 {
     [Table("CheckRes")]
-    public class CheckRes : BaseEntityLong
+    public class CheckRes : BaseEntity<long>
     {
         /// <summary>
         /// 检测文件名称

+ 1 - 1
DW5S.Entity/CxRes.cs

@@ -9,7 +9,7 @@ using System.Threading.Tasks;
 namespace DW5S.Entity
 {
     [Table("CxRes")]
-    public class CxRes: BaseEntityLong
+    public class CxRes: BaseEntity<long>
     {
         [Display(Name = "信号时刻")]
         public DateTime SigTime { get; set; }

+ 1 - 1
DW5S.Entity/FixedStation.cs

@@ -11,7 +11,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 固定站信息表
     /// </summary>
-    public class FixedStation : BaseEntity
+    public class FixedStation : BaseEntity<int>
     {
         /// <summary>
         /// 名称

+ 1 - 1
DW5S.Entity/LogRes.cs

@@ -14,7 +14,7 @@ namespace DW5S.Entity
     /// 日志表
     /// </summary>
     [Index(nameof(Module),nameof(LogTime),nameof(LogType))]
-    public class LogRes : BaseEntityLong
+    public class LogRes : BaseEntity<long>
     {
         /// <summary>
         /// 所属模块

+ 1 - 1
DW5S.Entity/PosData.cs

@@ -77,7 +77,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 定位点绑定到地图的对象
     /// </summary>
-    public class PosData : BaseEntityLong
+    public class PosData : BaseEntity<long>
     {
         /// <summary>
         /// 信号时刻

+ 1 - 1
DW5S.Entity/RefCgRes.cs

@@ -13,7 +13,7 @@ namespace DW5S.Entity
     /// 参考参数估计结果表
     /// </summary>
     [Table("RefCgRes")]
-    public class RefCgRes : BaseEntityLong
+    public class RefCgRes : BaseEntity<long>
     {
         /// <summary>
         /// 信号时刻

+ 4 - 40
DW5S.Entity/RefTaskFreq.cs

@@ -14,85 +14,49 @@ namespace DW5S.Entity
     /// 参考任务频点表  卫星 频点 参考站  计算周期 信噪比 时差中心 时差范围  样本长度 状态 
     /// </summary>
     [Table("RefTaskFreq")]
-    public class RefTaskFreq : BaseEntityLong
+    public class RefTaskFreq : BaseEntity<long>
     {
-
         /// <summary>
         /// 样本编号
         /// </summary>
-        [Display(Name = "样本编号", AutoGenerateField = false)]
         public int SampleInfoID { get; set; }
 
         [Display(AutoGenerateField = false)]
-        [JsonIgnore]
         public virtual SampleInfo SampleInfo { get; set; }
-
-        [Display(Name = "样本名称")]
-        public string SampleName => SampleInfo.SampleName;
-
-        //[Display(Name = "参考站")]
-        //public string RefName => SampleInfo.RefName;
-
-        //[Display(Name = "上行频点(MHz)")]
-        //public double FreqUpDis => SampleInfo.FreqUpDis;
-
-
-        //[Display(Name = "下行频点(MHz)")]
-        //public double FreqDownDis => SampleInfo.FreqDownDis;
-
-        //[Display(Name = "带宽(Hz)")]
-        //public double Band => SampleInfo.Band;
-
         /// <summary>
-        /// 卫星
+        /// 卫星编号
         /// </summary>
-        [Display(Name = "卫星编号", AutoGenerateField = false)]
-        public int SatInfoId { get; set; }
+        public int SatInfoID { get; set; }
 
         [Display(AutoGenerateField = false)]
-        [JsonIgnore]
         public virtual SatInfo SatInfo { get; set; }
-
-
-        [Display(Name = "卫星")]
-        public string Sat => SatInfo.Sat;
-
+    
         /// <summary>
         /// 计算周期(s)
         /// </summary>
-        [Display(Name = "计算周期(s)")]
         public int CalccCycle { get; set; }
 
         /// <summary>
         /// 信噪比
         /// </summary>
-        [Display(Name = "信噪比(dB)")]
         public int Snr { get; set; }
 
         /// <summary>
         /// 时差中心(s)
         /// </summary>
-        [Display(Name = "时差中心(s)")]
         public float DtoCenter { get; set; }
         /// <summary>
         /// 时差范围 Hz
         /// </summary>
-        [Display(Name = "时差范围(Hz)")]
         public int DtoRange { get; set; }
 
         /// <summary>
         /// 样本长度(s)
         /// </summary>
-        [Display(Name = "样本长度(s)")]
         public int SampleLen { get; set; }
         /// <summary>
         /// 是否启用
         /// </summary>
-        [Display(Name = "是否启用", AutoGenerateField = false)]
         public bool Enable { get; set; }
-
-        [NotMapped]
-        [Display(Name = "是否启用")]
-        public string IsEnable => Enable ? "启用" : "禁用";
     }
 }

+ 2 - 2
DW5S.Entity/SampleInfo.cs

@@ -13,7 +13,7 @@ using System.Threading.Tasks;
 namespace DW5S.Entity
 {
     [Table("SampleInfo")]
-    public class SampleInfo : BaseEntity
+    public class SampleInfo : BaseEntity<int>
     {
         /// <summary>
         /// 样本名称
@@ -26,7 +26,7 @@ namespace DW5S.Entity
         /// </summary>
         public int TxInfoID { get; set; }
 
-        public virtual TxInfo TxInfo { get; set; }
+        public virtual TxInfo RefTxInfo { get; set; }
         /// <summary>
         /// 信号编号
         /// </summary>

+ 1 - 1
DW5S.Entity/SatInfo.cs

@@ -11,7 +11,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 卫星信息
     /// </summary>
-    public class SatInfo : BaseEntity
+    public class SatInfo : BaseEntity<int>
     {
         /// <summary>
         /// 卫星编号

+ 1 - 1
DW5S.Entity/SigDelay.cs

@@ -12,7 +12,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 信号转发延迟信息
     /// </summary>
-    public class SigDelay : BaseEntity
+    public class SigDelay : BaseEntity<int>
     {
 
         /// <summary>

+ 1 - 1
DW5S.Entity/SigInfo.cs

@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
 namespace DW5S.Entity
 {
     [Table("SigInfo")]
-    public class SigInfo : BaseEntity
+    public class SigInfo : BaseEntity<int>
     {
         /// <summary>
         /// 上行频点(Hz)

+ 1 - 1
DW5S.Entity/StationRes.cs

@@ -11,7 +11,7 @@ namespace DW5S.Entity
     /// 站点信息结果表
     /// </summary>
     [Table("StationRes")]
-    public class StationRes: BaseEntityLong
+    public class StationRes: BaseEntity<long>
     {
         /// <summary>
         /// 任务编号

+ 1 - 1
DW5S.Entity/SysSetings.cs

@@ -9,7 +9,7 @@ using System.Threading.Tasks;
 namespace DW5S.Entity
 {
     [Table("SysSetings")]
-    public class SysSetings : BaseEntity
+    public class SysSetings : BaseEntity<int>
     {
         /// <summary>
         /// 系统时区ID

+ 1 - 1
DW5S.Entity/TargetInfo.cs

@@ -11,7 +11,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 目标信息
     /// </summary>
-    public class TargetInfo : BaseEntity
+    public class TargetInfo : BaseEntity<int>
     {
         /// <summary>
         /// 目标名称

+ 1 - 1
DW5S.Entity/TaskInfo.cs

@@ -3,7 +3,7 @@
     /// <summary>
     /// 任务信息表
     /// </summary>
-    public class TaskInfo : BaseEntity
+    public class TaskInfo : BaseEntity<int>
     {
         /// <summary>
         /// 任务状态

+ 1 - 1
DW5S.Entity/TaskRunnningInfo.cs

@@ -11,7 +11,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 执行中的任务信息
     /// </summary>
-    public class TaskRunnningInfo : BaseEntity
+    public class TaskRunnningInfo : BaseEntity<int>
     {
         /// <summary>
         /// 任务编号

+ 1 - 1
DW5S.Entity/TaskSig.cs

@@ -13,7 +13,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 任务信号
     /// </summary>
-    public class TaskSig : BaseEntity
+    public class TaskSig : BaseEntity<int>
     {
         /// <summary>
         /// 任务编号

+ 1 - 1
DW5S.Entity/TaskTemplate.cs

@@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
 namespace DW5S.Entity
 {
     [Table("TaskTemplate")]   // 标识数据库创建的表名
-    public class TaskTemplate : BaseEntity
+    public class TaskTemplate : BaseEntity<int>
     {
         [Required]
         [Display(Name = "模版名称")]

+ 1 - 1
DW5S.Entity/TxInfo.cs

@@ -11,7 +11,7 @@ namespace DW5S.Entity
     /// <summary>
     /// 天线信息
     /// </summary>
-    public class TxInfo:BaseEntity
+    public class TxInfo:BaseEntity<int>
     {
         /// <summary>
         /// 天线名称

+ 1 - 1
DW5S.Entity/XlInfo.cs

@@ -13,7 +13,7 @@ namespace DW5S.Entity
     /// 星历信息表
     /// </summary>
     [Index(nameof(SatName), nameof(TimeUTC), nameof(Lon))]
-    public class XlInfo : BaseEntity
+    public class XlInfo : BaseEntity<int>
     {
         /// <summary>
         /// 卫星编号

+ 7 - 7
DW5S.Repostory/Repository/IRepository.cs

@@ -10,7 +10,7 @@ using System.Threading.Tasks;
 
 namespace DW5S.Repostory
 {
-    public interface IRepository<T> where T : BaseEntity
+    public interface IRepository<T, IDType> where T : BaseEntity<IDType>
     {
         IQueryable<T> AsQueryable();
         Task<T> GetByIdAsync(object id);
@@ -45,7 +45,7 @@ namespace DW5S.Repostory
         T MaxBy<TResult>(Expression<Func<T, TResult>> selector, Expression<Func<T, bool>> predicate = null);
     }
 
-    public class Repository<T> : IRepository<T> where T : BaseEntity
+    public class Repository<T, IDType> : IRepository<T, IDType> where T : BaseEntity<IDType>
     {
         protected readonly OracleContext ctx;
         protected readonly DbSet<T> dbSet;
@@ -118,12 +118,12 @@ namespace DW5S.Repostory
 
         public async Task AddOrUpdateAsync(IEnumerable<T> entity)
         {
-            if (entity.First().Id == 0)
+            if (entity.First().Id.Equals(0))
             {
                 foreach (var item in entity)
                 {
                     item.CreateTime = DateTime.Now;
-                    item.UpdateTime= DateTime.Now;  
+                    item.UpdateTime = DateTime.Now;
                 }
                 await dbSet.AddRangeAsync(entity);
             }
@@ -139,7 +139,7 @@ namespace DW5S.Repostory
 
         public async Task<T> AddOrUpdateAsync(T entity)
         {
-            if (entity.Id == 0)
+            if (entity.Id.Equals(0))
             {
                 entity.CreateTime = DateTime.Now;
                 entity.UpdateTime = DateTime.Now;
@@ -156,7 +156,7 @@ namespace DW5S.Repostory
 
         public async Task<int> DeleteAsync(T entity)
         {
-            return await dbSet.Where(p => p.Id == entity.Id).ExecuteDeleteAsync();
+            return await dbSet.Where(p => p.Id.Equals(entity.Id)).ExecuteDeleteAsync();
         }
 
         public async Task<int> DeleteAsync(IEnumerable<T> entities)
@@ -183,7 +183,7 @@ namespace DW5S.Repostory
                 return dbSet.Where(predicate).MaxBy(selector);
         }
 
-        
+
         public async Task<int> UpdatePropAsync<TProperty>(Expression<Func<T, bool>> predicate, Func<T, TProperty> propertyExpression, TProperty value)
         {
             return await dbSet.Where(predicate)

+ 1 - 1
DW5S.Repostory/Repository/XlRepository.cs

@@ -14,7 +14,7 @@ namespace DW5S.Repostory
     /// <summary>
     /// 双行根星历仓储
     /// </summary>
-    public class XlRepository : Repository<XlInfo>
+    public class XlRepository : Repository<XlInfo,int>
     {
         public XlRepository(OracleContext ctx)
             : base(ctx)

+ 18 - 4
DW5S.Repostory/UnitOfWork.cs

@@ -9,20 +9,34 @@ namespace DW5S.Repostory
 {
     public interface IUnitOfWork : IAsyncDisposable
     {
-        IRepository<TEntity> Of<TEntity>() where TEntity : BaseEntity;
+        IRepository<TEntity, int> Of<TEntity>() where TEntity : BaseEntity<int>;
+        IRepository<TEntity, long> OfLong<TEntity>() where TEntity : BaseEntity<long>;
+
+        IRepository<TEntity,IDType> OfType<TEntity, IDType>() where TEntity : BaseEntity<IDType>;
         Task<int> SaveAsync();
     }
     public class UnitOfWork : IUnitOfWork
     {
         public readonly OracleContext ctx;
 
-        public IRepository<TEntity> Of<TEntity>() where TEntity : BaseEntity
+        public IRepository<TEntity, IDType> OfType<TEntity, IDType>() where TEntity : BaseEntity<IDType>
         {
             //UnitOfWork中的DbContext必须和Repository中的DbContext是同一个对象
-            var reps = IocContainer.GetService<IRepository<TEntity>>(ctx);
+            var reps = IocContainer.GetService<IRepository<TEntity, IDType>>(ctx);
+            return reps;
+        }
+        public IRepository<TEntity, int> Of<TEntity>() where TEntity : BaseEntity<int>
+        {
+            //UnitOfWork中的DbContext必须和Repository中的DbContext是同一个对象
+            var reps = IocContainer.GetService<IRepository<TEntity,int>>(ctx);
+            return reps;
+        }
+        public IRepository<TEntity, long> OfLong<TEntity>() where TEntity : BaseEntity<long>
+        {
+            //UnitOfWork中的DbContext必须和Repository中的DbContext是同一个对象
+            var reps = IocContainer.GetService<IRepository<TEntity, long>>(ctx);
             return reps;
         }
-
         public UnitOfWork(OracleContext ctx)
         {
             this.ctx = ctx;

+ 96 - 0
DW5S.ViewModel/RefTaskViewModel.cs

@@ -0,0 +1,96 @@
+using DW5S.Entity;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+
+namespace DW5S.ViewModel
+{
+    /// <summary>
+    /// 参考任务频点表  卫星 频点 参考站  计算周期 信噪比 时差中心 时差范围  样本长度 状态 
+    /// </summary>
+     public class RefTaskViewModel : BaseViewModel<long>
+    {
+
+        /// <summary>
+        /// 样本编号
+        /// </summary>
+        [Display(Name = "样本编号", AutoGenerateField = false)]
+        public int SampleInfoID { get; set; }
+
+        [Display(AutoGenerateField = false)]
+        public virtual SampleViewModel SampleInfo { get; set; }
+
+        [Display(Name = "样本名称")]
+        public string SampleName => SampleInfo.SampleName;
+
+        [Display(Name = "参考站")]
+        public string RefName => SampleInfo.RefName;
+
+        [Display(Name = "上行频点(MHz)")]
+        public double FreqUpDis => SampleInfo.FreqUpDis;
+
+
+        [Display(Name = "下行频点(MHz)")]
+        public double FreqDownDis => SampleInfo.FreqDownDis;
+
+        [Display(Name = "带宽(Hz)")]
+        public double Band => SampleInfo.Band;
+
+        /// <summary>
+        /// 卫星
+        /// </summary>
+        [Display(Name = "卫星编号", AutoGenerateField = false)]
+        public int SatInfoID { get; set; }
+
+        [Display(AutoGenerateField = false)]
+        public virtual SatInfo SatInfo { get; set; }
+
+
+        [Display(Name = "卫星")]
+        public string Sat => SatInfo.Sat;
+
+        /// <summary>
+        /// 计算周期(s)
+        /// </summary>
+        [Display(Name = "计算周期(s)")]
+        public int CalccCycle { get; set; }
+
+        /// <summary>
+        /// 信噪比
+        /// </summary>
+        [Display(Name = "信噪比(dB)")]
+        public int Snr { get; set; }
+
+        /// <summary>
+        /// 时差中心(s)
+        /// </summary>
+        [Display(Name = "时差中心(s)")]
+        public float DtoCenter { get; set; }
+        /// <summary>
+        /// 时差范围 Hz
+        /// </summary>
+        [Display(Name = "时差范围(Hz)")]
+        public int DtoRange { get; set; }
+
+        /// <summary>
+        /// 样本长度(s)
+        /// </summary>
+        [Display(Name = "样本长度(s)")]
+        public int SampleLen { get; set; }
+        /// <summary>
+        /// 是否启用
+        /// </summary>
+        [Display(Name = "是否启用", AutoGenerateField = false)]
+        public bool Enable { get; set; }
+
+        [NotMapped]
+        [Display(Name = "是否启用")]
+        public string IsEnable => Enable ? "启用" : "禁用";
+    }
+}

+ 1 - 3
DW5S.ViewModel/SampleViewModel.cs

@@ -12,10 +12,9 @@ namespace DW5S.ViewModel
         public string SampleName { get; set; }
 
         [Display(Name = "参考站", AutoGenerateField = false)]
-        public int RefTxInfoID { get; set; }
+        public int TxInfoID { get; set; }
 
         [Display(AutoGenerateField = false)]
-        [JsonIgnore]
         public virtual TxInfo RefTxInfo { get; set; }
 
         [Display(Name = "参考站")]
@@ -27,7 +26,6 @@ namespace DW5S.ViewModel
         public int SigInfoID { get; set; }
 
         [Display(AutoGenerateField = false)]
-        [JsonIgnore]
         public virtual SigInfo SigInfo { get; set; }
 
 

+ 1 - 1
DW5S.ViewModel/SatViewModel.cs

@@ -7,7 +7,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace XdCxRhDW5S.Entity
+namespace XdCxRhDW5S.ViewModel
 {
     public class SatViewModel : BaseViewModel<int>
     {

+ 0 - 1
DW5S.ViewModel/SigDelayViewModel.cs

@@ -23,7 +23,6 @@ namespace DW5S.ViewModel
         public int SigInfoId { get; set; }
 
         [Display(AutoGenerateField = false)]
-        [JsonIgnore]
         public virtual SigInfo SigInfo { get; set; }
 
         /// <summary>

+ 2 - 2
DW5S.WebApi/WebApiHelper.cs

@@ -174,11 +174,11 @@ namespace DW5S.WebApi
             var hostBuilder = builder.Host.ConfigureContainer<Autofac.ContainerBuilder>(builder =>
             {
                 //注入IRepository
-                builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>))
+                builder.RegisterGeneric(typeof(Repository<,>)).As(typeof(IRepository<,>))
                     .InstancePerLifetimeScope();
                 builder.RegisterAssemblyTypes(assemblies)
                     .Where(t => t.Name.Contains("Repository"))
-                    .AsClosedTypesOf(typeof(IRepository<>))
+                    .AsClosedTypesOf(typeof(IRepository<,>))
                     .InstancePerLifetimeScope();
 
                 //注入DbContext