123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- using DevExpress.XtraEditors.Controls;
- using DW5S.Entity;
- using DW5S.Repostory;
- using ExtensionsDev;
- using Microsoft.EntityFrameworkCore;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Windows.Forms;
- namespace DW5S.App.EditForms
- {
- public partial class RefTaskFreqEditor : DevExpress.XtraEditors.XtraForm
- {
- public RefTaskFreq info;
- private List<RefTaskFreq> infos;
- public RefTaskFreqEditor()
- {
- InitializeComponent();
- this.layoutControl1.UseDefault();
- txtSampleLen.UseDoubleClickToSelectAll();
- txtDtoCenter.UseDoubleClickToSelectAll();
- this.Text = "添加参考任务频点";
- info = new RefTaskFreq();
- this.StartPosition = FormStartPosition.CenterParent;
- }
- public RefTaskFreqEditor(RefTaskFreq info)
- : this()
- {
- this.Text = "编辑参考任务频点";
- this.info = info;
- }
- private async void RefTaskFreqEditor_Load(object sender, EventArgs e)
- {
- var samples = new List<SampleInfo>();
- var sats = new List<SatInfo>();
- var unitOfWork = IocContainer.UnitOfWork;
- var repsSample = unitOfWork.Of<SampleInfo>();
- var res = await repsSample.AsQueryable().Include(s => s.SigInfo).Include(s => s.RefTxInfo).ToListAsync();
- samples.AddRange(res);
- var satInfos = await unitOfWork.Of<SatInfo>().GetAllAsync();
- sats.AddRange(satInfos);
- this.txtSample.UseDefault().SetData(samples, displayField: nameof(SampleInfo.SampleName)).UseDoubleClickToSelectAll();
- this.searchLookSat.UseDefault().SetData(sats, displayField: nameof(SatInfo.Sat)).UseDoubleClickToSelectAll();
- List<ImageComboBoxItem> items = new List<ImageComboBoxItem>();
- items.Add(new ImageComboBoxItem("15秒", "15"));
- items.Add(new ImageComboBoxItem("30秒", "30"));
- items.Add(new ImageComboBoxItem("60秒", "60"));
- this.txtCalccCycle.Properties.Items.AddRange(items);
- if (this.Text == "编辑参考任务频点" && info != null)
- {
- this.txtSample.EditValue = samples.FirstOrDefault(r => r.Id == info.SampleInfoID);
- this.searchLookSat.EditValue = sats.FirstOrDefault(r => r.Id == info.SatInfoId);
- this.txtCalccCycle.EditValue = $"{info.CalccCycle}";
- this.txtSnr.EditValue = info.Snr;
- this.txtDtoCenter.EditValue = Convert.ToInt64(info.DtoCenter * 1e6);
- this.txtDtoRange.EditValue = info.DtoRange;
- this.txtSampleLen.EditValue = info.SampleLen;
- this.txtEnable.Checked = info.Enable;
- }
- infos = new List<RefTaskFreq>();
- var refFreqs = await unitOfWork.Of<RefTaskFreq>().GetAllAsync();
- infos.AddRange(refFreqs);
- }
- private void btnCancel_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
- private void btnOk_Click(object sender, EventArgs e)
- {
- try
- {
- dxErrorProvider.ClearErrors();
- if (txtSample.EditValue == null)
- {
- dxErrorProvider.SetError(txtSample, "请选择样本");
- return;
- }
- if (searchLookSat.EditValue == null)
- {
- dxErrorProvider.SetError(searchLookSat, "请选择卫星");
- return;
- }
- if (txtCalccCycle.EditValue == null || string.IsNullOrEmpty(txtCalccCycle.EditValue.ToString()))
- {
- dxErrorProvider.SetError(txtCalccCycle, "请选择计算周期");
- return;
- }
- if (!int.TryParse(txtSnr.Text, out int snr))
- {
- dxErrorProvider.SetError(txtSnr, "信噪比格式错误");
- return;
- }
- if (!long.TryParse(txtDtoCenter.Text, out long dtoCenter))
- {
- dxErrorProvider.SetError(txtDtoCenter, "时差中心格式错误");
- return;
- }
- if (!int.TryParse(txtDtoRange.Text, out int dtoRange))
- {
- dxErrorProvider.SetError(txtDtoRange, "时差范围格式错误");
- return;
- }
- if (!int.TryParse(txtSampleLen.Text, out int sampleLen))
- {
- dxErrorProvider.SetError(txtSampleLen, "样本长度格式错误");
- return;
- }
- var satInfo = (searchLookSat.EditValue as SatInfo);
- var sampleInfo = (txtSample.EditValue as SampleInfo);
- if (infos.Any(i => i.Id != info.Id && i.SampleInfoID == sampleInfo.Id && i.SatInfoId == satInfo.Id))
- {
- DxHelper.MsgBoxHelper.ShowError($"参考任务中样本[{sampleInfo.SampleName}]和卫星[{satInfo.Sat}]已经存在!");
- return;
- }
- info.SampleInfoID = sampleInfo.Id;
- info.SampleInfo = sampleInfo;
- info.SatInfoId = satInfo.Id;
- info.SatInfo = satInfo;
- info.CalccCycle = Convert.ToInt32(txtCalccCycle.EditValue);
- info.Snr = snr;
- info.DtoCenter = dtoCenter / 1000000f;
- info.DtoRange = dtoRange;
- info.SampleLen = sampleLen;
- info.Enable = txtEnable.Checked;
- this.DialogResult = DialogResult.OK;
- }
- catch (Exception ex)
- {
- IocContainer.Logger.Error(ex,"编辑参考任务频点信息出错");
- DxHelper.MsgBoxHelper.ShowError("编辑参考任务频点信息出错");
- }
- }
- }
- }
|