TaskEditor.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using DevExpress.Utils.About;
  2. using DevExpress.XtraEditors;
  3. using DevExpress.XtraEditors.Controls;
  4. using DxHelper;
  5. using ExtensionsDev;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel;
  9. using System.ComponentModel.DataAnnotations;
  10. using System.Data;
  11. using System.Data.Entity;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Reflection;
  15. using System.Text;
  16. using System.Threading.Tasks;
  17. using System.Windows.Documents;
  18. using System.Windows.Forms;
  19. using XdCxRhDW.Repostory.EFContext;
  20. using XdCxRhDW.Repostory.Model;
  21. namespace XdCxRhDW.App.EditForms
  22. {
  23. public partial class TaskEditor : DevExpress.XtraEditors.XtraForm
  24. {
  25. public TaskInfo info;
  26. public TaskEditor()
  27. {
  28. InitializeComponent();
  29. this.Text = "添加任务";
  30. info = new TaskInfo();
  31. this.StartPosition = FormStartPosition.CenterParent;
  32. //加载DW类型
  33. List<RadioGroupItem> radioGroups = new List<RadioGroupItem>();
  34. var values = Enum.GetValues(typeof(EnumPosType));
  35. foreach (var item in values)
  36. {
  37. radioGroups.Add(new RadioGroupItem(Convert.ToInt32(item), ((EnumPosType)item).GetEnumDisplayName()));
  38. }
  39. this.txtPosType.Properties.Items.AddRange(radioGroups.ToArray());
  40. }
  41. public TaskEditor(TaskInfo info)
  42. : this()
  43. {
  44. this.Text = "编辑任务";
  45. this.info = info;
  46. }
  47. private async void TaskEditor_Load(object sender, EventArgs e)
  48. {
  49. using (RHDWContext db = new RHDWContext())
  50. {
  51. var sats = await db.SatInfos.ToListAsync();
  52. this.txtMainSat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
  53. this.txtAdja1Sat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
  54. this.txtAdja2Sat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
  55. }
  56. if (this.Text == "编辑任务" && info != null)
  57. {
  58. this.txtTaskName.Text = info.TaskName;
  59. this.txtPosType.SelectedIndex = (int)info.PosType;
  60. }
  61. }
  62. private void btnSave_Click(object sender, EventArgs e)
  63. {
  64. try
  65. {
  66. info.TaskState = EnumTaskState.Stopped;
  67. info.TaskName = txtTaskName.Text;
  68. info.PosType = (EnumPosType)txtPosType.SelectedIndex;
  69. info.MainSat = ((SatInfo)txtMainSat.EditValue).SatCode;
  70. info.Adja1Sat = ((SatInfo)txtAdja1Sat.EditValue).SatCode;
  71. info.Adja2Sat = ((SatInfo)txtAdja2Sat.EditValue).SatCode;
  72. info.Freq = (long)((double)txtFreq.EditValue * 1e6);
  73. info.Band = (int)((double)txtBand.EditValue * 1e6);
  74. this.DialogResult = DialogResult.OK;
  75. }
  76. catch (Exception ex)
  77. {
  78. Serilog.Log.Error(ex, "编辑任务信息出错");
  79. DxHelper.MsgBoxHelper.ShowError("编辑任务信息出错");
  80. }
  81. }
  82. private void txtPosType_SelectedIndexChanged(object sender, EventArgs e)
  83. {
  84. switch (txtPosType.SelectedIndex)
  85. {
  86. case 0:
  87. break;
  88. case 1:
  89. break;
  90. default:
  91. break;
  92. }
  93. }
  94. private void txtPosType_EditValueChanged(object sender, EventArgs e)
  95. {
  96. }
  97. }
  98. }