Ejemplo n.º 1
0
        public override string ToString()
        {
            var type = (OriginalType)_data[0];

            switch (type)
            {
            case OriginalType.SomeInteger:
                return(_hashCode.ToString());

            case OriginalType.SomeFloat:
                return(NumericValue.ToString(CultureInfo.InvariantCulture));

            case OriginalType.Boolean:
                return((_hashCode != 0).ToString());

            case OriginalType.Date:
                if (_data.Length == 1)   //no offset
                {
                    return(new DateTime(_hashCode).ToString(CultureInfo.InvariantCulture));
                }

                var offset = BitConverter.ToInt64(_data, 1);
                return(new DateTimeOffset(_hashCode, new TimeSpan(offset)).ToString());

            case OriginalType.String:
                return(StringValue);

            case OriginalType.Null:
                return("null");

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Ejemplo n.º 2
0
        /// <summary>Parses the JToken type and assigns struct values appropriately.</summary>
        private void ProcessToken(JToken token)
        {
            if (token == null)
            {
                NumericValue = 1;
                StringValue  = "Unsupported Data Type";
                return;
            }
            // switch on token type and set the fields appropriately
            switch (token.Type)
            {
            case JTokenType.Integer:
                NumericValue = token.Value <double>();
                StringValue  = NumericValue.ToString(_CultureInfo);
                BooleanValue = Convert.ToBoolean(NumericValue);
                ArrayValue   = null;
                break;

            case JTokenType.Float:
                NumericValue = token.Value <double>();
                StringValue  = NumericValue.ToString(_CultureInfo);
                BooleanValue = Convert.ToBoolean(NumericValue);
                break;

            case JTokenType.String:
                NumericValue = 0;
                StringValue  = token.Value <string>();
                break;

            case JTokenType.Array:
                ProcessArray(token);
                break;

            case JTokenType.Boolean:
                if ((bool)(token) == true)
                {
                    NumericValue = 1;
                    BooleanValue = true;
                    StringValue  = Convert.ToString(BooleanValue);
                }
                else
                {
                    NumericValue = 0;
                    BooleanValue = false;
                    StringValue  = Convert.ToString(BooleanValue);
                }
                break;

            case JTokenType.Object:
                // It is assumed the attribute read was the presentValue
                ProcessPresentValue(token);
                break;

            default:
                NumericValue = 1;
                StringValue  = "Unsupported Data Type";
                break;
            }
        }
Ejemplo n.º 3
0
 public void WriteTo(StringBuilder builder, string numericFormat, bool quoteStrings)
 {
     builder.Append(
         FeatureType == FeatureValueType.Numeric
             ? NumericValue.ToString(numericFormat, CultureInfo.InvariantCulture)
             : quoteStrings
                 ? "\"" + StringValue + "\""
                 : StringValue);
 }
Ejemplo n.º 4
0
 private string GetNumericNumberFormated()
 {
     if (NumericType == NumericEntryBehaviorType.Double)
     {
         return(NumericValue.ToString(NumericFormat));
     }
     else
     {
         return(((int)NumericValue).ToString(NumericFormat));
     }
 }
Ejemplo n.º 5
0
        public override string ToString()
        {
            string ans;

            ans = "Numerical value: " + NumericValue.ToString() + Environment.NewLine +
                  "Floating point value: " + FloatingPointValue.ToString() + Environment.NewLine +
                  "Rational value " + RationalNumeratorValue.ToString() + "/" + RationalDenominatorValue;
            if (MeasurmentUnitCodeSequence != null)
            {
                ans = ans + Environment.NewLine + " Measurement units sequence --> " + Environment.NewLine + MeasurmentUnitCodeSequence.ToString();
            }
            return(ans);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Creates Chromeleon specific formatted data.
        /// </summary>
        /// <param name="localize">True to localize display names and values. False otherwise.</param>
        /// <returns>The string containing a Chromeleon compatible formatted string.</returns>
        public string CreateFormattedData(bool localize)
        {
            var xmlDoc = new XDocument();
            var root   = new XElement("CmFormattedData");

            xmlDoc.Add(root);

            var deviceObject = CreateObject("Device Properties", "MyDeviceType", "MyDeviceID");

            root.Add(deviceObject);

            if (localize)
            {
                var textProperty = CreatePropertyWithValue(Resources.TextPropertyDisplayName, Text);
                deviceObject.Add(textProperty);
            }
            else
            {
                var textProperty = CreatePropertyWithValue("Text", Text);
                deviceObject.Add(textProperty);
            }

            if (localize)
            {
                var numProperty = CreatePropertyWithValue(Resources.NumericValueDisplayName, NumericValue.ToString(NumberFormatInfo.InvariantInfo));
                deviceObject.Add(numProperty);
            }
            else
            {
                var numProperty = CreatePropertyWithValue("Numerical Value", NumericValue.ToString(NumberFormatInfo.CurrentInfo));
                deviceObject.Add(numProperty);
            }

            var sb       = new StringBuilder();
            var settings = new XmlWriterSettings();

            settings.Encoding = Encoding.Unicode;

            using (var writer = XmlWriter.Create(sb, settings))
            {
                xmlDoc.WriteTo(writer);
            }

            return(sb.ToString());
        }
Ejemplo n.º 7
0
        public String GetSerializedValue()
        {
            if (IsListValue == true)
            {
                return(System.Text.Json.JsonSerializer.Serialize(Addresses.Select(x => x.Value)));
            }
            else
            {
                if (IsTextValue == true)
                {
                    return(System.Text.Json.JsonSerializer.Serialize(SingleValue));
                }
                else if (IsDeviceValue == true)
                {
                    return(System.Text.Json.JsonSerializer.Serialize(DeviceId));
                }
                else if (IsBooleanValue == true)
                {
                    return(BooleanValue == true ? "true" : "false");
                }
                else if (IsNumericValue)
                {
                    return(NumericValue.ToString());
                }
                else if (IsNullableNumericValue == true)
                {
                    if (NullableNumericValue.HasValue == true)
                    {
                        return(NullableNumericValue.Value.ToString());
                    }
                    else
                    {
                        return("null");
                    }
                }

                return(String.Empty);
            }
        }
Ejemplo n.º 8
0
        public override string ToString()
        {
            switch (Type)
            {
            case DataType.String:
                return(StringValue);

            case DataType.Numeric:
                return(NumericValue.ToString());

            case DataType.Boolean:
                return(BoolValue.ToString());

            case DataType.DateTime:
                return(DateTimeValue.ToString());

            case DataType.TimeSpan:
                return(TimeSpanValue.ToString());

            default:
                return("");
            }
        }
Ejemplo n.º 9
0
 public string GetNumericString()
 {
     return(NumericValue.ToString("D3"));
 }
Ejemplo n.º 10
0
 public String GetStringValue()
 {
     return(NumericValue.ToString());
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Parses the JToken type and assigns values as specified in the MSSDA Bulletin.
        /// </summary>
        private void ProcessToken(JToken token)
        {
            if (token == null || token["item"] == null || token ["item"][Attribute] == null)
            {
                // return unsupported attribute result
                NumericValue = 1;
                StringValueEnumerationKey = Unsupported;
                StringValue = ResourceManager.Localize(StringValueEnumerationKey, _CultureInfo);
                return;
            }
            JToken attributeToken = token["item"][Attribute];

            // switch on attributeToken type and set the fields appropriately
            switch (attributeToken.Type)
            {
            case JTokenType.Integer:
                NumericValue = attributeToken.Value <double>();
                StringValue  = NumericValue.ToString(_CultureInfo);
                BooleanValue = Convert.ToBoolean(NumericValue);
                ArrayValue   = null;
                break;

            case JTokenType.Float:
                NumericValue = attributeToken.Value <double>();
                StringValue  = NumericValue.ToString(_CultureInfo);
                BooleanValue = Convert.ToBoolean(NumericValue);
                break;

            case JTokenType.String:
                NumericValue = 0;
                StringValueEnumerationKey = attributeToken.Value <string>();
                StringValue = ResourceManager.Localize(StringValueEnumerationKey, _CultureInfo);
                break;

            case JTokenType.Array:
                ProcessArray(attributeToken);
                break;

            case JTokenType.Boolean:
                if ((bool)(attributeToken) == true)
                {
                    NumericValue = 1;
                    BooleanValue = true;
                    StringValue  = Convert.ToString(BooleanValue, _CultureInfo);
                }
                else
                {
                    NumericValue = 0;
                    BooleanValue = false;
                    StringValue  = Convert.ToString(BooleanValue, _CultureInfo);
                }
                break;

            case JTokenType.Object:
                // It is assumed the attribute read was the presentValue
                if (apiVersion < ApiVersion.v3)
                {
                    // From v3 onwards presentValue is threated like other attributes and additional information are moved in Condition property.
                    ProcessPresentValue(attributeToken);
                }
                break;

            default:
                NumericValue = 1;
                StringValueEnumerationKey = Unsupported;
                StringValue = ResourceManager.Localize(StringValueEnumerationKey, _CultureInfo);
                break;
            }
        }