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);
}
}
}