TaskEditor.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using DataSimulation.Repostory.EFContext;
  2. using DataSimulation.Repostory.Model;
  3. using DevExpress.Utils.About;
  4. using DevExpress.XtraEditors.Controls;
  5. using DxHelper;
  6. using ExtensionsDev;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Data;
  11. using System.Data.Entity;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Threading.Tasks;
  16. using System.Windows.Forms;
  17. namespace DataSimulation.Forms.EditForms
  18. {
  19. public partial class TaskEditor : DevExpress.XtraEditors.XtraForm
  20. {
  21. public TaskInfo info;
  22. public TaskEditor()
  23. {
  24. InitializeComponent();
  25. this.layoutControl1.UseDefault();
  26. this.Text = "添加任务";
  27. info = new TaskInfo();
  28. this.StartPosition = FormStartPosition.CenterParent;
  29. //加载DW类型
  30. List<RadioGroupItem> radioGroups = new List<RadioGroupItem>();
  31. var values = Enum.GetValues(typeof(EnumSimulationType));
  32. foreach (var item in values)
  33. {
  34. radioGroups.Add(new RadioGroupItem(Convert.ToInt32(item), ((EnumSimulationType)item).GetEnumDisplayName()));
  35. }
  36. this.radioSimulationType.Properties.Items.AddRange(radioGroups.ToArray());
  37. }
  38. public TaskEditor(TaskInfo info)
  39. : this()
  40. {
  41. this.Text = "编辑任务";
  42. this.info = info;
  43. }
  44. private async void TaskEditor_Load(object sender, EventArgs e)
  45. {
  46. using (SimulationContext db = new SimulationContext())
  47. {
  48. var sats = await db.SatInfos.ToListAsync();
  49. this.txtMainSat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
  50. this.txtAdjaSat1.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
  51. this.txtAdjaSat2.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
  52. }
  53. if (this.Text == "编辑任务" && info != null)
  54. {
  55. using (SimulationContext db = new SimulationContext())
  56. {
  57. var satMain = await db.SatInfos.Where(w => w.SatCode == info.MainSat).FirstOrDefaultAsync();
  58. var satAdja1 = await db.SatInfos.Where(w => w.SatCode == info.Adja1Sat).FirstOrDefaultAsync();
  59. var satAdja2 = await db.SatInfos.Where(w => w.SatCode == info.Adja2Sat).FirstOrDefaultAsync();
  60. this.txtTaskName.Text = info.TaskName;
  61. this.radioSimulationType.SelectedIndex = (int)info.SimulationType;
  62. this.txtMainSat.EditValue = satMain;
  63. this.txtAdjaSat1.EditValue = satAdja1;
  64. this.txtAdjaSat2.EditValue = satAdja2;
  65. this.txtTx.EditValue = info.AntID;
  66. this.txtRefStation.EditValue = info.RefID;
  67. this.txtFreqUp.EditValue = info.Freq * (decimal)1e-6;
  68. this.txtBand.EditValue = info.Band * (decimal)1e-6;
  69. this.txtSpeed.EditValue = info.Speed;
  70. }
  71. }
  72. }
  73. }
  74. }