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));
    }
    public async Task <ActionResult> Options(
        string clubInitials,
        MergeCompetitorViewModel vm)
    {
        var clubId = await _clubService.GetClubId(clubInitials);

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

        vm.SourceCompetitorOptions = await _mergeService.GetSourceOptionsFor(vm.TargetCompetitorId);

        return(View("SelectSource", vm));
    }
    public async Task <ActionResult> Options(string clubInitials)
    {
        var clubId = await _clubService.GetClubId(clubInitials);

        if (!await _authService.CanUserEdit(User, clubId))
        {
            return(Unauthorized());
        }
        IList <Core.Model.Competitor> competitors = await _competitorService.GetCompetitorsAsync(clubId, false);

        var vm = new MergeCompetitorViewModel
        {
            TargetCompetitorOptions = competitors.OrderBy(c => c.Name).ToList()
        };

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