/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 22, Configuration.FieldSeparator), Id, SetIdBpx.HasValue ? SetIdBpx.Value.ToString(culture) : null, BpDispenseStatus?.ToDelimitedString(), BpStatus, BpDateTimeOfStatus.HasValue ? BpDateTimeOfStatus.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, BcDonationId?.ToDelimitedString(), BcComponent?.ToDelimitedString(), BcDonationTypeIntendedUse?.ToDelimitedString(), CpCommercialProduct?.ToDelimitedString(), CpManufacturer?.ToDelimitedString(), CpLotNumber?.ToDelimitedString(), BpBloodGroup?.ToDelimitedString(), BcSpecialTesting != null ? string.Join(Configuration.FieldRepeatSeparator, BcSpecialTesting.Select(x => x.ToDelimitedString())) : null, BpExpirationDateTime.HasValue ? BpExpirationDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, BpQuantity.HasValue ? BpQuantity.Value.ToString(Consts.NumericFormat, culture) : null, BpAmount.HasValue ? BpAmount.Value.ToString(Consts.NumericFormat, culture) : null, BpUnits?.ToDelimitedString(), BpUniqueId?.ToDelimitedString(), BpActualDispensedToLocation?.ToDelimitedString(), BpActualDispensedToAddress?.ToDelimitedString(), BpDispensedToReceiver?.ToDelimitedString(), BpDispensingIndividual?.ToDelimitedString() ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }