CtrlSat.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using DW5S.App.EditForms;
  2. using DW5S.Entity;
  3. using DW5S.Repostory;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using XdCxRhDW5S.ViewModel;
  11. namespace DW5S.App.UserControl
  12. {
  13. public partial class CtrlSat : DevExpress.XtraEditors.XtraUserControl
  14. {
  15. readonly List<SatViewModel> list = new List<SatViewModel>();
  16. public CtrlSat()
  17. {
  18. InitializeComponent();
  19. }
  20. private async void CtrlSat_Load(object sender, EventArgs e)
  21. {
  22. try
  23. {
  24. gridSat.UseDefault(list).UseMultiSelect().UseRowNumber()
  25. .UseAddAsync(Add)
  26. .UseEditAsync<SatViewModel>(Edit)
  27. .UseDeleteAsync<SatViewModel>(Delete);
  28. var unitOfWork = IocContainer.UnitOfWork;
  29. var repsSat = unitOfWork.Of<SatInfo>();
  30. var items = await repsSat.GetAllAsync(p => p.SatName);
  31. list.AddRange(items.To<List<SatViewModel>>());
  32. }
  33. catch (Exception ex)
  34. {
  35. string msg = "查询卫星信息异常";
  36. IocContainer.Logger.Error(ex, msg);
  37. DxHelper.MsgBoxHelper.ShowError(msg);
  38. }
  39. }
  40. private async Task<SatViewModel> Add()
  41. {
  42. try
  43. {
  44. SatEditor frm = new SatEditor();
  45. if (frm.ShowDialog() != DialogResult.OK) return null;
  46. var addItem = frm.info;
  47. var unitOfWork = IocContainer.UnitOfWork;
  48. var repsSat = unitOfWork.Of<SatInfo>();
  49. var satInfo = await repsSat.AddOrUpdateAsync(addItem.To<SatInfo>());
  50. await unitOfWork.SaveAsync();
  51. addItem.Id = satInfo.Id;
  52. return addItem;
  53. }
  54. catch (Exception ex)
  55. {
  56. IocContainer.Logger.Error(ex, "添加卫星信息异常");
  57. DxHelper.MsgBoxHelper.ShowError("添加卫星信息异常");
  58. return null;
  59. }
  60. }
  61. private async Task<SatViewModel> Edit(SatViewModel editItem)
  62. {
  63. try
  64. {
  65. SatEditor frm = new SatEditor(editItem);
  66. if (frm.ShowDialog() != DialogResult.OK) return null;
  67. editItem = frm.info;
  68. var unitOfWork = IocContainer.UnitOfWork;
  69. var repsSat = unitOfWork.Of<SatInfo>();
  70. await repsSat.AddOrUpdateAsync(editItem.To<SatInfo>());
  71. await unitOfWork.SaveAsync();
  72. return editItem;
  73. }
  74. catch (Exception ex)
  75. {
  76. IocContainer.Logger.Error(ex, "保存卫星信息异常");
  77. DxHelper.MsgBoxHelper.ShowError("保存卫星信息异常");
  78. return null;
  79. }
  80. }
  81. private async Task<bool> Delete(List<SatViewModel> list)
  82. {
  83. try
  84. {
  85. var ids = list.Select(p => p.Id);
  86. var unitOfWork = IocContainer.UnitOfWork;
  87. var repsSat = unitOfWork.Of<SatInfo>();
  88. await repsSat.DeleteAsync(list.To<List<SatInfo>>());
  89. await unitOfWork.SaveAsync();
  90. return true;
  91. }
  92. catch (Exception ex)
  93. {
  94. IocContainer.Logger.Error("删除卫星信息异常", ex);
  95. DxHelper.MsgBoxHelper.ShowError("删除卫星信息异常");
  96. return false;
  97. }
  98. }
  99. private async void gridView1_DoubleClick(object sender, EventArgs e)
  100. {
  101. var editItem = gridView1.GetFocusedRow() as SatViewModel;
  102. if (editItem == null) return;
  103. await Edit(editItem);
  104. }
  105. }
  106. }