private ServerProcessingResult ConvertResult(ProcessingResult result) { return new ServerProcessingResult { Success = result.Success, UserMessage = result.UserMessage, SystemMessage = result.SystemMessage, ServerCommandResults = result.CommandResults == null ? null : (from c in result.CommandResults select new ServerCommandResult { Message = c.Message, Data = c.Data != null && c.Data.Value != null ? _xmlUtility.SerializeToXml(c.Data.Value) : null }).ToArray() }; }
/// <summary> /// Parse the server response and generate a simplified report. /// </summary> private static string GenerateReport(ProcessingResult processingResult) { if (!processingResult.Success) return "ERROR: " + (processingResult.UserMessage ?? processingResult.SystemMessage); var commandResult = processingResult.CommandResults.Single(); if (commandResult.Data == null || commandResult.Data.Value == null) return commandResult.Message; if (commandResult.Data.Value is ReadCommandResult) { var records = (IEnumerable<object>)((ReadCommandResult)commandResult.Data.Value).Records; if (records is IEnumerable<DemoRowPermissions1.Document>) { var documents = (IEnumerable<DemoRowPermissions1.Document>)records; return string.Join(", ", documents.Select(document => document.Title).OrderBy(x => x)); } else if (records is IEnumerable<DemoRowPermissions2.Document>) { var documents = (IEnumerable<DemoRowPermissions2.Document>)records; return string.Join(", ", documents.Select(document => document.Title).OrderBy(x => x)); } else return records.Count() + " records."; } else return "Command result data type " + commandResult.GetType().Name + "."; }