public async Task <ReferenceDataViewModel> GetProcessOutputsForCollectionAsync(
            string containerName,
            string collectionName,
            string reportName,
            string reportExtension,
            string fileNameFormat,
            string fileNameExtension,
            int submissionCount = Constants.DefaultSubmissionCount,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            var model = new ReferenceDataViewModel();

            // get job info from db
            var files = (await _referenceDataServiceClient.GetSubmittedFilesPerCollectionAsync(Api, collectionName, cancellationToken))
                        .OrderByDescending(f => f.SubmissionDate)
                        .Take(submissionCount)
                        .ToList();

            var outputFiles = await _fileUploadJobMetaDataModelBuilderService
                              .BuildFileUploadJobMetaDataModelForReferenceDataProcess(
                files,
                collectionName,
                containerName,
                reportName,
                reportExtension,
                fileNameFormat,
                fileNameExtension,
                cancellationToken);

            model.Files = outputFiles;
            model.ReferenceDataCollectionName = collectionName;

            return(model);
        }
        public async Task <ReferenceDataViewModel> GetSubmissionsPerCollectionAsync(
            string containerName,
            string collectionName,
            string reportName,
            int maxRows = Constants.MaxFilesToDisplay,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            var model = new ReferenceDataViewModel();

            // get job info from db
            var files = (await _referenceDataServiceClient.GetSubmittedFilesPerCollectionAsync(Api, collectionName, cancellationToken))
                        .OrderByDescending(f => f.SubmissionDate)
                        .Take(maxRows)
                        .ToList();

            var container = _cloudStorageService.GetStorageContainer(containerName);

            // get file info from result report
            await Task.WhenAll(
                files
                .Select(file => _fileUploadJobMetaDataModelBuilderService
                        .PopulateFileUploadJobMetaDataModelForReferenceDataUpload(
                            file,
                            reportName,
                            SummaryFileName,
                            container,
                            collectionName,
                            cancellationToken)));

            model.Files = files;
            model.ReferenceDataCollectionName = collectionName;
            return(model);
        }