/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 39, Configuration.FieldSeparator), Id, ItemIdentifier?.ToDelimitedString(), ItemDescription, ItemStatus?.ToDelimitedString(), ItemType?.ToDelimitedString(), ItemCategory?.ToDelimitedString(), SubjectToExpirationIndicator?.ToDelimitedString(), ManufacturerIdentifier?.ToDelimitedString(), ManufacturerName, ManufacturerCatalogNumber, ManufacturerLabelerIdentificationCode?.ToDelimitedString(), PatientChargeableIndicator?.ToDelimitedString(), TransactionCode?.ToDelimitedString(), TransactionAmountUnit?.ToDelimitedString(), StockedItemIndicator?.ToDelimitedString(), SupplyRiskCodes?.ToDelimitedString(), ApprovingRegulatoryAgency != null ? string.Join(Configuration.FieldRepeatSeparator, ApprovingRegulatoryAgency.Select(x => x.ToDelimitedString())) : null, LatexIndicator?.ToDelimitedString(), RulingAct != null ? string.Join(Configuration.FieldRepeatSeparator, RulingAct.Select(x => x.ToDelimitedString())) : null, ItemNaturalAccountCode?.ToDelimitedString(), ApprovedToBuyQuantity.HasValue ? ApprovedToBuyQuantity.Value.ToString(Consts.NumericFormat, culture) : null, ApprovedToBuyPrice?.ToDelimitedString(), TaxableItemIndicator?.ToDelimitedString(), FreightChargeIndicator?.ToDelimitedString(), ItemSetIndicator?.ToDelimitedString(), ItemSetIdentifier?.ToDelimitedString(), TrackDepartmentUsageIndicator?.ToDelimitedString(), ProcedureCode?.ToDelimitedString(), ProcedureCodeModifier != null ? string.Join(Configuration.FieldRepeatSeparator, ProcedureCodeModifier.Select(x => x.ToDelimitedString())) : null, SpecialHandlingCode?.ToDelimitedString(), HazardousIndicator?.ToDelimitedString(), SterileIndicator?.ToDelimitedString(), MaterialDataSafetySheetNumber?.ToDelimitedString(), UnitedNationsStandardProductsAndServicesCode?.ToDelimitedString(), ContractDate?.ToDelimitedString(), ManufacturerContactName?.ToDelimitedString(), ManufacturerContactInformation?.ToDelimitedString(), ClassOfTrade, FieldLevelEventCode ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }