using HStation.Dto;
using HStation.WinFrmUI.Xhs.Project;
using ISupply.WinFrmUI;
namespace HStation.WinFrmUI
{
public partial class XhsProjectListPage : DocumentPage
{
public XhsProjectListPage()
{
InitializeComponent();
this.PageTitle.Caption = "项目管理";
this.gridView1.SetNormalView();
this.gridView1.RegistCustomDrawRowIndicator();
}
///
/// 初始化数据
///
public override void InitialDataSource()
{
SetBindingData();
}
private new BLL.XhsProject _bll = new BLL.XhsProject();
private List _allBindingList = new List();
private async void SetBindingData()
{
var alllist = await _bll.GetAll();
if (alllist != null)
{
foreach (var item in alllist)
{
_allBindingList.Add(new ProjectViewModel(item));
}
}
this.projectViewModelBindingSource.DataSource = _allBindingList;
this.projectViewModelBindingSource.ResetBindings(false);
}
//添加
private async void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var dlg = new AddProjectDlg();
dlg.ReloadEvent += async (rhs) =>
{
var id = await _bll.Insert(rhs);
if (id > 0)
{
var vmmodel = await _bll.GetByID(id);
_allBindingList.Add(new ProjectViewModel(vmmodel));
this.projectViewModelBindingSource.ResetBindings(false);
return true;
}
return false;
};
dlg.ShowDialog();
}
//修改
private async void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
if (vm == null)
{
MessageBoxHelper.ShowError("请选择数据行!");
return;
}
var dlg = new EditProjectDlg();
dlg.SetBindingData(vm);
dlg.ReloadEvent += async (rhs) =>
{
if (await _bll.Update(rhs))
{
return true;
}
return false;
};
dlg.ShowDialog();
}
//删除
private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
if (vm == null)
{
MessageBoxHelper.ShowError("请选择数据行!");
return;
}
if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示", MessageBoxButtons.OKCancel))
return;
var result = await _bll.DeleteByID(vm.ID);
if (!result)
{
MessageBoxHelper.ShowError($"删除失败!", "警告");
return;
}
MessageBoxHelper.ShowSuccess($"删除成功!");
_allBindingList.Remove(vm);
this.projectViewModelBindingSource.ResetBindings(false);
}
}
}