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;
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
 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;
        }
Exemplo n.º 10
0
        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;
        }
Exemplo n.º 11
0
        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;
        }
Exemplo n.º 12
0
        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;
        }