public async Task <ActionResult> Verify(
        string clubInitials,
        MergeCompetitorViewModel vm)
    {
        var clubId = await _clubService.GetClubId(clubInitials);

        if (!await _authService.CanUserEdit(User, clubId))
        {
            return(Unauthorized());
        }

        vm.SourceCompetitor = await _competitorService.GetCompetitorAsync(vm.SourceCompetitorId.Value);

        vm.TargetCompetitor = await _competitorService.GetCompetitorAsync(vm.TargetCompetitorId.Value);

        if (vm.SourceCompetitor.ClubId != clubId ||
            vm.TargetCompetitor.ClubId != clubId)
        {
            return(Unauthorized());
        }
        vm.SourceNumberOfRaces = await _mergeService.GetNumberOfRaces(vm.SourceCompetitorId.Value);

        vm.TargetNumberOfRaces = await _mergeService.GetNumberOfRaces(vm.TargetCompetitorId.Value);

        vm.SourceSeasons = await _mergeService.GetSeasons(vm.SourceCompetitorId.Value);

        vm.TargetSeasons = await _mergeService.GetSeasons(vm.TargetCompetitorId.Value);

        return(View("Verify", vm));
    }