123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows.Data;
- using Aitex.Core.UI.ControlDataContext;
- using System.Windows.Media;
- namespace Aitex.Core.UI.Converters
- {
- public class MFC4ContentConvert : IMultiValueConverter
- {
- public object Convert(object[] FlowMOSourceDataList, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- string content = "";
- AnalogDeviceDataItem mfcSourceData = FlowMOSourceDataList[0] as AnalogDeviceDataItem;
- AnalogDeviceDataItem mfcInjectData = FlowMOSourceDataList[1] as AnalogDeviceDataItem;
- AnalogDeviceDataItem mfcDiluteData = FlowMOSourceDataList[2] as AnalogDeviceDataItem;
- if (mfcSourceData != null)
- {
-
- bool isAirFlowMultiControlMFC = (bool)(FlowMOSourceDataList[3]);
- if (isAirFlowMultiControlMFC && mfcInjectData != null && mfcDiluteData!=null)
- {
- if (mfcSourceData == null) return content;
- var source = mfcSourceData.FeedBack;
- var inject = mfcInjectData.FeedBack;
- var dilute = mfcDiluteData.FeedBack;
- var flow = source + dilute;
- if (flow == 0)
- {
- content = "0.00";
- }
- else
- {
- double val = ((source * inject) / flow);
- content = val >= 10 ? val.ToString("0.0") : val.ToString("0.00");
- }
- }
- else
- {
- if (mfcSourceData == null) content = "-";
- else if (mfcSourceData.FeedBack >= 10000)
- content = mfcSourceData.FeedBack.ToString("F0");
- else if (mfcSourceData.FeedBack >= 10)
- content = mfcSourceData.FeedBack.ToString("0.0");
- else
- content = mfcSourceData.FeedBack.ToString("0.00");
- }
- }
- return content;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
- {
- return null;
- }
- }
- public class MFC4ColorConvert : IMultiValueConverter
- {
- public object Convert(object[] FlowMOSourceDataList, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- SolidColorBrush borderBrush = Brushes.Transparent;
- AnalogDeviceDataItem mfcSourceData = FlowMOSourceDataList[0] as AnalogDeviceDataItem;
- AnalogDeviceDataItem mfcInjectData = FlowMOSourceDataList[1] as AnalogDeviceDataItem;
- AnalogDeviceDataItem mfcDiluteData = FlowMOSourceDataList[2] as AnalogDeviceDataItem;
- if (mfcSourceData != null)
- {
- bool isAirFlowMultiControlMFC = (bool)(FlowMOSourceDataList[3]);
- if (isAirFlowMultiControlMFC && mfcInjectData != null && mfcDiluteData != null)
- {
- if (mfcSourceData.IsWarning) { borderBrush = Brushes.Red; }
- if (mfcInjectData.IsWarning) { borderBrush = Brushes.Red; }
- if (mfcDiluteData.IsWarning) { borderBrush = Brushes.Red; }
- }
- else
- {
- if (mfcSourceData != null && mfcSourceData.IsWarning) { borderBrush = Brushes.Red; }
- }
- }
- return borderBrush;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
- {
- return null;
- }
- }
- public class MFC4ToolTipConvert : IMultiValueConverter
- {
- public object Convert(object[] FlowMOSourceDataList, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- StringBuilder tooltip = new StringBuilder();
- AnalogDeviceDataItem mfcSourceData = FlowMOSourceDataList[0] as AnalogDeviceDataItem;
- AnalogDeviceDataItem mfcInjectData = FlowMOSourceDataList[1] as AnalogDeviceDataItem;
- AnalogDeviceDataItem mfcDiluteData = FlowMOSourceDataList[2] as AnalogDeviceDataItem;
- if (mfcSourceData != null)
- {
- bool isAirFlowMultiControlMFC = (bool)(FlowMOSourceDataList[3]);
- if (isAirFlowMultiControlMFC && mfcInjectData != null && mfcDiluteData != null)
- {
- if (mfcSourceData.IsWarning) { tooltip.AppendLine(string.Format("mfc:{0},设备名:{1} 报警! 流量:{2}", mfcSourceData.DeviceId, mfcSourceData.DeviceName, mfcSourceData.FeedBack.ToString("F1"))); }
- if (mfcInjectData.IsWarning) { tooltip.AppendLine(string.Format("mfc:{0},设备名:{1} 报警! 流量:{2}", mfcInjectData.DeviceId, mfcInjectData.DeviceName, mfcInjectData.FeedBack.ToString("F1"))); }
- if (mfcDiluteData.IsWarning) { tooltip.AppendLine(string.Format("mfc:{0},设备名:{1} 报警! 流量:{2}", mfcDiluteData.DeviceId, mfcDiluteData.DeviceName, mfcDiluteData.FeedBack.ToString("F1"))); }
- }
- else
- {
- if (mfcSourceData != null && mfcSourceData.IsWarning) { tooltip.AppendLine(string.Format("mfc:{0},设备名:{1} 报警! 流量:{2}", mfcSourceData.DeviceId, mfcSourceData.DeviceName, mfcSourceData.FeedBack.ToString("F1"))); }
- }
- }
- return tooltip;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
- {
- return null;
- }
- }
- }
|