public static string ConvertReport(ImportReport report) { var sb = new StringBuilder(); if (report != null) foreach (var process in report.Processes) { if (!process.BrokenFields.Any() && !process.BrokenExpressions.Any() && !process.BrokenFilters.Any() && !process.BrokenRules.Any() && !process.BrokenTriggers.Any() && !process.BrokenESyncDesigner.Any() && !process.BrokenIntegration.Any() && !process.BrokenExternalData.Any() && !process.OtherErrors.Any()) continue; sb.AppendLine(process.ProcessName); if (!string.IsNullOrEmpty(process.ImportStatus)) sb.AppendLine("\tStatus: " + process.ImportStatus); if (process.BrokenFields.Any()) sb.AppendLine("\tBroken Fields"); foreach (var field in process.BrokenFields.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenExpressions.Any()) sb.AppendLine("\tBroken Expressions"); foreach (var field in process.BrokenExpressions.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenFilters.Any()) sb.AppendLine("\tBroken Filters"); foreach (var field in process.BrokenFilters.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenRules.Any()) sb.AppendLine("\tBroken Rules"); foreach (var field in process.BrokenRules.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenTriggers.Any()) sb.AppendLine("\tBroken Triggers"); foreach (var field in process.BrokenTriggers.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenESyncDesigner.Any()) sb.AppendLine("\tBroken ESync"); foreach (var field in process.BrokenESyncDesigner.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenIntegration.Any()) sb.AppendLine("\tBroken Integration"); foreach (var field in process.BrokenIntegration.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.BrokenExternalData.Any()) sb.AppendLine("\tBroken External Data"); foreach (var field in process.BrokenExternalData.Distinct()) { sb.AppendLine("\t\t" + field); } if (process.OtherErrors.Any()) sb.AppendLine("\tOther Errors"); foreach (var field in process.OtherErrors.Distinct()) { sb.AppendLine("\t\t" + field); } } return sb.ToString(); }
/// <summary> /// Sends import report to client. /// </summary> /// <param name="initiatorId">The initiator id.</param> /// <param name="exceptions">The exceptions.</param> public static void NotifyImportReport(string initiatorId, ImportReport report) { if (report == null) return; if (!ConnectedClients.Contains(initiatorId)) { Log4NetLogger.Instance.Log(LogSeverity.Error, "ServerStatusHub Error", "Cannot find Client in ConnectedClients list, client id: " + initiatorId + ", list of ConnectedClients: " + ConnectedClients); return; } var context = GlobalHost.ConnectionManager.GetHubContext<ServerStatusHub>(); context.Clients.Client(ConnectedClients.FirstOrDefault(x => x == initiatorId)).NotifyImportReport(report); }