namespace HStation.WinFrmUI.Assets
|
{
|
public partial class PackageManageMainPage : DocumentPage
|
{
|
public PackageManageMainPage()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "成套设备";
|
this.gridView1.SetNormalView();
|
this.gridView1.RegistCustomDrawRowIndicator();
|
this.gridView2.SetNormalView();
|
this.gridView2.RegistCustomDrawRowIndicator();
|
this.gridView2.OptionsBehavior.Editable = true;
|
this.gridView2.OptionsBehavior.ReadOnly = false;
|
this.PageTitle.HeaderSvgImage = this.svgImageCollection1[0];
|
this.PageTitle.SvgImageSize = new Size(24, 24);
|
this.EquipmentTreeListCtrl1.ReloadEvent += EquipmentTreeListCtrl1_ReloadEvent;
|
}
|
|
private BLL.AssetsPackageMain _bll = null;
|
|
private List<PackageViewModel> _allBindingList = new();
|
private List<EquipmentViewModel> _allEquipmentList = new();
|
private BLL.AssetsPackagePumpMapping _mappingBll = new();
|
|
private string _manufacturerName;
|
|
//初始化数据
|
public override void InitialDataSource()
|
{
|
_bll = new BLL.AssetsPackageMain();
|
this.EquipmentTreeListCtrl1.SetBindingData();
|
this.kitViewModelBindingSource.DataSource = _allBindingList;
|
this.kitViewModelBindingSource.ResetBindings(false);
|
this.equipmentViewModelBindingSource1.DataSource = _allEquipmentList;
|
}
|
|
private async void EquipmentTreeListCtrl1_ReloadEvent(long SeriesID)
|
{
|
Vmo.AssetsManufacturerVmo manufacturer = new();
|
var alllist = await _bll.GetBySeriesID(SeriesID);
|
var mapping = await new BLL.AssetsPackageSeriesManufacturerMapping().GetBySeriesID(SeriesID);
|
if (mapping != null)
|
{
|
manufacturer = await new BLL.AssetsManufacturer().GetByID(mapping.ManufacturerID);
|
}
|
_allBindingList.Clear();
|
if (alllist != null)
|
{
|
foreach (var item in alllist)
|
{
|
_allBindingList.Add(new PackageViewModel(item, manufacturer.Name));
|
}
|
}
|
_manufacturerName=manufacturer.Name;
|
this.kitViewModelBindingSource.ResetBindings(false);
|
}
|
|
//添加
|
private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new AddAssetsPackageMainDlg();
|
var series = this.EquipmentTreeListCtrl1.GetCurrentSeries();
|
if (series == null)
|
{
|
MessageBoxHelper.ShowWarning("请先选择系列!");
|
return;
|
}
|
dlg.SetBindingData(series.ID);
|
dlg.ReloadDataEvent += async (rhs, allMappingList) =>
|
{
|
var id = await _bll.Insert(rhs);
|
if (id > 0)
|
{
|
rhs.ID = id;
|
_allBindingList.Add(new PackageViewModel(await _bll.GetByID(id), _manufacturerName));
|
foreach (var item in allMappingList)
|
{
|
var model = new Vmo.AssetsPackagePumpMappingVmo();
|
model.PumpMainID = item.PumpID;
|
model.EquipmentMainID = id;
|
for (int i = 0; i < item.UserCount; i++)
|
{
|
await _mappingBll.Insert(model);
|
}
|
}
|
for (int i = 0; i < _allBindingList.Count; i++)
|
{
|
if (_allBindingList[i].ID == id)
|
{
|
this.gridView1.FocusedRowHandle = i;
|
}
|
}
|
this.kitViewModelBindingSource.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.ShowWarning("请选择数据行!");
|
return;
|
}
|
var dlg = new EditAssetsPackageMainDlg();
|
var Equipment = await _bll.GetByID(vm.ID);
|
if (Equipment == null)
|
return;
|
dlg.SetBindingData(Equipment);
|
dlg.ReloadDataEvent += async (rhs, allMappingList) =>
|
{
|
if (await _bll.Update(rhs))
|
{
|
vm.Reset(rhs);
|
this.kitViewModelBindingSource.ResetBindings(false);
|
await _mappingBll.DeleteByKitID(vm.ID);
|
foreach (var item in allMappingList)
|
{
|
var model = new Vmo.AssetsPackagePumpMappingVmo();
|
model.PumpMainID = item.PumpID;
|
model.EquipmentMainID = vm.ID;
|
for (int i = 0; i < item.UserCount; i++)
|
{
|
await _mappingBll.Insert(model);
|
}
|
}
|
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//删除
|
private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (currentVm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示"))
|
return;
|
var result = await _bll.DeleteByID(currentVm.ID);
|
if (result)
|
{
|
_allBindingList.Remove(currentVm);
|
await _mappingBll.DeleteByKitID(currentVm.ID);
|
this.kitViewModelBindingSource.ResetBindings(false);
|
this.equipmentViewModelBindingSource1.ResetBindings(false);
|
TipFormHelper.ShowSucceed("删除成功!");
|
}
|
else
|
{
|
TipFormHelper.ShowSucceed("删除失败!");
|
return;
|
}
|
}
|
|
//编辑属性
|
private void BarBtnEidtProp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
}
|
|
//成套设备选择变换事件
|
private async void GridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
|
{
|
_allEquipmentList.Clear();
|
var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (currentVm != null)
|
{
|
var allList = await new BLL.AssetsPackagePumpMapping().GetByKitID(currentVm.ID);
|
if (allList != null)
|
{
|
foreach (var item in allList)
|
{
|
var pump = await new BLL.AssetsPumpMain().GetByID(item.PumpMainID);
|
_allEquipmentList.Add(new EquipmentViewModel(item, pump, currentVm.ID));
|
}
|
}
|
}
|
this.equipmentViewModelBindingSource1.ResetBindings(false);
|
}
|
|
private async void gridView2_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
{
|
var currentVm = this.gridView2.GetCurrentViewModel(_allEquipmentList);
|
if (currentVm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
var mapping = new Vmo.AssetsPackagePumpMappingVmo();
|
mapping.ID = currentVm.ID;
|
mapping.PumpMainID = currentVm.PumpID;
|
mapping.PumpOtherName = currentVm.Name;
|
mapping.EquipmentMainID = currentVm.KitID;
|
await _mappingBll.Update(mapping);
|
}
|
}
|
}
|