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); }
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)); }
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)); }
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) }); }
public async Task <WeatherViewModel> ConvertToLocalizedWeather(Weather weather, Guid clubId) { var club = await _coreClubService.GetMinimalClub(clubId); return(GetLocalizedWeather(weather, club.WeatherSettings)); }