/// <summary> /// Builds error response. /// </summary> /// <param name="ex"> /// The exception. /// </param> /// <returns> /// The <see cref="RegistryInterface"/>. /// </returns> public RegistryInterface BuildErrorResponse(Exception ex) { var responseType = new RegistryInterface(); RegistryInterfaceType regInterface = responseType.Content; var returnType = new QueryRegistrationResponseType(); regInterface.QueryRegistrationResponse = returnType; V2Helper.Header = regInterface; var queryResult = new QueryResultType(); returnType.QueryResult.Add(queryResult); queryResult.timeSeriesMatch = false; var statusMessage = new StatusMessageType(); queryResult.StatusMessage = statusMessage; this.AddStatus(statusMessage, ex); return responseType; }
/// <summary> /// The build success response. /// </summary> /// <param name="registrations"> /// The registrations. /// </param> /// <returns> /// The <see cref="RegistryInterface"/>. /// </returns> public RegistryInterface BuildSuccessResponse(ICollection<IRegistrationObject> registrations) { var responseType = new RegistryInterface(); RegistryInterfaceType regInterface = responseType.Content; var returnType = new QueryRegistrationResponseType(); regInterface.QueryRegistrationResponse = returnType; V2Helper.Header = regInterface; if (!ObjectUtil.ValidCollection(registrations)) { var queryResult = new QueryResultType(); returnType.QueryResult.Add(queryResult); queryResult.timeSeriesMatch = false; var statusMessage = new StatusMessageType(); queryResult.StatusMessage = statusMessage; statusMessage.status = StatusTypeConstants.Warning; var tt = new TextType(); statusMessage.MessageText.Add(tt); tt.TypedValue = "No Registrations Match The Query Parameters"; } else { /* foreach */ foreach (IRegistrationObject currentRegistration in registrations) { var queryResult0 = new QueryResultType(); returnType.QueryResult.Add(queryResult0); var statusMessage1 = new StatusMessageType(); queryResult0.StatusMessage = statusMessage1; this.AddStatus(statusMessage1, null); queryResult0.timeSeriesMatch = false; // FUNC 1 - when is this true? Also We need MetadataResult var resultType = new ResultType(); queryResult0.DataResult = resultType; if (currentRegistration.DataSource != null) { IDataSource datasourceBean = currentRegistration.DataSource; var datasourceType = new DatasourceType(); resultType.Datasource = datasourceType; if (datasourceBean.SimpleDatasource) { datasourceType.SimpleDatasource = datasourceBean.DataUrl; } else { var queryableDatasource = new QueryableDatasourceType(); datasourceType.QueryableDatasource = queryableDatasource; queryableDatasource.isRESTDatasource = datasourceBean.RESTDatasource; queryableDatasource.isWebServiceDatasource = datasourceBean.WebServiceDatasource; queryableDatasource.DataUrl = datasourceBean.DataUrl; if (datasourceBean.WsdlUrl != null) { queryableDatasource.WSDLUrl = datasourceBean.WsdlUrl; } } } if (currentRegistration.ProvisionAgreementRef != null) { WriteProvisionAgreementRef(currentRegistration.ProvisionAgreementRef, resultType); } } } return responseType; }