AdcEditForm.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using DevExpress.Xpo.DB.Exceptions;
  2. using DevExpress.Xpo;
  3. using DevExpress.XtraEditors;
  4. using Ips.Library.Basic;
  5. using Ips.Library.DxpLib;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel;
  9. using System.Data;
  10. using System.Drawing;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. using System.Windows.Forms;
  15. namespace Ips.Sps.Adcs
  16. {
  17. public partial class AdcEditForm : DevExpress.XtraEditors.XtraForm
  18. {
  19. public AdcEditForm()
  20. {
  21. InitializeComponent();
  22. }
  23. public AdcEditForm(int? id) : this()
  24. {
  25. this.Id = id;
  26. }
  27. public int? Id { get; private set; }
  28. protected UnitOfWork UnitOfWork { get; private set; }
  29. public AdCard EditModel { get => (AdCard)bsAdc.DataSource; }
  30. private void AdcEditForm_Load(object sender, EventArgs e)
  31. {
  32. UnitOfWork = new UnitOfWork();
  33. if (Id.HasValue)
  34. bsAdc.DataSource = UnitOfWork.GetObjectByKey<AdCard>(Id.Value);
  35. else
  36. bsAdc.DataSource = new AdCard(UnitOfWork);
  37. }
  38. private void btnSave_Click(object sender, EventArgs e)
  39. {
  40. try
  41. {
  42. if (EditModel.IsDefault)
  43. {
  44. var defaultCards = UnitOfWork.Query<AdCard>().Where(m => m.IsDefault).ToList();
  45. foreach (var item in defaultCards)
  46. {
  47. item.IsDefault = false;
  48. }
  49. }
  50. UnitOfWork.CommitChanges();
  51. Id = ((AdCard)(bsAdc.DataSource)).Oid;
  52. this.DialogResult = DialogResult.OK;
  53. Close();
  54. }
  55. catch (LockingException)
  56. {
  57. MsgHelper.ShowError("对象已被修改,请关闭后重新打开进行编辑!");
  58. }
  59. }
  60. private void btnCancel_Click(object sender, EventArgs e)
  61. {
  62. Close();
  63. }
  64. private void StorePathButtonEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  65. {
  66. string storeFolder = ToolDialog.OpenFolder("选择文件存储路径");
  67. if (storeFolder.IsNullOrWhitespace()) return;
  68. StorePathButtonEdit.EditValue = storeFolder;
  69. }
  70. private void lcgAdChannels_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e)
  71. {
  72. string caption = e.Button.Properties.Caption;
  73. switch (caption)
  74. {
  75. case "添加":
  76. gvChannelList.AddNewRow();
  77. break;
  78. case "删除":
  79. gvChannelList.DeleteSelectedRows();
  80. break;
  81. }
  82. }
  83. }
  84. }