private static SignboardDiagnostics Map(DiagnosticsTableEntity tableEntity) { if (tableEntity == null) { return null; } var diagnostics = new SignboardDiagnostics(tableEntity.SignboardId, tableEntity.Date, SoftwareVersion.From(tableEntity.Version)); diagnostics.AddMetricValue(DiagnosticMetricType.CpuUsagePercentage, tableEntity.CpuPercentageMetric); diagnostics.AddMetricValue(DiagnosticMetricType.RamUsagePercentage, tableEntity.RamPercentageMetric); diagnostics.AddMetricValue(DiagnosticMetricType.DiskUsagePercentage, tableEntity.DiskPercentageMetric); diagnostics.AddMetricValue(DiagnosticMetricType.SignboardState, tableEntity.SignboardStateMetric); diagnostics.AddMetricValue(DiagnosticMetricType.IsShowingScreensaver, tableEntity.IsShowingScreensaverMetric); diagnostics.AddMetricValue(DiagnosticMetricType.SlideshowHealthMetric, tableEntity.SlideshowObject); diagnostics.AddMetricValue(DiagnosticMetricType.NetworkTrafficBytesRecieved, tableEntity.NetworkTrafficBytesRecieved); diagnostics.AddMetricValue(DiagnosticMetricType.NetworkTrafficBytesSent, tableEntity.NetworkTrafficBytesSent); return diagnostics; }
private SignboardDiagnostics GetSignboardDiagnostics(Guid signboardId, DiagnosticInputModel diagnosticsModel) { var diagnostics = new SignboardDiagnostics(signboardId, diagnosticsModel.DiagnosticDate, SoftwareVersion.From(diagnosticsModel.SoftwareVersion)); foreach (DiagnosticMetricInputModel metric in diagnosticsModel.Metrics) { diagnostics.AddMetricValue((DiagnosticMetricType)Enum.Parse(typeof(DiagnosticMetricType), metric.Name), metric.Value.ToString()); } if (diagnosticsModel.SignboardHealth == null) { return diagnostics; } else { diagnostics.AddMetricValue(DiagnosticMetricType.SignboardState, diagnosticsModel.SignboardHealth.ScreenState); diagnostics.AddMetricValue(DiagnosticMetricType.IsShowingScreensaver, diagnosticsModel.SignboardHealth.IsShowingScreensaver.ToString()); if (diagnosticsModel.SignboardHealth.SlideHealth == null || diagnosticsModel.SignboardHealth.SlideHealth.Count == 0) { return diagnostics; } diagnostics.AddMetricValue(DiagnosticMetricType.SlideshowHealthMetric, diagnosticsModel.SignboardHealth.ToString()); } return diagnostics; }