public void Add(string key, object value, StatusItemValueStatus status = StatusItemValueStatus.Unknown, bool plotEnabled = false) => Add(new StatusItemValue(key, value, status, plotEnabled));
public StatusPropertyAttribute(string name, StatusItemValueStatus status) { Name = name; Status = status; }
public StatusPropertyAttribute(string name, StatusItemValueStatus status, bool plotEnabled) { Name = name; Status = status; PlotEnabled = plotEnabled; }
public StatusItemValueItem(string name, object value, StatusItemValueStatus status, bool plot) { Name = name; if (value == null) { Value = null; RawValue = null; Type = StatusItemValueType.Text; plot = false; } else { switch (value) { case int intValue: Type = StatusItemValueType.Number; RawValue = value; Value = intValue.ToString("0.####", CultureInfo.InvariantCulture); break; case decimal decValue: Type = StatusItemValueType.Number; RawValue = value; Value = decValue.ToString("0.####", CultureInfo.InvariantCulture); break; case double doubleValue: Type = StatusItemValueType.Number; RawValue = value; Value = doubleValue.ToString("0.####", CultureInfo.InvariantCulture); break; case float floatValue: Type = StatusItemValueType.Number; RawValue = value; Value = floatValue.ToString("0.####", CultureInfo.InvariantCulture); break; case long longValue: Type = StatusItemValueType.Number; RawValue = value; Value = longValue.ToString("0.####", CultureInfo.InvariantCulture); break; case short shortValue: Type = StatusItemValueType.Number; RawValue = value; Value = shortValue.ToString("0.####", CultureInfo.InvariantCulture); break; case byte byteValue: Type = StatusItemValueType.Number; RawValue = value; Value = byteValue.ToString("0.####", CultureInfo.InvariantCulture); break; case uint intValue: Type = StatusItemValueType.Number; RawValue = value; Value = intValue.ToString("0.####", CultureInfo.InvariantCulture); break; case ulong longValue: Type = StatusItemValueType.Number; RawValue = value; Value = longValue.ToString("0.####", CultureInfo.InvariantCulture); break; case ushort shortValue: Type = StatusItemValueType.Number; RawValue = value; Value = shortValue.ToString("0.####", CultureInfo.InvariantCulture); break; case sbyte byteValue: Type = StatusItemValueType.Number; RawValue = value; Value = byteValue.ToString("0.####", CultureInfo.InvariantCulture); break; case DateTime date: Type = StatusItemValueType.Date; RawValue = date.ToString("o"); Value = date.TimeOfDay.TotalSeconds > 0 ? date.ToString("s") : date.ToString("yyyy-MM-dd"); break; case TimeSpan time: Type = StatusItemValueType.Time; RawValue = time.TotalMilliseconds; Value = time.ToString(); break; default: Type = StatusItemValueType.Text; RawValue = value.ToString(); Value = value.ToString(); plot = false; break; } } Status = status; Plot = plot; }