using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraSpreadsheet.Model.History; using System; using System.Collections.Generic; using System.Linq; using Yw.WinFrmUI; namespace HStation.WinFrmUI.WE { public partial class EditWaterWEDlg : DevExpress.XtraEditors.XtraForm { public EditWaterWEDlg() { InitializeComponent(); //this.IconOptions.Icon = WinFrmUI.Properties.Resources.App; // this.dataLayoutControl1.SetupLayoutControl(); } /// /// 回调事件 /// public event Func, Task> ReloadDataEvent; private BLL.WE.Item _Bll = new BLL.WE.Item(); /// /// 验证识别码是否存在事件 /// // public event Func VerifyTagNameExistEvent; private List _allBindingList; private Vmo.WE.ItemVmo _model = null; private List AllUtensilList = null; private Vmo.WE.CatalogueMappingVmo _CatalogueMappingVmo; /// /// 绑定 /// public async void SetBindingData(Vmo.WE.ItemVmo item, long CatalogueID) { _allBindingList = new List(); var utensilList = await new BLL.WE.Utensil().GetAll(); this.repositoryItemTreeListLookUpEdit1.DataSource = utensilList; if (item == null) { _CatalogueMappingVmo = new Vmo.WE.CatalogueMappingVmo(); _CatalogueMappingVmo.CatalogueID = CatalogueID; } else { _model = item; var allUtensilList = await new BLL.WE.UtensilMapping().GetByItemID(item.ID); if (allUtensilList != null) { foreach (var utensil in allUtensilList) { var model = new ItemViewModel(); model.UtensilID = utensil.UtensilID; model.UtensilCount = utensil.UtensilCount; model.RatedFlow = utensil.RatedFlow; model.MinRatedFlow = utensil.MinRatedFlow; _allBindingList.Add(model); } } this.textEditName.Text = item.Name; } this.itemViewModelBindingSource.DataSource = _allBindingList; } //验证 private bool Valid() { this.dxErrorProvider1.ClearErrors(); if (string.IsNullOrEmpty(this.textEditName.Text.Trim())) { this.dxErrorProvider1.SetError(this.textEditName, "必填项"); return false; } return true; } //确定 private async void btnOk_Click(object sender, EventArgs e) { if (!Valid()) return; if (_model == null) { _model = new Vmo.WE.ItemVmo(); _model.Name = this.textEditName.Text.Trim(); } else { _model.Name = this.textEditName.Text.Trim(); } var mappingList = new List(); foreach (var item in _allBindingList) { var model = new Vmo.WE.UtensilMappingVmo(); model.UtensilID = item.UtensilID; model.UtensilCount = item.UtensilCount; model.RatedFlow = item.RatedFlow; model.MinRatedFlow = item.MinRatedFlow; mappingList.Add(model); } if (this.ReloadDataEvent == null) return; if (!await this.ReloadDataEvent(_model, _CatalogueMappingVmo, mappingList)) { MessageBoxHelper.ShowError("修改失败!"); return; } MessageBoxHelper.ShowSuccess("修改成功!"); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } //删除 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.itemViewModelBindingSource.ResetBindings(false); } } }