namespace HStation.WinFrmUI.Xhs.Core
{
public partial class XhsProjectMainPanel : DocumentPage
{
public XhsProjectMainPanel()
{
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 XhsProjectViewModel _prjviewmodel = new XhsProjectViewModel();
///
/// 初始化数据
///
private async void SetBindingData()
{
_allBindingList.Clear();
var alllist = await _bll.GetAll();
if (alllist != null)
{
foreach (var item in alllist)
{
var model = new XhsProjectViewModel(item);
_allBindingList.Add(await _prjviewmodel.SetUploadStatusAsync(model));
}
this.projectViewModelBindingSource.DataSource = _allBindingList;
this.projectViewModelBindingSource.ResetBindings(false);
}
}
//添加
private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var dlg = new AddXhsProjectDlg();
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(await new XhsProjectViewModel().SetUploadStatusAsync(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 EditXhsProjectDlg();
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 BtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
this.SetBindingData();
}
//历史模型
private void BtnModelEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
if (vm == null)
{
MessageBoxHelper.ShowWarning("请选择数据行!");
return;
}
var dlg = new XhsModelEdit();
dlg.SetBiningData(vm.ID);
dlg.ShowDialog();
}
//模型编辑
private void BtnEditModel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
if (vm == null)
{
MessageBoxHelper.ShowWarning("请选择数据行!");
return;
}
var dlg = new SetModelEditDlg();
dlg.SetBindingData(vm.ID);
dlg.ReloadDataEvent += async (rhs) =>
{
var bll = new BLL.XhsProjectItemModel();
if (await bll.Update(rhs))
{
return true;
}
return false;
};
dlg.ShowDialog();
}
private async void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
{
if (_allBindingList == null || _allBindingList.Count < 1)
return;
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
if (vm == null)
return;
if (e.Column == this.colModelManage)
{
var guid = new SurfaceGuid()
{
Function = "模型管理",
Modular = eModular.Basic
};
if (!IsExistPage(guid, true))
{
var bll = new BLL.XhsProjectItemModel();
var result = await bll.GetByPrjID(vm.ID);
var select = result.Where(x => x.UseStatus == 1).FirstOrDefault();
if (select != null)
{
/* var page = new PumpCurveCtrl(select);
page.PageTitle.Caption = guid.Function;
page.SurfaceGuid = guid;
CreatePage(page, guid);*/
}
}
}
}
}
}