|
@@ -14,6 +14,7 @@ namespace DW5S.App.UserControl
|
|
|
public partial class CtrlADTask : DevExpress.XtraEditors.XtraUserControl
|
|
|
{
|
|
|
readonly List<ADTaskViewModel> list = new List<ADTaskViewModel>();
|
|
|
+ readonly List<ADSatChViewMode> AdSatChViews = new List<ADSatChViewMode>();
|
|
|
|
|
|
|
|
|
public CtrlADTask()
|
|
@@ -66,21 +67,50 @@ namespace DW5S.App.UserControl
|
|
|
.Include(p => p.AdChannels)
|
|
|
.OrderByDescending(p => p.Name).ToListAsync();
|
|
|
|
|
|
+ var sats = await GetSats();
|
|
|
+
|
|
|
+ List<ADSatChViewMode> adSatChViews = new List<ADSatChViewMode>();
|
|
|
+ foreach (var adCard in adCards)
|
|
|
+ {
|
|
|
+ foreach (var adChannel in adCard.AdChannels)
|
|
|
+ {
|
|
|
+ var satinfo = sats.FirstOrDefault(c => c.Id == adChannel.SatInfoID);
|
|
|
+ if (adChannel.Enable == true && satinfo != null)
|
|
|
+ {
|
|
|
+ ADSatChViewMode mode = new ADSatChViewMode()
|
|
|
+ {
|
|
|
+ Channel = adChannel.ChNum,
|
|
|
+ ClockerType = adCard.ClockerType,
|
|
|
+ ClockFreq = adCard.ClockFreq,
|
|
|
+ DdcFreq = adCard.DdcFreq,
|
|
|
+ Mutil = adCard.Mutil,
|
|
|
+ SatCode = satinfo.SatCode,
|
|
|
+ SatLon = satinfo.SatLon,
|
|
|
+ SatName = satinfo.SatName,
|
|
|
+ TriggerMode = adCard.TriggerMode,
|
|
|
+ };
|
|
|
+ adSatChViews.Add(mode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
var chItems = adCards.SelectMany(a => a.AdChannels).Where(s => s.Enable == true).ToList();
|
|
|
|
|
|
var sigList = await GetSigInfos();
|
|
|
- var sats = await GetSats();
|
|
|
- var chsats = sats.Where(s => chItems.Any(c => c.SatInfoID == s.Id));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
foreach (var sigItem in sigList)
|
|
|
{
|
|
|
- if (sigView != null && sigView.Id == sigItem.Id)
|
|
|
+ if (sigView != null && sigView.Id != sigItem.Id)
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
var adTask = sigItem.To<ADTaskViewModel>();
|
|
|
- adTask.SatViews = chsats.ToList();
|
|
|
+ adTask.Sat = string.Join(",", adSatChViews.ToList().Select(s => s.Sat));
|
|
|
taskList.Add(adTask);
|
|
|
}
|
|
|
+ AdSatChViews.Clear();
|
|
|
+ AdSatChViews.AddRange(adSatChViews);
|
|
|
return taskList;
|
|
|
}
|
|
|
|