using DevExpress.XtraEditors.Controls;
|
|
namespace HStation.WinFrmUI.Assets
|
{
|
public partial class EditAssetsPackageMainDlg : DevExpress.XtraEditors.XtraForm
|
{
|
public EditAssetsPackageMainDlg()
|
{
|
InitializeComponent();
|
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
|
}
|
|
private Vmo.AssetsPackageMainVmo _EquipmentVmo = new();
|
|
public event Func<Vmo.AssetsPackageMainVmo, List<PumpAccountViewModel>, Task<bool>> ReloadDataEvent = null;
|
|
private List<PumpAccountViewModel> _allBindingList;
|
|
public async void SetBindingData(Vmo.AssetsPackageMainVmo KitMainVmo)
|
{
|
_EquipmentVmo = KitMainVmo;
|
var pumpAllList = await new BLL.AssetsPumpMain().GetAll();
|
this.repositoryItemTreeListLookUpEdit1.DataSource = pumpAllList;
|
var pumpList = await new BLL.AssetsPackagePumpMapping().GetByPackageID(_EquipmentVmo.ID);
|
_allBindingList = new List<PumpAccountViewModel>();
|
if (pumpList != null)
|
{
|
/* var nameCountGroups = pumpList
|
.GroupBy(item => item.PumpMainID)
|
.Select(group => new { Name = group.Key, Count = group.Count() });
|
*/
|
foreach (var group in pumpList)
|
{
|
_allBindingList.Add(new PumpAccountViewModel(group.PumpMainID));
|
}
|
}
|
this.pumpAccountViewModelBindingSource.DataSource = _allBindingList;
|
var bll = new Yw.BLL.SysCatalog();
|
var alllist = await bll.GetAll();
|
foreach (var item in alllist)
|
{
|
var imageItem = new ImageComboBoxItem(item.Name, item.ID);
|
textEditCatalog.Properties.Items.Add(imageItem);
|
}
|
this.textEditCatalog.EditValue = _EquipmentVmo.CatalogID;
|
this.textEditName.Text = _EquipmentVmo.Name;
|
this.textEditNo.Text = _EquipmentVmo.NO;
|
this.textEditUseCount.Text = _EquipmentVmo.PumpUseCount.ToString();
|
this.textEditDescription.Text = _EquipmentVmo.Description;
|
}
|
|
//删除
|
private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
|
{
|
if (_allBindingList == null || _allBindingList.Count < 1)
|
return;
|
var row = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (row == null)
|
return;
|
if (e.Column == this.ColDelete)
|
_allBindingList.Remove(row);
|
this.pumpAccountViewModelBindingSource.DataSource = _allBindingList;
|
this.pumpAccountViewModelBindingSource.ResetBindings(false);
|
}
|
|
//数据验证
|
private bool Valid()
|
{
|
this.dxErrorProvider1.ClearErrors();
|
if (string.IsNullOrEmpty(textEditName.Text.Trim()))
|
{
|
this.dxErrorProvider1.SetError(this.textEditName, "必填项");
|
return false;
|
}
|
if (string.IsNullOrEmpty(textEditUseCount.Text.Trim()))
|
{
|
this.dxErrorProvider1.SetError(this.textEditUseCount, "必填项");
|
return false;
|
}
|
if (_allBindingList != null)
|
{
|
int.TryParse(textEditUseCount.Text, out int UseCount);
|
if (UseCount > _allBindingList.Count)
|
{
|
TipFormHelper.ShowError("使用数量大于泵数量");
|
return false;
|
}
|
}
|
|
return true;
|
}
|
|
//完成
|
private async void BtnOk_ClickAsync(object sender, EventArgs e)
|
{
|
if (!(Valid()))
|
return;
|
_EquipmentVmo.Description = textEditDescription.Text.Trim();
|
_EquipmentVmo.Name = textEditName.Text.Trim();
|
_EquipmentVmo.NO = textEditNo.Text.Trim();
|
if (int.TryParse(this.textEditUseCount.Text, out int equipmentCount))
|
{
|
_EquipmentVmo.PumpUseCount = equipmentCount;
|
}
|
if (long.TryParse(textEditCatalog.EditValue?.ToString() ?? "", out long catalogID))
|
{
|
_EquipmentVmo.CatalogID = catalogID;
|
}
|
if (await this.ReloadDataEvent.Invoke(_EquipmentVmo, _allBindingList))
|
{
|
TipFormHelper.ShowSucceed("编辑成功!");
|
}
|
else
|
{
|
TipFormHelper.ShowError("编辑失败!");
|
}
|
this.DialogResult = DialogResult.OK;
|
this.Close();
|
}
|
}
|
}
|