Exemplo n.º 1
0
        public static async Task <List <GTS.RequestGtsHolder> > GetUserTrades(uint userId)
        {
            var conn = new OpenConnection();

            if (!conn.IsConnected())
            {
                return(null);
            }
            const string s = "SELECT id, Offer, Request, Accepted FROM GTS WHERE user_id = @id";
            var          c = new MySqlCommand(s, conn.Connection);

            c.Parameters.AddWithValue("@id", userId);
            var ls = new List <GTS.RequestGtsHolder>();
            var r  = await c.ExecuteReaderAsync();

            while (await r.ReadAsync())
            {
                var req = new GTS.RequestGtsHolder
                {
                    Index    = (int)r["id"],
                    Offer    = JsonConvert.DeserializeObject <GTS.GamePokemon>((string)r["Offer"]),
                    Request  = JsonConvert.DeserializeObject <GTS.RequestData>((string)r["Request"]),
                    Accepted = (bool)r["Accepted"]
                };
                ls.Add(req);
            }
            await conn.Close();

            return(ls);
        }
Exemplo n.º 2
0
        public static async Task <List <GTS.RequestGtsHolder> > GetTrades(uint startingIndex, GTS.FilterHolder filter)
        {
            var conn = new OpenConnection();

            if (!conn.IsConnected())
            {
                return(null);
            }
            var com = "SELECT id, Offer, Request, Accepted FROM GTS " +
                      "WHERE (Accepted = 0 " +
                      "AND OfferLevel >= @minLevel";

            if (filter.Species != 0)
            {
                com += " AND (Offer->'$.species') = @species";
            }
            const int ignoreNature = 25;

            if (filter.Nature != ignoreNature)
            {
                com += " AND (Offer ->'$.nature') = @nature";
            }
            const int ignoreGender = 2;

            if (filter.Gender != ignoreGender)
            {
                com += " AND (Offer->'$.gender') = @gender";
            }
            com += ") LIMIT @index, 4";
            var mcom = new MySqlCommand(com, conn.Connection);

            mcom.Parameters.AddWithValue("@index", startingIndex);
            mcom.Parameters.AddWithValue("@minLevel", filter.MinLevel);
            if (filter.Nature != ignoreNature)
            {
                mcom.Parameters.AddWithValue("@nature", filter.Nature);
            }
            if (filter.Gender != ignoreGender)
            {
                mcom.Parameters.AddWithValue("@gender", filter.Gender);
            }

            if (filter.Species != 0)
            {
                mcom.Parameters.AddWithValue("@species", filter.Species);
            }
            var r = await mcom.ExecuteReaderAsync();

            var ls = new List <GTS.RequestGtsHolder>();

            while (await r.ReadAsync())
            {
                var h = new GTS.RequestGtsHolder
                {
                    Index    = (int)r["id"],
                    Offer    = JsonConvert.DeserializeObject <GTS.GamePokemon>((string)r["Offer"]),
                    Request  = JsonConvert.DeserializeObject <GTS.RequestData>((string)r["Request"]),
                    Accepted = (bool)r["Accepted"]
                };
                ls.Add(h);
            }
            await conn.Close();

            return(ls);
        }