// DEFAULT CONSTRUCTOR #region Public Methods and Operators /// <summary> /// Add data source from <paramref name="datasourceBean"/> to <paramref name="datasourceType"/> /// </summary> /// <param name="datasourceBean"> /// The data source SDMX Object. /// </param> /// <param name="datasourceType"> /// The data source LINQ2XSD object. /// </param> public void AddDatasource(IDataSource datasourceBean, DatasourceType datasourceType) { if (datasourceBean.SimpleDatasource) { if (datasourceBean.DataUrl != null) { datasourceType.SimpleDatasource = datasourceBean.DataUrl; } } else { var queryableDatasourceType = new QueryableDatasourceType(); datasourceType.QueryableDatasource = queryableDatasourceType; if (datasourceBean.DataUrl != null) { queryableDatasourceType.DataUrl = datasourceBean.DataUrl; } queryableDatasourceType.isRESTDatasource = datasourceBean.RESTDatasource; queryableDatasourceType.isWebServiceDatasource = datasourceBean.WebServiceDatasource; if (datasourceBean.WsdlUrl != null) { queryableDatasourceType.WSDLUrl = datasourceBean.WsdlUrl; } } }
/// <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; }
/// <summary> /// Build <see cref="RegistrationType"/> from <paramref name="buildFrom"/>. /// </summary> /// <param name="buildFrom"> /// The build from. /// </param> /// <returns> /// The <see cref="RegistrationType"/> from <paramref name="buildFrom"/> . /// </returns> public RegistrationType Build(IRegistrationObject buildFrom) { var builtObj = new RegistrationType(); if (buildFrom.LastUpdated != null) { builtObj.LastUpdated = buildFrom.LastUpdated.Date; } if (buildFrom.ValidFrom != null) { builtObj.ValidFrom = buildFrom.ValidFrom.Date; } if (buildFrom.ValidTo != null) { builtObj.ValidTo = buildFrom.ValidTo.Date; } if (buildFrom.ProvisionAgreementRef != null) { ICrossReference provRefBean = buildFrom.ProvisionAgreementRef; var provRefType = new ProvisionAgreementRefType(); builtObj.ProvisionAgreementRef = provRefType; if (provRefBean.TargetReference.EnumType == SdmxStructureEnumType.ProvisionAgreement) { if (ObjectUtil.ValidString(provRefBean.TargetUrn)) { provRefType.URN = provRefBean.TargetUrn; } } } if (buildFrom.DataSource != null) { IDataSource datasourceBean = buildFrom.DataSource; var datasourceType = new DatasourceType(); builtObj.Datasource = datasourceType; if (datasourceBean.SimpleDatasource) { datasourceType.SimpleDatasource = datasourceBean.DataUrl; } else { var qdst = new QueryableDatasourceType(); datasourceType.QueryableDatasource = qdst; qdst.isRESTDatasource = datasourceBean.RESTDatasource; qdst.isWebServiceDatasource = datasourceBean.WebServiceDatasource; qdst.DataUrl = datasourceBean.DataUrl; } } return builtObj; }