public GetPlayerAwards ( int Pid ) : object>>.List |
||
Pid | int | The Player ID |
return | object>>.List |
/// <summary> /// This request provides a list of awards for a particular player /// </summary> /// <queryParam name="pid" type="int">The unique player ID</queryParam> /// <param name="Client">The HttpClient who made the request</param> /// <param name="Driver">The Stats Database Driver. Connection errors are handled in the calling object</param> public GetAwardsInfo(HttpClient Client, StatsDatabase Driver) { int Pid; // make sure we have a valid player ID if (!Client.Request.QueryString.ContainsKey("pid") || !Int32.TryParse(Client.Request.QueryString["pid"], out Pid)) { Client.Response.WriteResponseStart(false); Client.Response.WriteHeaderLine("asof", "err"); Client.Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp(), "Invalid Syntax!"); Client.Response.Send(); return; } // Output header data Client.Response.WriteResponseStart(); Client.Response.WriteHeaderLine("pid", "asof"); Client.Response.WriteDataLine(Pid, DateTime.UtcNow.ToUnixTimestamp()); Client.Response.WriteHeaderLine("award", "level", "when", "first"); try { // Fetch Player Awards List<Dictionary<string, object>> Awards = Driver.GetPlayerAwards(Pid); // Write each award as a new data line foreach (Dictionary<string, object> Award in Awards) Client.Response.WriteDataLine(Award["awd"], Award["level"], Award["earned"], Award["first"]); } catch { } // Send Response Client.Response.Send(); }
public override void HandleRequest() { int Pid; // make sure we have a valid player ID if (!Request.QueryString.ContainsKey("pid") || !Int32.TryParse(Request.QueryString["pid"], out Pid)) { Response.WriteResponseStart(false); Response.WriteHeaderLine("asof", "err"); Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp(), "Invalid Syntax!"); Response.Send(); return; } // Output header data Response.WriteResponseStart(); Response.WriteHeaderLine("pid", "asof"); Response.WriteDataLine(Pid, DateTime.UtcNow.ToUnixTimestamp()); Response.WriteHeaderLine("award", "level", "when", "first"); // Fetch Player Awards // NOTE: The HttpServer will handle the DbConnectException using (Database = new StatsDatabase()) { List<Dictionary<string, object>> Awards = Database.GetPlayerAwards(Pid); // Write each award as a new data line foreach (Dictionary<string, object> Award in Awards) Response.WriteDataLine(Award["awd"], Award["level"], Award["earned"], Award["first"]); // Send Response Response.Send(); } }