示例#1
0
 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()
     };
 }
示例#2
0
        /// <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 + ".";
        }