using DW5S.Entity; using DW5S.Repostory; using DW5S.ViewModel; using ExtensionsDev; using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using XdCxRhDW5S.ViewModel; namespace DW5S.App.EditForms { public partial class SatEditor : DevExpress.XtraEditors.XtraForm { public SatViewModel info; private List infos; public SatEditor() { InitializeComponent(); this.layoutControl1.UseDefault(); this.Text = "添加卫星"; info = new SatViewModel(); this.StartPosition = FormStartPosition.CenterParent; } public SatEditor(SatViewModel info) : this() { this.Text = "编辑卫星"; this.info = info; } private async void SatEditor_Load(object sender, EventArgs e) { var unitOfWork = IocContainer.UnitOfWork; var repsXl = unitOfWork.Of() as XlRepository; var listXl = await repsXl.GetAllSat(); this.searchLookUpEdit1.UseDefault().SetData(listXl.To>(), nameof(XlViewModel.Sat)).UseDoubleClickToSelectAll(); if (this.Text == "编辑卫星" && info != null) { this.txtSatName.Text = info.SatName; this.txtSatLon.Text = info.SatLon?.ToString(); this.txtSatTrans.Text = info.SatTrans?.ToString(); this.searchLookUpEdit1.EditValue = info.Sat; } infos = new List(); var res = await unitOfWork.Of().GetAllAsync(); infos.AddRange(res.To>()); } private void btnCancel_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; } private void btnOk_Click(object sender, EventArgs e) { try { var sat = searchLookUpEdit1.Text; var idx = sat.LastIndexOf('('); var satCodeStr = sat.Substring(idx + 1, sat.Length - idx - 2); int satCode = Convert.ToInt32(satCodeStr); if (infos.Any(i => i.Id != info.Id && i.SatCode == satCode)) { DxHelper.MsgBoxHelper.ShowError($"卫星[{satCode}]已经存在!"); return; } info.SatCode = satCode; info.SatName = txtSatName.Text.Trim(); info.UpdateTime = DateTime.Now; if (!string.IsNullOrWhiteSpace(txtSatTrans.Text)) info.SatTrans = Math.Round(Convert.ToDouble(txtSatTrans.Text), 3); if (!string.IsNullOrWhiteSpace(txtSatLon.Text)) info.SatLon = Math.Round(Convert.ToDouble(txtSatLon.Text), 1); this.DialogResult = DialogResult.OK; } catch (Exception ex) { string msg = "编辑卫星信息出错"; IocContainer.Logger.Error(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); } } } }