Example #1
0
        public void TestPointTypeConverter()
        {
            var converter = new PointTypeConverter();

            Assert.True(converter.CanConvertFrom(typeof(string)));
            Assert.AreEqual(new Point(1, 2), converter.ConvertFromInvariantString("1,2"));
            Assert.AreEqual(new Point(1, 2), converter.ConvertFromInvariantString("1, 2"));
            Assert.AreEqual(new Point(1, 2), converter.ConvertFromInvariantString(" 1 , 2 "));
            Assert.AreEqual(new Point(1.1, 2), converter.ConvertFromInvariantString("1.1,2"));
            Assert.Throws <InvalidOperationException> (() => converter.ConvertFromInvariantString(""));
        }
Example #2
0
        /// <include file="../../../docs/Microsoft.Maui.Controls.Shapes/PointCollectionConverter.xml" path="//Member[@MemberName='ConvertTo']/Docs" />
        public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
        {
            if (value is not PointCollection pc)
            {
                throw new NotSupportedException();
            }

            var converter = new PointTypeConverter();

            return(string.Join(", ", pc.Select(p => converter.ConvertToInvariantString(p))));
        }
        public override string ConvertToInvariantString(object value)
        {
            if (!(value is PointCollection pc))
            {
                throw new NotSupportedException();
            }

            var converter = new PointTypeConverter();

            return(string.Join(", ", pc.Select(p => converter.ConvertToInvariantString(p))));
        }
Example #4
0
        public override object?ConvertFromInvariantString(string?value)
        {
            if (value == null)
            {
                return(null);
            }

            value = value?.Trim();

            var pointConverter = new PointTypeConverter();
            var point          = (Point)pointConverter.ConvertFromInvariantString(value);

            return(new SKConfettiPhysics(point.X, point.Y));
        }
        public override object?ConvertFromInvariantString(string?value)
        {
            if (value == null)
            {
                return(null);
            }

            value = value?.Trim();

            if (string.Compare(value, "top", StringComparison.OrdinalIgnoreCase) == 0)
            {
                return(SKConfettiEmitterBounds.Top);
            }

            if (string.Compare(value, "left", StringComparison.OrdinalIgnoreCase) == 0)
            {
                return(SKConfettiEmitterBounds.Left);
            }

            if (string.Compare(value, "right", StringComparison.OrdinalIgnoreCase) == 0)
            {
                return(SKConfettiEmitterBounds.Right);
            }

            if (string.Compare(value, "bottom", StringComparison.OrdinalIgnoreCase) == 0)
            {
                return(SKConfettiEmitterBounds.Bottom);
            }

            if (string.Compare(value, "center", StringComparison.OrdinalIgnoreCase) == 0)
            {
                return(SKConfettiEmitterBounds.Center);
            }

            if (value?.IndexOf(',') == value?.LastIndexOf(','))
            {
                var pointConverter = new PointTypeConverter();
                var point          = (Point)pointConverter.ConvertFromInvariantString(value);
                return(SKConfettiEmitterBounds.Point(point));
            }

            var rectConverter = new RectTypeConverter();
            var rect          = (Rect)rectConverter.ConvertFromInvariantString(value);

            return(SKConfettiEmitterBounds.Bounds(rect));
        }
Example #6
0
 public AlarmToday(string[] segments, DateTime now)
 {
     if (segments == null || segments.Length != 16)
     {
         IsValid = false;
         return;
     }
     try
     {
         var pointCode = GetPointCode(segments[0]);
         if (pointCode.Contains("A"))
         {
             _pointType = PointTypeConverter.A;
         }
         var alarmState    = ConvertAlarmState((ProtocalAlarmState)segments[1].ToInt(), pointCode);
         var realValue     = segments[2];
         var alarmLimit    = segments[3];
         var disAlarmLimit = segments[4];
         var startTime     = segments[5].ToDateTime();
         var endTime       = segments[6] == "X" ? now : segments[6].ToDateTime();
         var maxValue      = segments[7];
         var maxTime       = segments[8];
         var minTime       = segments[9];
         var avgValue      = segments[10];
         var minValue      = segments[11];
         AlarmTodayModel = new AlarmTodayModel()
         {
             EquipId    = GetSensorEquipId(pointCode),
             Index      = 0,
             PointCode  = pointCode,
             PointId    = 0,
             StartTime  = startTime,
             EndTime    = endTime,
             Value      = realValue,
             ValueState = alarmState.ValueState,
             FeedState  = 0,
             EquipState = alarmState.EquipState,
             TreatType  = 0,
             Treatment  = segments[13],
             TreatTime  = segments[14].ToDateTime(),
             TreatUser  = segments[15],
             Status     = segments[6] == "X" ? 0 : 1
         };
         if (_pointType == PointTypeConverter.A)
         {
             AnalogAlarmModel = new AnalogAlarmModel()
             {
                 EquipId    = GetSensorEquipId(pointCode),
                 Index      = 0,
                 PointCode  = pointCode,
                 PointId    = 0,
                 StartTime  = startTime,
                 EndTime    = endTime,
                 Value      = realValue.ToFloat(),
                 ValueState = alarmState.ValueState,
                 MaxValue   = maxValue.ToFloat(),
                 MaxTime    = maxTime.ToDateTime(),
                 MinValue   = minValue.ToFloat(),
                 MinTime    = minTime.ToDateTime(),
                 AvgValue   = avgValue.ToFloat(),
                 FeedCount  = 0,
                 EquipState = alarmState.EquipState,
                 Status     = segments[6] == "X" ? 0 : 1
             };
         }
     }
     catch
     {
         IsValid = false;
         return;
     }
     IsValid = true;
 }
Example #7
0
 public XamlPointTypeConverter()
 {
     _converter = new PointTypeConverter();
 }
Example #8
0
        protected (int valueState, int equipState) ConvertValueState(ProtocolState protocolState, PointTypeConverter pointType, string value)
        {
            int equipState = 1030000;
            int valueState = 0;

            switch (protocolState)
            {
            case ProtocolState.标校:
            {
                valueState  = (int)PointState.Analog_OK;
                equipState += 1;
            }
            break;

            case ProtocolState.正常:
            {
                switch (pointType)
                {
                case PointTypeConverter.A:
                {
                    valueState = (int)PointState.Analog_OK;
                    equipState = 1030000;
                }
                break;

                case PointTypeConverter.D:
                {
                    if (int.TryParse(value, out var realValue))
                    {
                        if (realValue == 0)
                        {
                            valueState = (int)PointState.Switch_State1;
                        }
                        else if (realValue == 1)
                        {
                            valueState = (int)PointState.Switch_State2;
                        }
                        else
                        {
                            valueState = (int)PointState.Switch_State0;
                        }
                    }
                    else
                    {
                        valueState = (int)PointState.Switch_State0;
                    }
                }
                break;

                case PointTypeConverter.C:
                {
                    if (int.TryParse(value, out var realValue))
                    {
                        if (realValue == 0)
                        {
                            valueState = (int)PointState.Control_State0;
                        }
                        else
                        {
                            valueState = (int)PointState.Control_State1;
                        }
                    }
                    else
                    {
                        valueState = (int)PointState.Control_State1;
                    }
                }
                break;
                }
            }
            break;

            case ProtocolState.断电:
            {
                valueState = (int)PointState.Analog_UpperLimitSwitchingOff;
                equipState = 1030000;
            }
            break;

            case ProtocolState.标校报警:
            {
                valueState  = (int)PointState.Analog_UpperLimitSwitchingOff;
                equipState += 1;
            }
            break;

            case ProtocolState.超量程:
            {
                valueState = (int)PointState.Analog_Underflow;
                equipState = 1030000;
            }
            break;

            case ProtocolState.感器故障:
            {
                switch (pointType)
                {
                case PointTypeConverter.A:
                {
                    valueState = (int)PointState.Analog_OFF;
                    equipState = 1;
                }
                break;

                case PointTypeConverter.D:
                {
                    valueState = (int)PointState.Switch_State0;
                    equipState = 1;
                }
                break;

                case PointTypeConverter.C:
                {
                    valueState = (int)PointState.Control_OFF;
                    equipState = 1;
                }
                break;
                }
            }
            break;

            case ProtocolState.分站故障:
            {
                switch (pointType)
                {
                case PointTypeConverter.A:
                {
                    valueState = (int)PointState.Analog_SubStationOFF;
                    equipState = 1;
                }
                break;

                case PointTypeConverter.D:
                {
                    valueState = (int)PointState.Switch_SubStationOFF;
                    equipState = 1;
                }
                break;

                case PointTypeConverter.C:
                {
                    valueState = (int)PointState.Control_SubStationOFF;
                    equipState = 1;
                }
                break;
                }
            }
            break;

            default:
                break;
            }
            return(valueState, equipState);
        }
Example #9
0
 protected int GetSensorEquipId(string pointCode, PointTypeConverter pointType)
 {
     return(pointCode.Replace(pointType.ToString(), ((int)pointType).ToString()).ToInt());
 }
Example #10
0
		public void TestPointTypeConverter ()
		{
			var converter = new PointTypeConverter ();
			Assert.True (converter.CanConvertFrom (typeof(string)));
			Assert.AreEqual (new Point (1, 2), converter.ConvertFromInvariantString ("1,2"));
			Assert.AreEqual (new Point (1, 2), converter.ConvertFromInvariantString ("1, 2"));
			Assert.AreEqual (new Point (1, 2), converter.ConvertFromInvariantString (" 1 , 2 "));
			Assert.AreEqual (new Point (1.1, 2), converter.ConvertFromInvariantString ("1.1,2"));
			Assert.Throws<InvalidOperationException> (()=>converter.ConvertFromInvariantString (""));
		}