Beispiel #1
0
        public void onBandResult(string jsonResult)
        {
            JsonParser   jsonParser = new JsonParser(new StringReader(jsonResult), true);
            JsonObject   jsonObject = jsonParser.ParseObject();
            RequestCode  reqCode    = (RequestCode)((JsonNumber)jsonObject[BandGameObject.REQUEST_CODE]).Value;
            int          num        = -1;
            NXBandResult result     = null;

            if (jsonObject.ContainsKey(BandGameObject.RESULT))
            {
                JsonObject jsonObject2 = (JsonObject)jsonObject[BandGameObject.RESULT];
                if (jsonObject2.ContainsKey("result_data"))
                {
                    result = NXBandResult.makeFromJson(reqCode, (JsonObject)jsonObject2["result_data"]);
                }
                if (jsonObject2.ContainsKey("result_code"))
                {
                    num = (int)((JsonNumber)((JsonObject)jsonObject[BandGameObject.RESULT])["result_code"]).Value;
                }
            }
            if (num < 0)
            {
                num = (int)((JsonNumber)jsonObject[BandGameObject.RESULT_CODE]).Value;
            }
            if (this._resultHandler != null)
            {
                BandResultHandler resultHandler = this._resultHandler;
                this._resultHandler = null;
                resultHandler.onResult(reqCode, num, result);
            }
        }
Beispiel #2
0
        public static NXBandResult makeFromJson(RequestCode reqCode, JsonObject resultObject)
        {
            NXBandResult nXBandResult;

            switch (reqCode)
            {
            case RequestCode.REQUEST_PROFILE:
            case RequestCode.REQUEST_MY_PROFILE:
                nXBandResult = new NXBandResultProfile
                {
                    member = new NXBandTypeMember(resultObject)
                };
                break;

            case RequestCode.REQUEST_USER_KEY:
            {
                NXBandResultUserKey nXBandResultUserKey = new NXBandResultUserKey();
                if (resultObject.ContainsKey("message"))
                {
                    nXBandResultUserKey.key = ((JsonString)resultObject["message"]).Value;
                }
                nXBandResult = nXBandResultUserKey;
                break;
            }

            case RequestCode.REQUEST_LIST_MEMBER:
            {
                NXBandResultListMembers nXBandResultListMembers = new NXBandResultListMembers();
                if (resultObject.ContainsKey("members"))
                {
                    JsonArray jsonArray = (JsonArray)resultObject["members"];
                    using (IEnumerator <IJsonType> enumerator = jsonArray.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            JsonObject json = (JsonObject)enumerator.Current;
                            nXBandResultListMembers.members.Add(new NXBandTypeMember(json));
                        }
                    }
                }
                if (resultObject.ContainsKey("page_info"))
                {
                    nXBandResultListMembers.pageInfo = new NXBandTypePageInfo((JsonObject)resultObject["page_info"]);
                }
                if (resultObject.ContainsKey("cache_info"))
                {
                    nXBandResultListMembers.cache = new NXBandTypeCache((JsonObject)resultObject["cache_info"]);
                }
                nXBandResult = nXBandResultListMembers;
                break;
            }

            case RequestCode.REQUEST_LIST_BAND_MEMBER:
            {
                NXBandResultListBandMembers nXBandResultListBandMembers = new NXBandResultListBandMembers();
                if (resultObject.ContainsKey("members_of_bands"))
                {
                    JsonArray jsonArray2 = (JsonArray)resultObject["members_of_bands"];
                    using (IEnumerator <IJsonType> enumerator2 = jsonArray2.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            JsonObject json2 = (JsonObject)enumerator2.Current;
                            nXBandResultListBandMembers.bands.Add(new NXBandTypeBand(json2));
                        }
                    }
                }
                if (resultObject.ContainsKey("page_info"))
                {
                    nXBandResultListBandMembers.pageInfo = new NXBandTypePageInfo((JsonObject)resultObject["page_info"]);
                }
                if (resultObject.ContainsKey("cache_info"))
                {
                    nXBandResultListBandMembers.cache = new NXBandTypeCache((JsonObject)resultObject["cache_info"]);
                }
                nXBandResult = nXBandResultListBandMembers;
                break;
            }

            case RequestCode.REQUEST_SEND_INVITATION:
            case RequestCode.REQUEST_SEND_MESSAGE:
            case RequestCode.REQUEST_WRITE_POST:
            {
                NXBandResultWrite nXBandResultWrite = new NXBandResultWrite();
                if (resultObject.ContainsKey("quota"))
                {
                    JsonObject jsonObject = (JsonObject)resultObject["quota"];
                    if (jsonObject.ContainsKey("message"))
                    {
                        nXBandResultWrite.quota = new NXBandTypeQuota((JsonObject)jsonObject["message"]);
                    }
                    else if (jsonObject.ContainsKey("invite"))
                    {
                        nXBandResultWrite.quota = new NXBandTypeQuota((JsonObject)jsonObject["invite"]);
                    }
                    else if (jsonObject.ContainsKey("post"))
                    {
                        nXBandResultWrite.quota = new NXBandTypeQuota((JsonObject)jsonObject["post"]);
                    }
                }
                nXBandResult = nXBandResultWrite;
                break;
            }

            case RequestCode.REQUEST_LIST_BAND:
            {
                NXBandResultListBands nXBandResultListBands = new NXBandResultListBands();
                if (resultObject.ContainsKey("bands"))
                {
                    JsonArray jsonArray3 = (JsonArray)resultObject["bands"];
                    using (IEnumerator <IJsonType> enumerator3 = jsonArray3.GetEnumerator())
                    {
                        while (enumerator3.MoveNext())
                        {
                            JsonObject json3 = (JsonObject)enumerator3.Current;
                            nXBandResultListBands.bands.Add(new NXBandTypeBand(json3));
                        }
                    }
                }
                if (resultObject.ContainsKey("page_info"))
                {
                    nXBandResultListBands.pageInfo = new NXBandTypePageInfo((JsonObject)resultObject["page_info"]);
                }
                if (resultObject.ContainsKey("cache_info"))
                {
                    nXBandResultListBands.cache = new NXBandTypeCache((JsonObject)resultObject["cache_info"]);
                }
                nXBandResult = nXBandResultListBands;
                break;
            }

            case RequestCode.REQUEST_ACCESS_TOKEN:
            {
                NXBandResultAccessToken nXBandResultAccessToken = new NXBandResultAccessToken();
                if (resultObject.ContainsKey("access_token"))
                {
                    nXBandResultAccessToken.accessToken = ((JsonString)resultObject["access_token"]).Value;
                }
                nXBandResult = nXBandResultAccessToken;
                break;
            }

            case RequestCode.REQUEST_QUOTA:
            {
                NXBandResultQuota nXBandResultQuota = new NXBandResultQuota();
                if (resultObject.ContainsKey("quota"))
                {
                    JsonObject jsonObject2 = (JsonObject)resultObject["quota"];
                    if (jsonObject2.ContainsKey("message"))
                    {
                        nXBandResultQuota.quotaMessage = new NXBandTypeQuota((JsonObject)jsonObject2["message"]);
                    }
                    if (jsonObject2.ContainsKey("invite"))
                    {
                        nXBandResultQuota.quotaInvite = new NXBandTypeQuota((JsonObject)jsonObject2["invite"]);
                    }
                    if (jsonObject2.ContainsKey("post"))
                    {
                        nXBandResultQuota.quotaPost = new NXBandTypeQuota((JsonObject)jsonObject2["post"]);
                    }
                }
                nXBandResult = nXBandResultQuota;
                break;
            }

            case RequestCode.REQUEST_INVITER:
            {
                NXBandResultInviter nXBandResultInviter = new NXBandResultInviter();
                if (resultObject.ContainsKey("inviter"))
                {
                    JsonObject json4 = (JsonObject)resultObject["inviter"];
                    nXBandResultInviter.inviter = new NXBandTypeInviter(json4);
                }
                nXBandResult = nXBandResultInviter;
                break;
            }

            case RequestCode.REQUEST_CACHE_INFO:
            {
                NXBandResultCacheInfo nXBandResultCacheInfo = new NXBandResultCacheInfo();
                if (resultObject.ContainsKey("cache_info"))
                {
                    JsonObject json5 = (JsonObject)resultObject["cache_info"];
                    nXBandResultCacheInfo.cacheInfo = new NXBandTypeCache(json5);
                }
                nXBandResult = nXBandResultCacheInfo;
                break;
            }

            default:
                nXBandResult = new NXBandResult();
                break;
            }
            if (resultObject.ContainsKey("message"))
            {
                nXBandResult.message = ((JsonString)resultObject["message"]).Value;
            }
            return(nXBandResult);
        }