Example #1
0
    public async Task <Club> GetClubForClubHome(string clubInitials)
    {
        var clubId = await _coreClubService.GetClubId(clubInitials);

        var club = await _coreClubService.GetMinimalClub(clubId);

        // 10 days back, but view filters down to 8 days back.
        club.Races = await _coreRaceService.GetRecentRacesAsync(clubId, 10);

        club.Series = await _coreSeriesService.GetAllSeriesAsync(clubId, null, false);

        club.Regattas = await _coreRegattaService.GetAllRegattasAsync(clubId);

        return(club);
    }
Example #2
0
    public async Task <ActionResult> Edit(
        string clubInitials,
        Guid id,
        string returnUrl = null)
    {
        ViewData["ReturnUrl"]    = returnUrl;
        ViewData["ClubInitials"] = clubInitials;
        var club = await _clubService.GetMinimalClub(clubInitials);

        if (!await _authService.CanUserEdit(User, club.Id))
        {
            return(Unauthorized());
        }
        var race = await _raceService.GetSingleRaceDetailsAsync(clubInitials, id);

        if (race == null)
        {
            return(NotFound());
        }
        if (race.ClubId != club.Id)
        {
            return(Unauthorized());
        }

        var raceWithOptions = _mapper.Map <RaceWithOptionsViewModel>(race);

        await _raceService.AddOptionsToRace(raceWithOptions);

        raceWithOptions.UseAdvancedFeatures = club.UseAdvancedFeatures ?? false;

        return(View(raceWithOptions));
    }
Example #3
0
    public async Task <IEnumerable <RegattaSummaryViewModel> > GetCurrentRegattas()
    {
        var start = DateTime.Today.AddDays(-7);
        var end   = DateTime.Today.AddDays(7);

        var coreRegattas = await _coreRegattaService.GetRegattasDuringSpanAsync(start, end)
                           .ConfigureAwait(false);

        var filteredRegattas = coreRegattas
                               .OrderBy(s => s.StartDate)
                               .ThenBy(s => s.Name);
        var vm = _mapper.Map <IList <RegattaSummaryViewModel> >(filteredRegattas);
        var regattasToRemove = new List <RegattaSummaryViewModel>();

        foreach (var regatta in vm)
        {
            var club = await _clubService.GetMinimalClub(regatta.ClubId);

            if (club.IsHidden)
            {
                regattasToRemove.Add(regatta);
            }
            regatta.ClubInitials = club.Initials;
            regatta.ClubName     = club.Name;
        }
        return(vm.Except(regattasToRemove));
    }
Example #4
0
    public async Task <RaceSummaryListViewModel> GetAllRaceSummariesAsync(
        string clubInitials,
        string seasonName,
        bool includeScheduled,
        bool includeAbandoned)
    {
        var club = await _coreClubService.GetMinimalClub(clubInitials);

        var seasons = await _coreSeasonService.GetSeasons(club.Id);

        var races = (await _coreRaceService.GetFullRacesAsync(
                         club.Id,
                         seasonName,
                         includeScheduled,
                         includeAbandoned))
                    .OrderByDescending(r => r.Date)
                    .ThenBy(r => r.Fleet?.Name)
                    .ThenBy(r => r.Order);

        // need to get score codes so viewmodel can determine starting boat count.
        var scoreCodes = await _coreScoringService.GetScoreCodesAsync(club.Id);

        var racesVm = _mapper.Map <List <RaceSummaryViewModel> >(races);

        foreach (var race in racesVm)
        {
            foreach (var score in race.Scores)
            {
                score.ScoreCode = GetScoreCode(score.Code, scoreCodes);
            }
        }

        return(new RaceSummaryListViewModel
        {
            Races = racesVm,
            Seasons = seasons,
            CurrentSeason = seasons.FirstOrDefault(s => s.Name == seasonName)
        });
    }
Example #5
0
    public async Task <WeatherViewModel> ConvertToLocalizedWeather(Weather weather, Guid clubId)
    {
        var club = await _coreClubService.GetMinimalClub(clubId);

        return(GetLocalizedWeather(weather, club.WeatherSettings));
    }