public RegistrationType(string id) { this.idField = id; this.datasourceField = new List<object>(); this.provisionAgreementField = new ProvisionAgreementReferenceType(); this.indexTimeSeriesField = false; this.indexDataSetField = false; this.indexAttributesField = false; this.indexReportingPeriodField = false; }
/// <summary> /// Handles the structure request type /// </summary> /// <param name="complexDataQuery">The complex data query.</param> /// <param name="dataReturnDetails">The data return details.</param> private static void HandleStructure(IComplexDataQuery complexDataQuery, DataReturnDetailsType dataReturnDetails) { var structure = new DataStructureRequestType(); dataReturnDetails.Structure.Add(structure); if (!string.IsNullOrWhiteSpace(complexDataQuery.DimensionAtObservation)) { structure.dimensionAtObservation = complexDataQuery.DimensionAtObservation; } else { structure.dimensionAtObservation = DimensionObject.TimeDimensionFixedId; } HandleExplicit(complexDataQuery, structure); structure.structureID = DefaultStructureId; if (complexDataQuery.DataStructure != null) { RefBaseType structureRefernce = new StructureRefType(); structureRefernce.agencyID = complexDataQuery.DataStructure.AgencyId; structureRefernce.id = complexDataQuery.DataStructure.Id; structureRefernce.version = complexDataQuery.DataStructure.Version; var structureType = new StructureReferenceType(); structureType.SetTypedRef(structureRefernce); structure.Structure = structureType; } else if (complexDataQuery.ProvisionAgreement != null) { RefBaseType provisionAgreementReference = new ProvisionAgreementRefType(); provisionAgreementReference.id = complexDataQuery.ProvisionAgreement.Id; provisionAgreementReference.agencyID = complexDataQuery.ProvisionAgreement.AgencyId; provisionAgreementReference.version = complexDataQuery.ProvisionAgreement.Version; var provisionAgreementReferenceType = new ProvisionAgreementReferenceType(); provisionAgreementReferenceType.SetTypedRef(provisionAgreementReference); structure.ProvisionAgrement = provisionAgreementReferenceType; } }
/// <summary> /// Process the response. /// </summary> /// <param name="returnType"> /// The return type. /// </param> /// <param name="registrationBean"> /// The registration bean. /// </param> /// <param name="exception"> /// The exception. /// </param> private void ProcessResponse( SubmitRegistrationsResponseType returnType, IRegistrationObject registrationBean, Exception exception) { var registrationStatusType = new RegistrationStatusType(); returnType.RegistrationStatus.Add(registrationStatusType); var statusMessageType = new StatusMessageType(); registrationStatusType.StatusMessage = statusMessageType; this.AddStatus(statusMessageType, exception); var registrationType = new RegistrationType(); registrationStatusType.Registration = registrationType; registrationType.id = registrationBean.Id; if (registrationBean.DataSource != null) { IDataSource datasourceBean = registrationBean.DataSource; var datasourceType = new DataSourceType(); registrationType.Datasource = datasourceType; if (datasourceBean.SimpleDatasource) { Uri simpleDatasourceType = datasourceBean.DataUrl; datasourceType.SimpleDataSource.Add(simpleDatasourceType); } else { var queryableDatasource = new QueryableDataSourceType(); datasourceType.QueryableDataSource.Add(queryableDatasource); queryableDatasource.isRESTDatasource = datasourceBean.RESTDatasource; queryableDatasource.isWebServiceDatasource = datasourceBean.WebServiceDatasource; queryableDatasource.DataURL = datasourceBean.DataUrl; if (datasourceBean.WsdlUrl != null) { queryableDatasource.WSDLURL = datasourceBean.WsdlUrl; } if (datasourceBean.WadlUrl != null) { queryableDatasource.WADLURL = datasourceBean.WadlUrl; } } } if (registrationBean.ProvisionAgreementRef != null) { var refType = new ProvisionAgreementReferenceType(); registrationType.ProvisionAgreement = refType; refType.URN.Add(registrationBean.ProvisionAgreementRef.TargetUrn); } }
/// <summary> /// Handles the provision agreement. /// </summary> /// <param name="complexDataQuery">The complex data query.</param> /// <param name="whereType">Type of the where.</param> private static void HandleProvisionAgreement(IComplexDataQuery complexDataQuery, DataParametersAndType whereType) { RefBaseType provisionReferenceType = new ProvisionAgreementRefType(); provisionReferenceType.id = complexDataQuery.ProvisionAgreement.Id; provisionReferenceType.agencyID = complexDataQuery.ProvisionAgreement.AgencyId; provisionReferenceType.version = complexDataQuery.ProvisionAgreement.Version; var provisionAgreementReferenceType = new ProvisionAgreementReferenceType { Ref = provisionReferenceType }; whereType.ProvisionAgreement.Add(provisionAgreementReferenceType); }