public void ExecuteTest() { ViewErrors = new List <IActionableErrorInfo>(); Errors = new List <string>(); OutputArea.IsEnabled = true; TestResults = null; IsTesting = true; try { var testResult = _serverModel.TestService(Model); var serializer = new Dev2JsonSerializer(); var responseService = serializer.Deserialize <RecordsetListWrapper>(testResult); if (responseService != null) { if (responseService.RecordsetList.Any(recordset => recordset.HasErrors)) { var errorMessage = string.Join(Environment.NewLine, responseService.RecordsetList.Select(recordset => recordset.ErrorMessage)); throw new Exception(errorMessage); } TestResults = responseService.SerializedResult; _recordsetList = responseService.RecordsetList; if (_recordsetList.Any(recordset => recordset.HasErrors)) { var errorMessage = string.Join(Environment.NewLine, _recordsetList.Select(recordset => recordset.ErrorMessage)); throw new Exception(errorMessage); } Description = responseService.Description; var outputMapping = _recordsetList.SelectMany(recordset => recordset.Fields, (recordset, recordsetField) => { var serviceOutputMapping = new ServiceOutputMapping(recordsetField.Name, recordsetField.Alias, recordset.Name) { Path = recordsetField.Path }; return(serviceOutputMapping); }).Cast <IServiceOutputMapping>().ToList(); _generateOutputArea.IsEnabled = true; _generateOutputArea.Outputs = outputMapping; } if (TestResults != null) { TestResultsAvailable = TestResults != null; IsTesting = false; TestPassed = true; TestFailed = false; } } catch (JsonSerializationException) { OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("Result", "[[Result]]", "") }; } catch (Exception e) { Errors.Add(e.Message); IsTesting = false; TestPassed = false; TestFailed = true; _generateOutputArea.IsEnabled = false; _generateOutputArea.Outputs = new List <IServiceOutputMapping>(); _viewmodel.ErrorMessage(e, true); } }
public void ExecuteTest() { ViewErrors = new List <IActionableErrorInfo>(); Errors = new List <string>(); OutputArea.IsEnabled = true; TestResults = null; IsTesting = true; try { var testResult = _serverModel.TestService(Model); var serializer = new Dev2JsonSerializer(); using (var responseService = serializer.Deserialize <WebService>(testResult)) { TestResults = responseService.RequestResponse; _recordsetList = responseService.Recordsets; if (_recordsetList.Any(recordset => recordset.HasErrors)) { var errorMessage = string.Join(Environment.NewLine, _recordsetList.Select(recordset => recordset.ErrorMessage)); throw new Exception(errorMessage); } Description = responseService.GetOutputDescription(); } // ReSharper disable MaximumChainedReferences var outputMapping = _recordsetList.SelectMany(recordset => recordset.Fields, (recordset, recordsetField) => { var serviceOutputMapping = new ServiceOutputMapping(recordsetField.Name, recordsetField.Alias, recordset.Name) { Path = recordsetField.Path }; return(serviceOutputMapping); }).Cast <IServiceOutputMapping>().ToList(); // ReSharper restore MaximumChainedReferences _generateOutputArea.IsEnabled = true; _generateOutputArea.Outputs = outputMapping; if (TestResults != null) { TestResultsAvailable = TestResults != null; IsTesting = false; TestPassed = true; TestFailed = false; OutputCountExpandAllowed = true; } } catch (JsonSerializationException) { OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("Result", "[[Result]]", "") }; } catch (Exception e) { Errors.Add(e.Message); IsTesting = false; TestPassed = false; TestFailed = true; _generateOutputArea.IsEnabled = false; _generateOutputArea.Outputs = new List <IServiceOutputMapping>(); _viewmodel.ErrorMessage(e, true); } PasteResponseVisible = false; }