Exemplo n.º 1
0
        public Guest GetGuest(string guestName)
        {
            var uri    = GetGuestsUri(string.Format("/{0}", Uri.EscapeDataString(guestName)));
            var result = baseClient.DoRequest(uri);

            return(Guest.Parse(baseClient, result.data));
        }
Exemplo n.º 2
0
        public static Player Parse(SpeedrunComClient client, dynamic playerElement)
        {
            var player = new Player();

            var properties = playerElement as IDictionary <string, dynamic>;

            if (properties.ContainsKey("uri"))
            {
                if (properties["rel"] == "user")
                {
                    player.UserID = properties["id"];
                    player.user   = new Lazy <User>(() => client.Users.GetUser(player.UserID));
                    player.guest  = new Lazy <Guest>(() => null);
                }
                else
                {
                    player.GuestName = properties["name"];
                    player.guest     = new Lazy <Guest>(() => client.Guests.GetGuest(player.GuestName));
                    player.user      = new Lazy <User>(() => null);
                }
            }
            else
            {
                if (properties["rel"] == "user")
                {
                    var user = User.Parse(client, properties) as User;
                    player.user   = new Lazy <User>(() => user);
                    player.UserID = user.ID;
                    player.guest  = new Lazy <Guest>(() => null);
                }
                else
                {
                    var guest = Guest.Parse(client, properties) as Guest;
                    player.guest     = new Lazy <Guest>(() => guest);
                    player.GuestName = guest.Name;
                    player.user      = new Lazy <User>(() => null);
                }
            }

            return(player);
        }