namespace HStation.WinFrmUI.Xhs.Core
|
{
|
public partial class XhsProjectMainPanel : DocumentPage
|
{
|
public XhsProjectMainPanel()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "项目管理";
|
this.gridView1.SetNormalView();
|
this.gridView1.RegistCustomDrawRowIndicator();
|
}
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public override void InitialDataSource()
|
{
|
SetBindingData();
|
}
|
|
private new BLL.XhsProject _bll = new BLL.XhsProject();
|
|
private List<XhsProjectViewModel> _allBindingList = new List<XhsProjectViewModel>();
|
|
private XhsProjectViewModel _prjviewmodel = new XhsProjectViewModel();
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
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);*/
|
}
|
}
|
}
|
}
|
}
|
}
|