示例#1
0
        /// <inheritdoc/>
        public string ToDelimitedString()
        {
            CultureInfo culture = CultureInfo.CurrentCulture;

            return(string.Format(
                       culture,
                       StringHelper.StringFormatSequence(0, 35, Configuration.FieldSeparator),
                       Id,
                       DonationIdentificationNumberDin?.ToDelimitedString(),
                       DonationType?.ToDelimitedString(),
                       PhlebotomyStartDateTime.HasValue ? PhlebotomyStartDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       PhlebotomyEndDateTime.HasValue ? PhlebotomyEndDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       DonationDuration.HasValue ? DonationDuration.Value.ToString(Consts.NumericFormat, culture) : null,
                       DonationDurationUnits?.ToDelimitedString(),
                       IntendedProcedureType != null ? string.Join(Configuration.FieldRepeatSeparator, IntendedProcedureType.Select(x => x.ToDelimitedString())) : null,
                       ActualProcedureType != null ? string.Join(Configuration.FieldRepeatSeparator, ActualProcedureType.Select(x => x.ToDelimitedString())) : null,
                       DonorEligibilityFlag,
                       DonorEligibilityProcedureType != null ? string.Join(Configuration.FieldRepeatSeparator, DonorEligibilityProcedureType.Select(x => x.ToDelimitedString())) : null,
                       DonorEligibilityDate.HasValue ? DonorEligibilityDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       ProcessInterruption?.ToDelimitedString(),
                       ProcessInterruptionReason?.ToDelimitedString(),
                       PhlebotomyIssue != null ? string.Join(Configuration.FieldRepeatSeparator, PhlebotomyIssue.Select(x => x.ToDelimitedString())) : null,
                       IntendedRecipientBloodRelative,
                       IntendedRecipientName?.ToDelimitedString(),
                       IntendedRecipientDob.HasValue ? IntendedRecipientDob.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       IntendedRecipientFacility?.ToDelimitedString(),
                       IntendedRecipientProcedureDate.HasValue ? IntendedRecipientProcedureDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       IntendedRecipientOrderingProvider?.ToDelimitedString(),
                       PhlebotomyStatus?.ToDelimitedString(),
                       ArmStick?.ToDelimitedString(),
                       BleedStartPhlebotomist?.ToDelimitedString(),
                       BleedEndPhlebotomist?.ToDelimitedString(),
                       AphaeresisTypeMachine,
                       AphaeresisMachineSerialNumber,
                       DonorReaction,
                       FinalReviewStaffId?.ToDelimitedString(),
                       FinalReviewDateTime.HasValue ? FinalReviewDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       NumberOfTubesCollected.HasValue ? NumberOfTubesCollected.Value.ToString(Consts.NumericFormat, culture) : null,
                       DonationSampleIdentifier != null ? string.Join(Configuration.FieldRepeatSeparator, DonationSampleIdentifier.Select(x => x.ToDelimitedString())) : null,
                       DonationAcceptStaff?.ToDelimitedString(),
                       DonationMaterialReviewStaff != null ? string.Join(Configuration.FieldRepeatSeparator, DonationMaterialReviewStaff.Select(x => x.ToDelimitedString())) : null,
                       ActionCode
                       ).TrimEnd(Configuration.FieldSeparator.ToCharArray()));
        }