private static void FillSectionOneRow(AcroFields acroFields, string fieldNumber, HoldingFacilitySeaTurtleReportItem item, MarineTurtleHoldingFacilityQuarterlyReportOptionsDto reportOptions)
        {
            // always set the status/tag number field as it may be a partial line
            acroFields.SetField($"txtTagNumber{fieldNumber}", item.reportTagNumberFieldData);

            // if NOT a partial line...
            if (!string.IsNullOrEmpty(item.seaTurtleId))
            {
                // *************************************************************************************************
                // -- Tag Numbers, Acquired From, and Anomalies share the TAG NUMBER field (part of the STATUS field)
                // -- Relinquished To and Stranding ID Number share the RELINQUISHED TO field (part of the DATE RELEASED/.../... field)
                // *************************************************************************************************

                var sidNumberAndSeaTurtleName = item.sidNumber;
                if (reportOptions.includeTurtleName && !string.IsNullOrEmpty(item.seaTurtleName))
                {
                    sidNumberAndSeaTurtleName += $" - {item.seaTurtleName}";
                }
                acroFields.SetField($"txtSID{fieldNumber}", sidNumberAndSeaTurtleName);

                acroFields.SetField($"cboSpecies{fieldNumber}", item.species);

                acroFields.SetField($"txtDateAcquired{fieldNumber}", item.dateAcquired);

                acroFields.SetField($"cboSize{fieldNumber}", item.turtleSize);
                acroFields.SetField($"cboStatus{fieldNumber}", item.status);

                // ----------------------------------------------------------------
                // -- if the DATE RELINQUISHED is later than the report date,
                // -- then do NOT display the relinquished information
                // ----------------------------------------------------------------
                var showRelinquishedInfo = item.dateRelinquished.CompareTo(reportOptions.dateThru) <= 0;

                acroFields.SetField($"txtDateRelinquished{fieldNumber}", showRelinquishedInfo ? item.dateRelinquished : string.Empty);

                // *************************************************************************************************
                // v-- *** RELINQUISHED TO *** RELINQUISHED TO *** RELINQUISHED TO *** RELINQUISHED TO *** RELINQUISHED TO
                // *************************************************************************************************
                // ----------------------------------------------------------------
                // -- add STRANDING ID NUMBER information here (if any)
                // ----------------------------------------------------------------
                var txtRelinquishedTo = string.Empty;

                if (!string.IsNullOrEmpty(item.strandingIdNumber))
                {
                    txtRelinquishedTo += $"Stranding ID #: {item.strandingIdNumber};";
                }

                if (showRelinquishedInfo && !string.IsNullOrEmpty(item.relinquishedTo))
                {
                    txtRelinquishedTo += $"Relinq. To: {item.relinquishedTo}";
                }

                acroFields.SetField($"txtRelinquishedTo{fieldNumber}", txtRelinquishedTo);
                // *************************************************************************************************
                // ^-- *** RELINQUISHED TO *** RELINQUISHED TO *** RELINQUISHED TO *** RELINQUISHED TO *** RELINQUISHED TO
                // *************************************************************************************************
            }
        }
        private static async Task <string> GetReportTagNumberFieldData(string organizationId, SeaTurtleModel seaTurtle, MarineTurtleHoldingFacilityQuarterlyReportOptionsDto reportOptions)
        {
            var sb = new StringBuilder();

            var dateFrom = ReportHelper.ToDate(reportOptions.dateFrom);
            var dateThru = ReportHelper.ToDate(reportOptions.dateThru);

            //----------------------------------------------------------------
            //-- display DATE ACQUIRED -only- when requested
            //-- and when report date range is for one quarter or less
            //----------------------------------------------------------------
            //-- if the DATE ACQUIRED is within the date range of the report,
            //-- then do display the ACQUIRED FROM information
            //----------------------------------------------------------------
            if (reportOptions.includeAcquiredFrom && !string.IsNullOrEmpty(seaTurtle.dateAcquired) && ((dateThru.Date - dateFrom.Date).Days <= 95))
            {
                if ((reportOptions.dateFrom.CompareTo(seaTurtle.dateAcquired) <= 0) && (seaTurtle.dateAcquired.CompareTo(reportOptions.dateThru) <= 0))
                {
                    if (!string.IsNullOrEmpty(seaTurtle.acquiredFrom))
                    {
                        sb.Append($"Acq. from: {seaTurtle.acquiredFrom}; ");
                    }
                }
            }

            var seaTurtleTagService = new SeaTurtleTagService(organizationId, seaTurtle.seaTurtleId);
            var seaTurtleTags       = await seaTurtleTagService.GetSeaTurtleTags();

            if (seaTurtleTags.Count > 0)
            {
                sb.Append($"Tags: {string.Join(", ", seaTurtleTags.Select(x => x.tagNumber))}; ");
            }

            if (reportOptions.includeAnomalies && !string.IsNullOrEmpty(seaTurtle.anomalies))
            {
                sb.Append($"Anomalies: {seaTurtle.anomalies}; ");
            }

            return(sb.ToString());
        }