private FundingSummaryHeaderModel PopulateReportHeader(
            SourceFileModel sourceFile,
            IEnumerable <ILRFileDetailsModel> fileData,
            int ukPrn,
            CancellationToken cancellationToken)
        {
            var ukPrnRow =
                new List <string> {
                ukPrn.ToString(), string.Empty, string.Empty
            };
            var contractReferenceNumberRow =
                new List <string> {
                sourceFile.ConRefNumber, string.Empty, string.Empty, "ILR File :"
            };
            var supplementaryDataFileRow =
                new List <string> {
                sourceFile.FileName.Contains("/") ? sourceFile.FileName.Substring(sourceFile.FileName.IndexOf("/", StringComparison.Ordinal) + 1) : sourceFile.FileName, string.Empty, string.Empty, "Last ILR File Update :"
            };
            var lastSupplementaryDataFileUpdateRow =
                new List <string> {
                sourceFile.SuppliedDate?.ToString("dd/MM/yyyy hh:mm:ss"), string.Empty, string.Empty, "File Preparation Date :"
            };

            foreach (var model in fileData)
            {
                var preparationDate = FileNameHelper.GetPreparedDateFromILRFileName(model.FileName);
                var secondYear      = FileNameHelper.GetSecondYearFromReportYear(model.Year);

                ukPrnRow.Add(string.Empty);
                ukPrnRow.Add($"{model.Year}/{secondYear}");
                contractReferenceNumberRow.Add(model.FileName.Substring(model.FileName.Contains("/") ? model.FileName.IndexOf("/", StringComparison.Ordinal) + 1 : 0));
                contractReferenceNumberRow.Add(string.Empty);
                supplementaryDataFileRow.Add(model.LastSubmission?.ToString("dd/MM/yyyy hh:mm:ss"));
                supplementaryDataFileRow.Add(string.Empty);
                lastSupplementaryDataFileUpdateRow.Add(preparationDate);
                lastSupplementaryDataFileUpdateRow.Add(string.Empty);
            }

            var header = new FundingSummaryHeaderModel
            {
                ProviderName                    = _referenceDataCache.GetProviderName(ukPrn, cancellationToken),
                Ukprn                           = ukPrnRow.ToArray(),
                ContractReferenceNumber         = contractReferenceNumberRow.ToArray(),
                SupplementaryDataFile           = supplementaryDataFileRow.ToArray(),
                LastSupplementaryDataFileUpdate = lastSupplementaryDataFileUpdateRow.ToArray()
            };

            return(header);
        }