/// <summary>
        /// It will create a new contract.
        /// </summary>
        /// <param name="contractEvent">New contract Data.</param>
        /// <returns>Returns true when a new contract created else false.</returns>
        public async Task <bool> CreateAsync(ContractEvent contractEvent)
        {
            _logger.LogInformation($"[{nameof(CreateAsync)}] - Processing message for contract creation. ContractNumber: {contractEvent.ContractNumber}, ContractVersion: {contractEvent.ContractVersion}");

            var createRequest     = _contractEventMapper.GetCreateRequest(contractEvent);
            var fileName          = _contractEventMapper.GetFileNameForContractDocument(contractEvent.UKPRN, contractEvent.ContractNumber, contractEvent.ContractVersion);
            var folderName        = _contractEventMapper.GetFolderNameForContractDocument(contractEvent.FundingType.GetEnumShortName(), contractEvent.ContractPeriodValue, _spConfig.PublicationFolderSuffix);
            var urlSafeFolderName = _contractEventMapper.GetUrlSafeFolderNameForContractDocument(folderName);
            var pdfDoc            = await _sharePointClientService.GetDocument(fileName, urlSafeFolderName);

            var pdfADoc = _documentManagementService.ConvertToPdfA(pdfDoc);

            createRequest.ContractContent = _contractEventMapper.GetContractContent(pdfADoc, fileName);
            await _contractsDataService.CreateContractAsync(createRequest);

            return(true);
        }