123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- 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.Runtime.Remoting.Metadata.W3cXsd2001;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Documents;
- using System.Windows.Forms;
- using XdCxRhDW.Entity;
- using XdCxRhDW.Repostory;
- namespace XdCxRhDW.App.EditForms
- {
- public partial class SigEditor : DevExpress.XtraEditors.XtraForm
- {
- public SigInfo info;
- readonly List<SigDelay> list = new List<SigDelay>();
- public SigEditor()
- {
- InitializeComponent();
- this.layoutControl1.UseDefault();
- this.Text = "添加信号";
- info = new SigInfo();
- this.StartPosition = FormStartPosition.CenterParent;
- }
- public SigEditor(SigInfo info)
- : this()
- {
- this.Text = "编辑信号";
- this.info = info;
- }
- private async void SatEditor_Load(object sender, EventArgs e)
- {
- using (RHDWContext db = new RHDWContext())
- {
- var sats = await db.SatInfos.ToListAsync();
- this.txtSat.UseDefault().SetData(sats, nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
- }
- txtSigType.Properties.Items.Clear();
- txtSigType.Properties.Items.AddEnum<EnumSigCheckType>();
- gridSigDelay.UseDefault(list).UseMultiSelect();
- if (this.Text == "编辑信号" && info != null)
- {
- this.txtFreqUp.EditValue = info.FreqUp;
- this.txtFreqDown.EditValue = info.FreqDown;
- this.txtSnr.EditValue = info.Snr;
- List<EnumSigCheckType> deWay = new List<EnumSigCheckType>();
- if (info.SigType.HasFlag(EnumSigCheckType.DAMA))
- {
- deWay.Add(EnumSigCheckType.DAMA);
- }
- if (info.SigType.HasFlag(EnumSigCheckType.IBS))
- {
- deWay.Add(EnumSigCheckType.IBS);
- }
- if (info.SigType.HasFlag(EnumSigCheckType.Ky5758))
- {
- deWay.Add(EnumSigCheckType.Ky5758);
- }
- this.txtSigType.EditValue = string.Join(",", deWay);
- using (RHDWContext db = new RHDWContext())
- {
- var items = await db.SigDelays.Where(p => p.SignalID==info.ID).ToListAsync();
- list.AddRange(items);
- }
- }
- }
- private void btnCancel_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
- private void btnOk_Click(object sender, EventArgs e)
- {
- try
- {
-
- info.FreqUp =Convert.ToDouble( txtFreqUp.EditValue);
- info.FreqDown = Convert.ToDouble(txtFreqDown.EditValue);
- info.Snr = Convert.ToDouble(txtSnr.EditValue);
- this.DialogResult = DialogResult.OK;
- }
- catch (Exception ex)
- {
- Serilog.Log.Error(ex, "编辑信号信息出错");
- DxHelper.MsgBoxHelper.ShowError("编辑信号信息出错");
- }
- }
- private void btnAddDelay_Click(object sender, EventArgs e)
- {
- SigDelay sigDelay = new SigDelay();
- sigDelay.SatID = ((SatInfo)txtSat.EditValue).SatCode;
- sigDelay.Delay = Convert.ToDouble(txtDelay.EditValue.ToString());
- if (list.Any(a => a.SatID == sigDelay.SatID))
- {
- DxHelper.MsgBoxHelper.ShowInfo("已添加该卫星");
- return;
- }
- list.Add(sigDelay);
- gridView1.RefreshData();
- }
- private void btnDel_Click(object sender, EventArgs e)
- {
- var idsGrid = gridView1.GetSelectedRows();
- List<SigDelay> selectedRes = new List<SigDelay>();
- foreach (var row in idsGrid)
- {
- selectedRes.Add(gridView1.GetRow(row) as SigDelay);
- }
- var seltedIds = selectedRes.Select(s => s.SatID);
- list.RemoveAll(r => seltedIds.Contains(r.SatID));
- gridView1.RefreshData();
- }
- }
- }
|