public XDocument Serialize() { return(new XDocument(new XElement(EspdNames.Qarq + nameof(QualificationApplicationRequest), new XAttribute(XNamespace.Xmlns + "cbc", UblNames.Cbc), new XAttribute(XNamespace.Xmlns + "cac", UblNames.Cac), UBLVersionID.Serialize(nameof(UBLVersionID)), CustomizationID.Serialize(nameof(CustomizationID)), ProfileID.Serialize(nameof(ProfileID)), ProfileExecutionID.Serialize(nameof(ProfileExecutionID)), ID?.Serialize(nameof(ID)), CopyIndicator.Serialize(nameof(CopyIndicator)), UUID.Serialize(nameof(UUID)), ContractFolderID.Serialize(nameof(ContractFolderID)), IssueDate.Serialize(nameof(IssueDate)), IssueTime.Serialize(nameof(IssueTime)), VersionID.Serialize(nameof(VersionID)), PreviousVersionID.Serialize(nameof(PreviousVersionID)), ProcedureCode.Serialize(nameof(ProcedureCode)), QualificationApplicationTypeCode.Serialize(nameof(QualificationApplicationTypeCode)), WeightScoringMethodologyNote.Serialize(nameof(WeightScoringMethodologyNote)), WeightingTypeCode.Serialize(nameof(WeightingTypeCode)), ContractingParty?.Serialize(), ProcurementProject?.Serialize(), ProcurementProjectLots?.Select(lot => lot.Serialize()), TenderingCriteria?.Select(c => c.Serialize()), AdditionalDocumentReferences?.Select(d => d.Serialize()) ))); }