public async Task <IActionResult> ConfirmAndComplete(ConfirmAndCompleteViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var userId = _contextAccessor.HttpContext.User.UserId();

            var mergeRequest = _mergeSessionService.GetMergeRequest();

            var mergeCommand = new MergeOrganisationsCommand
            {
                PrimaryEndPointAssessorOrganisationId   = mergeRequest.PrimaryEpao.Id,
                SecondaryEndPointAssessorOrganisationId = mergeRequest.SecondaryEpao.Id,
                SecondaryStandardsEffectiveTo           = mergeRequest.SecondaryEpaoEffectiveTo.Value,
                ActionedByUser = userId
            };

            try
            {
                await _apiClient.MergeOrganisations(mergeCommand);

                mergeRequest.MarkComplete();

                _mergeSessionService.UpdateMergeRequest(mergeRequest);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Merge organisations failed for primary epao: {mergeRequest.PrimaryEpao.Id} and secondary epao: {mergeRequest.SecondaryEpao.Id}");
                return(RedirectToAction(nameof(MergeError)));
            }

            return(RedirectToAction(nameof(MergeComplete)));
        }
        public IActionResult ConfirmAndComplete()
        {
            var mergeRequest = _mergeSessionService.GetMergeRequest();

            var viewModel = new ConfirmAndCompleteViewModel
            {
                PrimaryEpaoName   = mergeRequest?.PrimaryEpao?.Name,
                SecondaryEpaoName = mergeRequest?.SecondaryEpao?.Name
            };

            return(View(viewModel));
        }