12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using DW5S.Entity;
- using DW5S.Repostory;
- using DW5S.ViewModel;
- using ExtensionsDev;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using XdCxRhDW5S.ViewModel;
- namespace DW5S.App.EditForms
- {
- public partial class SatEditor : DevExpress.XtraEditors.XtraForm
- {
- public SatViewModel info;
- 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 void SatEditor_Load(object sender, EventArgs e)
- {
- this.searchLookUpEdit1.UseDefault().SetData(GetAllSat, nameof(SatViewModel.Sat)).UseDoubleClickToSelectAll();
- if (this.info.Id > 0)
- {
- this.txtSatName.Text = info.SatName;
- this.txtSatLon.Text = info.SatLon?.ToString();
- this.searchLookUpEdit1.SetEditValue<SatViewModel>(p => p.SatCode == info.SatCode);
- }
- }
- private async Task<IEnumerable<SatViewModel>> GetAllSat()
- {
- var unitOfWork = IocContainer.UnitOfWork;
- var repsXl = unitOfWork.Of<XlInfo>() as XlRepository;
- var list = await repsXl.GetAllSat();
- return list.To<List<SatViewModel>>();
- }
- private void btnCancel_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- }
- private async void btnOk_Click(object sender, EventArgs e)
- {
- try
- {
- var selectedSat = searchLookUpEdit1.EditValue as SatViewModel;
- var unitOfWork = IocContainer.UnitOfWork;
- var repsSat = await unitOfWork.Of<SatInfo>().FindAsync(p => p.EnumSatType == EnumSatType.NormalSat);
- bool existed = repsSat.Any(p => p.Id != info.Id && p.SatCode == selectedSat.SatCode);
- if (existed)
- {
- DxHelper.MsgBoxHelper.ShowError($"卫星{selectedSat.Sat}已经存在!");
- return;
- }
- info.SatCode = selectedSat.SatCode;
- info.SatName = txtSatName.Text.Trim();
- info.UpdateTime = DateTime.Now;
- info.EnumSatType = EnumSatType.NormalSat;
- 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);
- }
- }
- }
- }
|