using DevExpress.Utils.About;
|
using DevExpress.XtraEditors;
|
using Eventech.Common;
|
using IStation.Unit;
|
using IStation.Untity;
|
using IStation.WinFrmUI.Basic.basic;
|
using System;
|
using System.ComponentModel;
|
using System.Linq;
|
|
namespace IStation.WinFrmUI.Basic
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class MonitorPointGridMgrCtrl : XtraUserControl
|
{
|
public MonitorPointGridMgrCtrl()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView();
|
this.gridView1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
|
this.gridView1.OptionsView.AllowCellMerge = true;
|
this.gridView1.ActiveFilterEnabled = false;
|
this.layoutControl1.SetupLayoutControl();
|
}
|
|
public class CurrentViewModel : Model.MonitorPointExSignalExSignalType
|
{
|
public CurrentViewModel() { }
|
|
public CurrentViewModel(Model.MonitorPointExSignalExSignalType rhs, string belongName) : base(rhs)
|
{
|
if (int.TryParse(this.UnitValue, out int value))
|
{
|
var dict = UnitHelper.GetEnUnitDict(this.UnitType);
|
if (dict != null)
|
this.Unit = dict[value];
|
}
|
else
|
{
|
this.Unit = this.UnitValue;
|
|
}
|
|
this.BelongName = belongName;
|
this.FlagsList = FlagsHelper.ToString(rhs.Flags);
|
|
}
|
|
public string Unit { get; set; }
|
public string BelongName { get; set; }
|
public string FlagsList { get; set; }
|
}
|
|
/// <summary>
|
/// 聚焦改变事件
|
/// </summary>
|
public event Action<Model.MonitorPointExSignalExSignalType> FocusedChangedEvent;
|
|
private BindingList<CurrentViewModel> _allBindingList = null;//所有绑定列表
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void Clear()
|
{
|
_allBindingList = new BindingList<CurrentViewModel>();
|
this.currentViewModelBindingSource.DataSource = _allBindingList;
|
this.FocusedChangedEvent?.Invoke(null);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData()
|
{
|
WaitFrmHelper.ShowWaitForm("正在加载数据...");
|
_allBindingList = new BindingList<CurrentViewModel>();
|
|
var bll = new BLL.MonitorPoint();
|
var stations = new BLL.Station().GetAll();
|
if (stations != null && stations.Any())
|
{
|
foreach (var station in stations)
|
{
|
var stationMappings = bll.GetExSignalExSignalTypeByMappingTypeAndMappingID(IStation.ObjectType.Station, station.ID);
|
if (stationMappings != null && stationMappings.Any())
|
{
|
foreach (var mapping in stationMappings)
|
{
|
var vm = new CurrentViewModel(mapping, station.Name);
|
_allBindingList.Add(vm);
|
}
|
}
|
|
var pumps = new BLL.Product().GetPumpListByBelongTypeAndBelongID(IStation.ObjectType.Station, station.ID);
|
if (pumps != null || pumps.Any())
|
{
|
foreach (var pump in pumps)
|
{
|
var enginePumpId = pump.ParentIds.FirstOrDefault();
|
var pumpMappings = bll.GetExSignalExSignalTypeByMappingTypeAndMappingID(IStation.ObjectType.Product, enginePumpId);
|
if (pumpMappings != null && pumpMappings.Any())
|
{
|
foreach (var mapping in pumpMappings)
|
{
|
var vm = new CurrentViewModel(mapping, pump.Name);
|
_allBindingList.Add(vm);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
|
this.currentViewModelBindingSource.DataSource = _allBindingList;
|
this.gridView1.BestFitColumns();
|
WaitFrmHelper.HideWaitForm();
|
}
|
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(string mappingName, string mappingType, long mappingId)
|
{
|
WaitFrmHelper.ShowWaitForm("正在加载数据...");
|
_allBindingList = new BindingList<CurrentViewModel>();
|
|
var monitorPointExSignalExSignalTypes = new BLL.MonitorPoint().GetExSignalExSignalTypeByMappingTypeAndMappingID(mappingType, mappingId);
|
if (monitorPointExSignalExSignalTypes != null && monitorPointExSignalExSignalTypes.Any())
|
{
|
foreach (var item in monitorPointExSignalExSignalTypes)
|
{
|
var vm = new CurrentViewModel(item, mappingName);
|
_allBindingList.Add(vm);
|
}
|
}
|
|
this.currentViewModelBindingSource.DataSource = _allBindingList;
|
this.gridView1.BestFitColumns();
|
WaitFrmHelper.HideWaitForm();
|
}
|
|
|
//聚焦改变
|
private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
|
{
|
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
return;
|
|
this.FocusedChangedEvent?.Invoke(vm);
|
|
}
|
|
|
//private Model.MonitorPoint monitorPoint= null;
|
//private Model.Signal Signal= null;
|
//编辑监测信息
|
public void EditMonitor()
|
{
|
var row = gridView1.GetCurrentViewModel(_allBindingList);
|
if (row == null)
|
return;
|
var dlg = new EditMonitorDlg();
|
dlg.SetBindingData(row,row.Name);
|
dlg.ReloadDataEvent += (Info) =>
|
{
|
var monitor=Info.GetMonitorPoint();
|
|
var bll = new BLL.MonitorPoint();
|
var isok = bll.Update(monitor);
|
if (isok)
|
{
|
this.currentViewModelBindingSource.ResetBindings(false);
|
this.SetBindingData();
|
}
|
var bl = new BLL.Signal();
|
var signal = Info.GetSignal();
|
var isokk = bl.Update(signal);
|
if (isokk)
|
{
|
this.currentViewModelBindingSource.ResetBindings(false);
|
this.SetBindingData();
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
}
|
|
}
|