using DevExpress.XtraEditors; using ExtensionsDev; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Entity; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using XdCxRhDW.App.Model; using XdCxRhDW.Entity; using XdCxRhDW.Repostory; namespace XdCxRhDW.App.PopupControl { public partial class ShowCgCtrl : DevExpress.XtraEditors.XtraUserControl { PosRes posItem; List listCg = new List(); List listXgf = new List(); public ShowCgCtrl() { InitializeComponent(); this.layoutControl1.UseDefault(); gridShowCg.UseDefault(listCg); gridCgXgf.UseDefault(listXgf).UseRowNumber(); } public ShowCgCtrl(PosRes posItem) : this() { this.posItem = posItem; } private async void ShowCgCtrl_Load(object sender, EventArgs e) { List sats = null; using (MySqlContext db = new MySqlContext()) { sats = await db.SatInfos.ToListAsync(); } List list = new List(); using (MySqlContext db=new MySqlContext()) { if (db == null) return; var cgEntity = db.CgRes.Where(p => p.ID == posItem.CgResID).FirstOrDefault(); if (cgEntity == null) return; //主邻1 if (cgEntity.Adja1Code != null) { ModelCg item = new ModelCg() { ID = cgEntity.ID, CreateTime = cgEntity.CreateTime, UpdateTime = cgEntity.UpdateTime, SigTime = cgEntity.SigTime, Dto = cgEntity.Dto1, Dfo = cgEntity.Dfo1, Snr = cgEntity.Snr1, MainSat = cgEntity.MainCode?.ToString(), AdjaSat = cgEntity.Adja1Code.ToString(), CgType = 0, }; var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value); if (find != null) item.MainSat = find.Sat; find = sats.Find(p => p.SatCode == cgEntity.Adja1Code.Value); if (find != null) item.AdjaSat = find.Sat; list.Add(item); } //主邻2 if (cgEntity.Adja2Code != null) { ModelCg item = new ModelCg() { ID = cgEntity.ID, CreateTime = cgEntity.CreateTime, UpdateTime = cgEntity.UpdateTime, SigTime = cgEntity.SigTime, Dto = cgEntity.Dto2, Dfo = cgEntity.Dfo2, Snr = cgEntity.Snr2, MainSat = cgEntity.MainCode?.ToString(), AdjaSat = cgEntity.Adja2Code.ToString(), CgType = 1, }; var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value); if (find != null) item.MainSat = find.Sat; find = sats.Find(p => p.SatCode == cgEntity.Adja2Code.Value); if (find != null) item.AdjaSat = find.Sat; list.Add(item); } //超短 if (cgEntity.DtoCdb != null) { ModelCg item = new ModelCg() { ID = cgEntity.ID, CreateTime = cgEntity.CreateTime, UpdateTime = cgEntity.UpdateTime, SigTime = cgEntity.SigTime, Dto = cgEntity.DtoCdb, Dfo = cgEntity.DfoCdb, Snr = cgEntity.SnrCdb, MainSat = cgEntity.MainCode?.ToString(), AdjaSat = "超短站", CgType = 2, }; var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value); if (find != null) item.MainSat = find.Sat; list.Add(item); } } this.listCg.Clear(); this.listCg.AddRange(list); gridView1.RefreshData(); } private async void gridView1_FocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e) { listXgf.Clear(); var cgItem = e.Row as ModelCg; if (cgItem != null) { using (MySqlContext db=new MySqlContext()) { if (db != null) { var data = await db.CgXgfRes.Where(p => p.Deleted == 0 && p.CgResID == cgItem.ID && p.CgType == cgItem.CgType).ToListAsync(); listXgf.AddRange(data.Select(p => new ModelCgXgf { ID = p.ID, Dto = p.Dto, Dfo = p.Dfo, Snr = p.Snr, CreateTime = p.CreateTime, UpdateTime = p.UpdateTime, })); } } //查询相关峰结果 } this.gridView2.RefreshData(); } } }