using Yw.WinFrmUI;
|
|
namespace PBS.WinFrmUI.WE
|
{
|
public partial class WaterUtensilMainPage : DocumentPage
|
{
|
public WaterUtensilMainPage()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "用水器具";
|
this.gridView1.SetNormalView();
|
this.gridView1.RegistCustomDrawRowIndicator();
|
this.utensilGroupCtrl1.ReloadEvent += GroupTreeListCtrl1_ReloadEvent;
|
}
|
|
private PBS.BLL.WE.Utensil _bll = new PBS.BLL.WE.Utensil();
|
private List<WaterUtensilViewModel> _allBindingList = null;
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public override void InitialDataSource()
|
{
|
_allBindingList = new List<WaterUtensilViewModel>();
|
this.waterUtensilViewModelBindingSource.DataSource = _allBindingList;
|
this.utensilGroupCtrl1.SetBindingData();
|
}
|
|
private async void GroupTreeListCtrl1_ReloadEvent(long groupId)
|
{
|
var alllist = await _bll.GetByGroupID(groupId);
|
_allBindingList.Clear();
|
if (alllist != null)
|
{
|
foreach (var item in alllist)
|
{
|
_allBindingList.Add(new WaterUtensilViewModel(item));
|
}
|
}
|
this.waterUtensilViewModelBindingSource.ResetBindings(false);
|
}
|
|
/// <summary>
|
///绑定数据
|
/// </summary>
|
public async void SetBindingData()
|
{
|
_allBindingList.Clear();
|
var list = await _bll.GetAll();
|
if (list != null && list.Count > 0)
|
{
|
foreach (var item in list)
|
{
|
var vm = new WaterUtensilViewModel(item);
|
_allBindingList.Add(vm);
|
}
|
}
|
this.waterUtensilViewModelBindingSource.DataSource = _allBindingList;
|
//this.gridView1.BestFitColumns();
|
}
|
|
#region 事件
|
|
/// <summary>
|
/// 添加
|
/// </summary>
|
private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
if (_allBindingList == null)
|
return;
|
var dlg = new AddWaterUtensilDlg();
|
var groupId = this.utensilGroupCtrl1.GetCurrentGroupID();
|
if (groupId == 0)
|
{
|
MessageBoxHelper.ShowWarning("请先选择系列!");
|
return;
|
}
|
dlg.SetBindingData(groupId);
|
dlg.VerifyTagNameExistEvent += async (tagname) =>
|
{
|
return await _bll.IsExistTagName(tagname);
|
};
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
rhs.SortCode = _allBindingList.Count == 0 ? 1 : _allBindingList.Max(x => x.SortCode) + 1;
|
rhs.ID = await _bll.Insert(rhs);
|
if (rhs.ID > 0)
|
{
|
var vm = new WaterUtensilViewModel(rhs);
|
_allBindingList.Add(vm);
|
this.waterUtensilViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
/// <summary>
|
/// 编辑
|
/// </summary>
|
private async void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
var dlg = new EditWaterUtensilDlg();
|
var model = await _bll.GetByID(vm.ID);
|
if (model == null)
|
return;
|
dlg.SetBindingData(model);
|
dlg.VerifyTagNameExistEvent += async (tagname, id) =>
|
{
|
return await _bll.IsExistTagNameExceptID(tagname, id);
|
};
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
var bol = await _bll.Update(rhs);
|
if (bol)
|
{
|
vm.Reset(rhs);
|
this.gridView1.RefreshRow(this.gridView1.FocusedRowHandle);
|
}
|
return bol;
|
};
|
dlg.ShowDialog();
|
}
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
return;
|
if (MessageBoxHelper.IsClickOk($"确认删除数据行?"))
|
return;
|
var result = await _bll.DeleteByID(vm.ID);
|
if (result)
|
{
|
_allBindingList.Remove(vm);
|
this.gridControl1.RefreshDataSource();
|
TipFormHelper.ShowSucceed("删除成功!");
|
}
|
else
|
{
|
TipFormHelper.ShowError("删除失败!");
|
return;
|
}
|
this.waterUtensilViewModelBindingSource.ResetBindings(false);
|
}
|
|
/// <summary>
|
/// 详情
|
/// </summary>
|
private void barBtnDetail_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
MessageBoxHelper.ShowInfo("待补充");
|
}
|
|
/// <summary>
|
/// 检索
|
/// </summary>
|
private void barCekSearch_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
if (this.gridView1.IsFindPanelVisible)
|
this.gridView1.HideFindPanel();
|
else
|
this.gridView1.ShowFindPanel();
|
}
|
|
/// <summary>
|
/// 刷新数据
|
/// </summary>
|
private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
SetBindingData();
|
}
|
|
#endregion 事件
|
}
|
}
|