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 (pro, item, model, map) => { var id = await _bll.InsertEx(pro, item, model, map); 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 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.ID); dlg.ReloadEvent += async (prj, item) => { if (await _bll.UpdateEx(prj, item)) { vm.Reset(prj); this.projectViewModelBindingSource.ResetBindings(false); 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.DeleteEx(vm.ID); if (!result) { MessageBoxHelper.ShowError($"删除失败!", "警告"); return; } MessageBoxHelper.ShowSuccess($"删除成功!"); _allBindingList.Remove(vm); this.projectViewModelBindingSource.ResetBindings(false); } //使用状态 private void BtnUpdateUseStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new SetUseStatusDlg(); dlg.SetBindingData(vm.UseStatus); dlg.ReloadDataEvent += async (useStatus) => { var result = await _bll.UpdateUseStatus(vm.ID, (int)useStatus); if (result) { vm.UseStatus = useStatus; vm.Reset(vm); this.projectViewModelBindingSource.ResetBindings(false); } return result; }; dlg.ShowDialog(); } //设置排序码 private void BtnUpdateSortCode_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new SetSortCodeDlg(); dlg.SetBindingData(vm.SortCode); dlg.ReloadDataEvent += async (sortCode) => { var result = await _bll.UpdateSortCode(vm.ID, sortCode); if (result) { vm.SortCode = sortCode; vm.Reset(vm); this.projectViewModelBindingSource.ResetBindings(false); } return result; }; dlg.ShowDialog(); } } }