コード例 #1
0
        public static bool TryParse(string response, out GetModVersionResponse getModVersion)
        {
            try
            {
                XDocument xdoc = XDocument.Parse(response);
                XElement  root = xdoc.Element("NinjaApi2Controller.ModVersion");
                // Payload portion will be ignored as it's not used

                /*XElement parent = root.Element("Payload");
                 * XElement v = parent.Element("ModId");
                 * string id = v.Value;
                 * v = parent.Element("Version");
                 * string version = v.Value;*/

                XElement parent = root.Element("Status");
                XElement v      = parent.Element("Error");
                int      error;
                int.TryParse(v.Value, out error);
                v = parent.Element("Success");
                bool success;
                bool.TryParse(v.Value, out success);

                getModVersion = new GetModVersionResponse();
                getModVersion.Status.Error   = error;
                getModVersion.Status.Success = success;
                return(true);
            }
            catch
            {
                getModVersion = null;
                return(false);
            }
        }
コード例 #2
0
        /// <summary>
        /// Gets the mod version by mod id.
        /// Synchronous call!
        /// </summary>
        /// <param name="modId">Mod ID</param>
        /// <returns>GetModVersionResponse object</returns>
        public GetModVersionResponse GetModVersion(string modId)
        {
            try
            {
                WebRequest request = WebRequest.Create(URL + "GetModVersion?modId=" + modId);

                request.Method  = "GET";
                request.Timeout = 20000;
                var response = request.GetResponse() as HttpWebResponse;

                using (Stream stream = response.GetResponseStream())
                {
                    var reader         = new StreamReader(stream, Encoding.UTF8);
                    var responseString = reader.ReadToEnd();
                    GetModVersionResponse result;
                    GetModVersionResponse.TryParse(responseString, out result);
                    return(result);
                }
            }
            catch (Exception e)
            {
                return(new GetModVersionResponse()
                {
                    Payload = new ModVersionPayload(), Status = new ResponseStatus()
                    {
                        Error = (int)ModVersionApiErrors.UnknownError, Success = false
                    }
                });
            }
        }