ShowCgCtrl.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. using DevExpress.XtraEditors;
  2. using ExtensionsDev;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Data.Entity;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. using XdCxRhDW.App.Model;
  14. using XdCxRhDW.Entity;
  15. using XdCxRhDW.Repostory;
  16. namespace XdCxRhDW.App.PopupControl
  17. {
  18. public partial class ShowCgCtrl : DevExpress.XtraEditors.XtraUserControl
  19. {
  20. PosRes posItem;
  21. List<ModelCg> listCg = new List<ModelCg>();
  22. List<ModelCgXgf> listXgf = new List<ModelCgXgf>();
  23. public ShowCgCtrl()
  24. {
  25. InitializeComponent();
  26. this.layoutControl1.UseDefault();
  27. gridShowCg.UseDefault(listCg);
  28. gridCgXgf.UseDefault(listXgf).UseRowNumber();
  29. }
  30. public ShowCgCtrl(PosRes posItem)
  31. : this()
  32. {
  33. this.posItem = posItem;
  34. }
  35. private async void ShowCgCtrl_Load(object sender, EventArgs e)
  36. {
  37. List<SatInfo> sats = null;
  38. using (RHDWContext db = new RHDWContext())
  39. {
  40. sats = await db.SatInfos.ToListAsync();
  41. }
  42. List<ModelCg> list = new List<ModelCg>();
  43. using (RHDWPartContext db = RHDWPartContext.GetContext(posItem.SigTime))
  44. {
  45. if (!db.DatabaseExist)
  46. {
  47. return;
  48. }
  49. var cgEntity = db.CgRes.Where(p => p.ID == posItem.CgResID).FirstOrDefault();
  50. if (cgEntity == null) return;
  51. //主邻1
  52. if (cgEntity.Adja1Code != null)
  53. {
  54. ModelCg item = new ModelCg()
  55. {
  56. ID = cgEntity.ID,
  57. CreateTime = cgEntity.CreateTime,
  58. UpdateTime = cgEntity.UpdateTime,
  59. SigTime = cgEntity.SigTime,
  60. Dto = cgEntity.Dto1,
  61. Dfo = cgEntity.Dfo1,
  62. Snr = cgEntity.Snr1,
  63. MainSat = cgEntity.MainCode?.ToString(),
  64. AdjaSat = cgEntity.Adja1Code.ToString(),
  65. CgType = 0,
  66. };
  67. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  68. if (find != null)
  69. item.MainSat = find.Sat;
  70. find = sats.Find(p => p.SatCode == cgEntity.Adja1Code.Value);
  71. if (find != null)
  72. item.AdjaSat = find.Sat;
  73. list.Add(item);
  74. }
  75. //主邻2
  76. if (cgEntity.Adja2Code != null)
  77. {
  78. ModelCg item = new ModelCg()
  79. {
  80. ID = cgEntity.ID,
  81. CreateTime = cgEntity.CreateTime,
  82. UpdateTime = cgEntity.UpdateTime,
  83. SigTime = cgEntity.SigTime,
  84. Dto = cgEntity.Dto2,
  85. Dfo = cgEntity.Dfo2,
  86. Snr = cgEntity.Snr2,
  87. MainSat = cgEntity.MainCode?.ToString(),
  88. AdjaSat = cgEntity.Adja2Code.ToString(),
  89. CgType = 1,
  90. };
  91. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  92. if (find != null)
  93. item.MainSat = find.Sat;
  94. find = sats.Find(p => p.SatCode == cgEntity.Adja2Code.Value);
  95. if (find != null)
  96. item.AdjaSat = find.Sat;
  97. list.Add(item);
  98. }
  99. //超短
  100. if (cgEntity.DtoCdb != null)
  101. {
  102. ModelCg item = new ModelCg()
  103. {
  104. ID = cgEntity.ID,
  105. CreateTime = cgEntity.CreateTime,
  106. UpdateTime = cgEntity.UpdateTime,
  107. SigTime = cgEntity.SigTime,
  108. Dto = cgEntity.DtoCdb,
  109. Dfo = cgEntity.DfoCdb,
  110. Snr = cgEntity.SnrCdb,
  111. MainSat = cgEntity.MainCode?.ToString(),
  112. AdjaSat = "超短站",
  113. CgType = 2,
  114. };
  115. var find = sats.Find(p => p.SatCode == cgEntity.MainCode.Value);
  116. if (find != null)
  117. item.MainSat = find.Sat;
  118. list.Add(item);
  119. }
  120. }
  121. this.listCg.Clear();
  122. this.listCg.AddRange(list);
  123. }
  124. private async void gridView1_FocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e)
  125. {
  126. listXgf.Clear();
  127. var cgItem = e.Row as ModelCg;
  128. if (cgItem != null)
  129. {
  130. using (RHDWPartContext db = RHDWPartContext.GetContext(cgItem.SigTime))
  131. {
  132. if (db.DatabaseExist)
  133. {
  134. var data = await db.CgXgfRes.Where(p => p.CgResID == cgItem.ID && p.CgType == cgItem.CgType).ToListAsync();
  135. listXgf.AddRange(data.Select(p => new ModelCgXgf
  136. {
  137. ID = p.ID,
  138. Dto = p.Dto,
  139. Dfo = p.Dfo,
  140. Snr = p.Snr,
  141. CreateTime = p.CreateTime,
  142. UpdateTime = p.UpdateTime,
  143. }));
  144. }
  145. }
  146. //查询相关峰结果
  147. }
  148. this.gridView2.RefreshData();
  149. }
  150. }
  151. }