SmartOpsKpiQueryModels.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace Admin.NET.Plugin.AiDOP.SmartOps;
  2. public sealed class FilteredKpiQueryResult
  3. {
  4. public string Scope { get; set; } = "module_summary";
  5. public Dictionary<string, SmartOpsKpiMetricValue> Values { get; init; } = new(StringComparer.OrdinalIgnoreCase);
  6. public Dictionary<string, string> MetricFilterModes { get; init; } = new(StringComparer.OrdinalIgnoreCase);
  7. public Dictionary<string, string[]> UnsupportedFiltersByMetric { get; init; } = new(StringComparer.OrdinalIgnoreCase);
  8. public Dictionary<string, string?> FilterContext { get; init; } = new(StringComparer.OrdinalIgnoreCase);
  9. }
  10. public sealed class SmartOpsKpiMetricValue
  11. {
  12. public int Level { get; init; }
  13. public decimal? MetricValue { get; init; }
  14. public List<SmartOpsKpiTrendPoint> Trend { get; init; } = new();
  15. }
  16. public sealed class SmartOpsKpiTrendPoint
  17. {
  18. public SmartOpsKpiTrendPoint(string date, decimal? value)
  19. {
  20. Date = date;
  21. Value = value;
  22. }
  23. public string Date { get; }
  24. public decimal? Value { get; }
  25. }
  26. public sealed class AtomicAggregateRow
  27. {
  28. public decimal? MetricValue { get; set; }
  29. }
  30. public sealed class AtomicTrendRow
  31. {
  32. public DateTime StatDate { get; set; }
  33. public decimal? MetricValue { get; set; }
  34. }