using DevExpress.Xpo; using DevExpress.Xpo.DB.Exceptions; using Ips.Library.Basic; using Ips.Library.DxpLib; using Ips.Library.Entity; namespace Ips.Sps.Sats { public partial class SatEditForm : DevExpress.XtraEditors.XtraForm { public SatEditForm() { InitializeComponent(); this.SatTypeImageComboBoxEdit.Properties.Items.AddEnum(); } public SatEditForm(int? id) : this() { this.Id = id; } public int? Id { get; private set; } protected UnitOfWork UnitOfWork { get; private set; } public Sat EditModel { get => (Sat)bsSat.DataSource; } private void SatEditForm_Load(object sender, EventArgs e) { UnitOfWork = new UnitOfWork(); if (Id.HasValue) bsSat.DataSource = UnitOfWork.GetObjectByKey(Id.Value); else bsSat.DataSource = new Sat(UnitOfWork); } private void btnSave_Click(object sender, EventArgs e) { try { UnitOfWork.CommitChanges(); Id = ((Sat)(bsSat.DataSource)).Oid; this.DialogResult = DialogResult.OK; Close(); } catch (LockingException) { MsgHelper.ShowError("对象已被修改,请关闭后重新打开进行编辑!"); } } private void btnCancel_Click(object sender, EventArgs e) { Close(); } } }