TaskEditor.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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).UseDoubleClickToSelectAll();
  53. this.txtAdja1Sat.UseDefault().SetData(sats).UseDoubleClickToSelectAll();
  54. this.txtAdja2Sat.UseDefault().SetData(sats).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. }
  83. }