Example #1
0
    public async Task <FleetWithOptionsViewModel> GetBlankFleetWithOptionsAsync(
        string clubInitials,
        Guid?regattaId)
    {
        var clubId = await _coreClubService.GetClubId(clubInitials);

        var vm = new FleetWithOptionsViewModel();

        vm.ClubId           = clubId;
        vm.BoatClassOptions = await _coreClubService.GetAllBoatClasses(clubId);

        vm.CompetitorBoatClassOptions = vm.BoatClassOptions.OrderBy(c => c.Name);
        vm.CompetitorOptions          =
            await _coreCompetitorService.GetCompetitorsAsync(clubId, null, true);

        vm.RegattaId = regattaId;
        vm.IsActive  = true;
        if (regattaId.HasValue)
        {
            var regatta = await _regattaService.GetRegattaAsync(regattaId.Value);

            vm.Regatta = _mapper.Map <RegattaSummaryViewModel>(regatta);
        }
        return(vm);
    }
    public async Task <ActionResult> Details(
        string clubInitials,
        string season,
        string regattaName)
    {
        ViewData["ClubInitials"] = clubInitials;

        var regatta = await _regattaService.GetRegattaAsync(clubInitials, season, regattaName);

        if (regatta == null)
        {
            return(new NotFoundResult());
        }

        var canEdit = false;

        if (User != null && (User.Identity?.IsAuthenticated ?? false))
        {
            canEdit = await _authService.CanUserEdit(User, clubInitials);
        }

        return(View(new ClubItemViewModel <RegattaViewModel>
        {
            Item = _mapper.Map <RegattaViewModel>(regatta),
            ClubInitials = clubInitials,
            CanEdit = canEdit
        }));
    }