public static GameResponse ToResponse(this Game game, UrlHelper urlHelper = null) { var response = new GameResponse { AwayTeam = game.AwayTeam, AwayTeamScore = game.AwayTeamScore, GameTime = game.GameTime, HomeTeam = game.HomeTeam, HomeTeamScore = game.HomeTeamScore, Id = game.Id, IsGameOver = game.IsGameOver, Season = game.Season, SeasonType = game.SeasonType, Week = game.Week, WinningTeamId = game.WinningTeamId }; if (game.Options != null) { response.Options = game.Options.ToResponse(urlHelper); if (urlHelper != null) { var canModifyPicks = game.Options.Any(option => option.Pick != null && !option.IsPastCutOff); if (canModifyPicks) { response.Actions.Add("deletePicks", urlHelper.Route("DeletePicksForGame", new { id = game.Id })); } } } return response; }
/// <summary> /// Gets the list of links for salutations for entry. /// </summary> /// <param name="urlHelper">Url helper</param> /// <returns>Returns the list of <see cref="Link" /> objects.</returns> public static IEnumerable<Link> FindLinks(UrlHelper urlHelper) { var links = new List<Link>() { new Link() { Rel = "salutations", Href = urlHelper.Route(SalutationsRouteName, new { }) }, }; return links; }
public string Generate(string routeName, object request) { var urlHelper = new UrlHelper(_requestMessage); var values = request.TraverseForKeys(options: Options); var link = Options.UriKind == UriKind.Relative ? urlHelper.Route(routeName, values) : urlHelper.Link(routeName, values); return link; }
public string Route(string routeName, object o, UrlHelper url) { return url.Route(routeName, o); }
private static Uri BuildLinkForStreamProperty(string routePrefix, string id, string version, HttpRequestMessage request) { var url = new UrlHelper(request); var result = url.Route(routePrefix + RouteName.DownloadPackage, new { id, version }); var builder = new UriBuilder(request.RequestUri); builder.Path = version == null ? EnsureTrailingSlash(result) : result; builder.Query = string.Empty; return builder.Uri; }
public static OptionResponse ToResponse(this Option<Team> option, UrlHelper urlHelper = null) { var response = new OptionResponse { CutOff = option.CutOff, GameId = option.GameId, GroupId = option.GroupId, Id = option.Id, IsPastCutOff = option.IsPastCutOff, IsWinner = option.IsWinner, Outcome = option.Outcome, Team = option.Team, Type = option.Type, Value = option.Value }; if (option.Pick != null && urlHelper != null) { response.Pick = option.Pick.ToResponse(urlHelper, response.IsPastCutOff); } if (urlHelper != null && !response.IsPastCutOff) { response.Actions.Add("pick", urlHelper.Route("DefaultNfl", new { controller = "picks", id = option.Id })); } return response; }
public static LeagueInvitationResponse ToResponse(this LeagueInvitation invitation, UrlHelper urlHelper) { var response = new LeagueInvitationResponse { AcceptedOn = invitation.AcceptedOn, Created = invitation.Created, Email = invitation.Email, Id = invitation.Id, InvitationToken = invitation.InvitationToken, InviteSentOn = invitation.InviteSentOn, League = invitation.League.ToResponse(false, urlHelper), SentBy = invitation.SentByUser.ToResponse(), Status = invitation.Status }; if (invitation.User != null) { response.User = invitation.User.ToResponse(); } response.Actions.Add("details", urlHelper.Route("GetLeagueInvitation", new { leagueId = invitation.LeagueId, inviteId = invitation.Id })); response.Actions.Add("accept", urlHelper.Route("AcceptLeagueInvitation", new { leagueId = invitation.LeagueId })); return response; }
public static LeagueMemberResponse ToResponse(this LeagueMember member, UrlHelper urlHelper) { var response = new LeagueMemberResponse { Id = member.Id, IsActive = member.IsActive, Joined = member.Joined, UserId = member.UserId, UserName = member.UserName }; response.Actions.Add("updateStatus", urlHelper.Route("LeagueUpdateMemberStatus", new { leagueId = member.LeagueId, userId = member.UserId })); return response; }
public static LeagueDetailsResponse ToResponse(this League league, bool generateActions, UrlHelper urlHelper) { var response = new LeagueDetailsResponse { Created = league.Created, CreatorUserId = league.CreatorUserId, CreatorUserName = league.CreatorUserName, Id = league.Id, IsActive = league.IsActive, Name = league.Name, OwnerUserId = league.OwnerUserId, OwnerUserName = league.OwnerUserName, Sport = league.Sport }; response.Action.Add("details", urlHelper.Route("DefaultNfl", new { controller = "Leagues", id = league.Id })); if (generateActions) { response.Actions.Add("updateName", urlHelper.Route("LeagueUpdateName", new { id = league.Id })); response.Actions.Add("updateStatus", urlHelper.Route("LeagueUpdateStatus", new { id = league.Id })); response.Actions.Add("updateOwner", urlHelper.Route("LeagueUpdateOwner", new { id = league.Id })); response.Actions.Add("sendInvitation", urlHelper.Route("SendLeagueInvitation", new { leagueId = league.Id })); } return response; }
public static LeagueResponse ToResponse(this League league, UrlHelper urlHelper) { var response = new LeagueResponse { Created = league.Created, CreatorUserId = league.CreatorUserId, CreatorUserName = league.CreatorUserName, Id = league.Id, IsActive = league.IsActive, Name = league.Name, OwnerUserId = league.OwnerUserId, OwnerUserName = league.OwnerUserName, Sport = league.Sport }; response.Action.Add("details", urlHelper.Route("DefaultNfl", new { controller = "Leagues", id = league.Id })); return response; }
public static WeekSummaryResponse ToResponse(this WeekSummary summary, UrlHelper urlHelper) { var response = new WeekSummaryResponse { IsCurrent = summary.IsCurrent, Season = summary.Season, SeasonType = summary.SeasonType, Week = summary.Week }; var routeValues = new { season = summary.Season, week = summary.Week, seasonType = summary.SeasonType.ToString().ToLower() }; response.Actions.Add("details", urlHelper.Route("GamesForWeek", routeValues)); return response; }
public static PickResponse ToResponse(this UserPick pick, UrlHelper urlHelper, bool isPastCutOff = false) { var response = new PickResponse { GameId = pick.GameId, Id = pick.Id, OptionGroupId = pick.OptionGroupId, OptionId = pick.OptionId, OptionType = pick.OptionType, Outcome = pick.Outcome, UserId = pick.UserId }; if (!isPastCutOff) { response.Actions.Add("delete", urlHelper.Route("DefaultNfl", new { controller = "picks", id = pick.Id })); } return response; }