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