Example #1
0
        public void Serialize(BinaryAPIWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.Write(Placement);
            writer.Write(Name);

            writer.Write(OsuUserIds.Count);
            for (int i = 0; i < OsuUserIds.Count; i++)
            {
                writer.Write(OsuUserIds[i]);
            }
        }
Example #2
0
        public void Serialize(BinaryAPIWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.Write(Username);
            writer.Write(OsuId);
            writer.Write(BWSRank);
            writer.Write(TournamentWins);
            writer.Write(LastPlacement);
            writer.Write(TournamentsPlayed);
            writer.Write(BadgeCount);
            writer.Write(LastUpdated);
        }
Example #3
0
            public IHttpContext GetProfile(IHttpContext c)
            {
                if (!CheckApiKey(c))
                {
                    return(c);
                }

                string osuIdStr = c.Request.QueryString["id"];

                if (string.IsNullOrEmpty(osuIdStr))
                {
                    Respond(HttpStatusCode.NotFound, "id not found", c);
                    return(c);
                }

                if (!long.TryParse(osuIdStr, out long osuId))
                {
                    Respond(HttpStatusCode.InternalServerError, "Failed to parse id", c);
                    return(c);
                }

                using DBContext dbc = new DBContext();
                PlayerProfile profile = dbc.PlayerProfile.FirstOrDefault(p => p.OsuId == osuId);

                if (profile == null)
                {
                    Respond(HttpStatusCode.NotFound, "Profile not found", c);
                    return(c);
                }

                BinaryAPIWriter    writer    = new BinaryAPIWriter(c);
                GlobalStatsProfile gsprofile = (GlobalStatsProfile)profile;

                gsprofile.Serialize(writer);

                Respond(HttpStatusCode.Ok, "Sent", c);
                return(c);
            }
Example #4
0
        public void Serialize(BinaryAPIWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.Write(HostOsuId);
            writer.Write(Name);
            writer.Write(Acronym);
            writer.Write(Thread);
            writer.Write(CountryCode);
            writer.Write(Start);
            writer.Write(End);
            writer.Write(RankMin);
            writer.Write(RankMax);

            writer.Write(Teams.Count);
            for (int i = 0; i < Teams.Count; i++)
            {
                Teams[i].Serialize(writer);
            }
        }