namespace HStation.WinFrmUI.Basic
|
{
|
public partial class SysCatalogManageMainPanel : DocumentPage
|
{
|
public SysCatalogManageMainPanel()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "分类管理";
|
this.treeList1.ExpandAll();
|
this.treeList1.InitialMultiColSettings();
|
this.PageTitle.HeaderSvgImage = this.svgImage32[0];
|
this.PageTitle.SvgImageSize = new Size(24, 24);
|
this.typeTreeListCtrl2.FocusedChangedEvent += TypeTreeListCtrl2_FocusedChangedEvent;
|
}
|
|
private List<SysCatalogViewModel> _allBindingList = null;
|
|
private Yw.BLL.SysCatalog _bll = null;
|
|
public override void InitialDataSource()
|
{
|
this.typeTreeListCtrl2.SetBindingData();
|
_bll = new Yw.BLL.SysCatalog();
|
}
|
|
//聚焦切换
|
private async void TypeTreeListCtrl2_FocusedChangedEvent(long typeID)
|
{
|
_allBindingList = new List<SysCatalogViewModel>();
|
var alllist = await _bll.GetByTypeID(typeID);
|
_allBindingList.Clear();
|
foreach (var item in alllist)
|
{
|
_allBindingList.Add(new SysCatalogViewModel(item));
|
}
|
_allBindingList = _allBindingList.OrderBy(x => x.SortCode).ToList();
|
this.catalogViewModelBindingSource.DataSource = _allBindingList;
|
this.catalogViewModelBindingSource.ResetBindings(false);
|
}
|
|
//添加
|
private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new AddSysCatalogDlg();
|
var typeID = this.typeTreeListCtrl2.GetCurrentID();
|
if (typeID == 0)
|
return;
|
dlg.SetBindingData(typeID);
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
var id = await _bll.Insert(rhs);
|
if (id > 0)
|
{
|
var model = await _bll.GetByID(id);
|
_allBindingList.Add(new SysCatalogViewModel(model));
|
this.catalogViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//添加子项
|
private void BtnAddChild_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new AddSysCatalogDlg();
|
var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
var typeID = this.typeTreeListCtrl2.GetCurrentID();
|
dlg.SetBindingData(typeID, vm.ID);
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
var id = await _bll.Insert(rhs);
|
if (id > 0)
|
{
|
var model = await _bll.GetByID(id);
|
_allBindingList.Add(new SysCatalogViewModel(model));
|
this.catalogViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//编辑
|
private void barBtnEditPumpCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new EditSysCatalogDlg();
|
var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
dlg.SetBindingData(vm.ID);
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
if (await _bll.Update(rhs))
|
{
|
vm.Reset(rhs);
|
this.catalogViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//删除
|
private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList);
|
if (currentVm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示"))
|
return;
|
try
|
{
|
var result = await _bll.DeleteByID(currentVm.ID);
|
if (result)
|
{
|
_allBindingList.Remove(currentVm);
|
this.catalogViewModelBindingSource.ResetBindings(false);
|
MessageBoxHelper.ShowSuccess($"删除成功!");
|
}
|
else
|
{
|
MessageBoxHelper.ShowError($"删除失败!");
|
return;
|
}
|
}
|
catch (Yw.Dto.InternalException ex)
|
{
|
MessageBoxHelper.ShowError(ex.ErrorMsg);
|
}
|
}
|
|
//相应属性编辑
|
private async void BtnPropEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList);
|
if (currentVm != null)
|
{
|
var dlg = new SetSysPropForCatalogDlg();
|
dlg.SetBindingData(currentVm.ID);
|
dlg.ShowDialog();
|
}
|
else
|
{
|
MessageBoxHelper.ShowWarning("选择数据行!");
|
return;
|
}
|
}
|
}
|
}
|