SatEditForm.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using DevExpress.Xpo;
  2. using DevExpress.Xpo.DB.Exceptions;
  3. using Ips.Library.Basic;
  4. using Ips.Library.DxpLib;
  5. using Ips.Library.Entity;
  6. namespace Ips.Sps.Sats
  7. {
  8. public partial class SatEditForm : DevExpress.XtraEditors.XtraForm
  9. {
  10. public SatEditForm()
  11. {
  12. InitializeComponent();
  13. this.SatTypeImageComboBoxEdit.Properties.Items.AddEnum<SatType>();
  14. }
  15. public SatEditForm(int? id) : this()
  16. {
  17. this.Id = id;
  18. }
  19. public int? Id { get; private set; }
  20. protected UnitOfWork UnitOfWork { get; private set; }
  21. public Sat EditModel { get => (Sat)bsSat.DataSource; }
  22. private void SatEditForm_Load(object sender, EventArgs e)
  23. {
  24. UnitOfWork = new UnitOfWork();
  25. if (Id.HasValue)
  26. bsSat.DataSource = UnitOfWork.GetObjectByKey<Sat>(Id.Value);
  27. else
  28. bsSat.DataSource = new Sat(UnitOfWork);
  29. }
  30. private void btnSave_Click(object sender, EventArgs e)
  31. {
  32. try
  33. {
  34. UnitOfWork.CommitChanges();
  35. Id = ((Sat)(bsSat.DataSource)).Oid;
  36. this.DialogResult = DialogResult.OK;
  37. Close();
  38. }
  39. catch (LockingException)
  40. {
  41. MsgHelper.ShowError("对象已被修改,请关闭后重新打开进行编辑!");
  42. }
  43. }
  44. private void btnCancel_Click(object sender, EventArgs e)
  45. {
  46. Close();
  47. }
  48. }
  49. }