Woopsa.WoopsaValue.CreateChecked C# (CSharp) Method

CreateChecked() public static method

public static CreateChecked ( string text, WoopsaValueType type, System.DateTime timestamp = null ) : WoopsaValue
text string
type WoopsaValueType
timestamp System.DateTime
return WoopsaValue
        public static WoopsaValue CreateChecked(string text, WoopsaValueType type, DateTime? timestamp = null)
        {
            try
            {
                // Sanity check for the value passed in argument
                switch (type)
                {
                    case WoopsaValueType.Integer:
                        Int64.Parse(text, CultureInfo.InvariantCulture);
                        break;
                    case WoopsaValueType.Real:
                        Double.Parse(text, CultureInfo.InvariantCulture);
                        break;
                    case WoopsaValueType.Logical:
                        Boolean.Parse(text);
                        text = text.ToLower(); // .NET and JSON serialize booleans differently (.NET uses a capital first letter) :/
                        break;
                    case WoopsaValueType.Text:
                        if (text == null)
                            text = string.Empty;
                        break;
                    case WoopsaValueType.DateTime:
                        DateTime.Parse(text, CultureInfo.InvariantCulture);
                        break;
                    case WoopsaValueType.TimeSpan:
                        Double.Parse(text, CultureInfo.InvariantCulture);
                        break;
                }
            }
            catch (Exception)
            {
                throw new WoopsaException(String.Format("Cannot create a WoopsaValue of type {0} from string \"{1}\"", type.ToString(), text));
            }
            return CreateUnchecked(text, type, timestamp);
        }

Usage Example

示例#1
0
        public static WoopsaValue DeserializeWoopsaValue(string jsonText)
        {
            var result = JsonSerializer.Deserialize <WoopsaReadResult>(jsonText);

            if (result != null)
            {
                var         valueType = (WoopsaValueType)Enum.Parse(typeof(WoopsaValueType), result.Type);
                WoopsaValue resultWoopsaValue;
                DateTime?   timeStamp;
                if (result.TimeStamp != null)
                {
                    timeStamp = DateTime.Parse(result.TimeStamp, CultureInfo.InvariantCulture);
                }
                else
                {
                    timeStamp = null;
                }
                if (valueType == WoopsaValueType.JsonData)
                {
                    resultWoopsaValue = new WoopsaValue(WoopsaJsonData.CreateFromDeserializedData(result.Value), timeStamp);
                }
                else
                {
                    resultWoopsaValue = WoopsaValue.CreateChecked(WoopsaFormat.ToStringWoopsa(result.Value),
                                                                  valueType, timeStamp);
                }
                return(resultWoopsaValue);
            }
            else
            {
                return(WoopsaValue.Null);
            }
        }
All Usage Examples Of Woopsa.WoopsaValue::CreateChecked