コード例 #1
0
        /// <inheritdoc />
        /// <summary>
        /// Create a level schema &lt;b&gt;Permissions Needed:&lt;/b&gt; LEVELING_ADMIN
        /// </summary>
        /// <param name="level">The level schema definition</param>
        public void CreateLevel(LevelingResource level)
        {
            mWebCallEvent.WebPath = "/leveling";
            if (!string.IsNullOrEmpty(mWebCallEvent.WebPath))
            {
                mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{format}", "json");
            }

            mWebCallEvent.HeaderParams.Clear();
            mWebCallEvent.QueryParams.Clear();
            mWebCallEvent.AuthSettings.Clear();
            mWebCallEvent.PostBody = null;

            mWebCallEvent.PostBody = KnetikClient.Serialize(level); // http body (model) parameter

            // authentication settings
            mWebCallEvent.AuthSettings.Add("oauth2_client_credentials_grant");

            // authentication settings
            mWebCallEvent.AuthSettings.Add("oauth2_password_grant");

            // make the HTTP request
            mCreateLevelStartTime     = DateTime.Now;
            mWebCallEvent.Context     = mCreateLevelResponseContext;
            mWebCallEvent.RequestType = KnetikRequestType.POST;

            KnetikLogger.LogRequest(mCreateLevelStartTime, "CreateLevel", "Sending server request...");
            KnetikGlobalEventSystem.Publish(mWebCallEvent);
        }
コード例 #2
0
        private void OnUpdateLevelResponse(KnetikRestResponse response)
        {
            if (!string.IsNullOrEmpty(response.Error))
            {
                throw new KnetikException("Error calling UpdateLevel: " + response.Error);
            }

            UpdateLevelData = (LevelingResource)KnetikClient.Deserialize(response.Content, typeof(LevelingResource), response.Headers);
            KnetikLogger.LogResponse(mUpdateLevelStartTime, "UpdateLevel", string.Format("Response received successfully:\n{0}", UpdateLevelData));

            if (UpdateLevelComplete != null)
            {
                UpdateLevelComplete(response.ResponseCode, UpdateLevelData);
            }
        }
コード例 #3
0
        /// <inheritdoc />
        /// <summary>
        /// Update a level &lt;b&gt;Permissions Needed:&lt;/b&gt; LEVELING_ADMIN
        /// </summary>
        /// <param name="name">The level schema name</param>
        /// <param name="newLevel">The level schema definition</param>
        public void UpdateLevel(string name, LevelingResource newLevel)
        {
            // verify the required parameter 'name' is set
            if (name == null)
            {
                throw new KnetikException(400, "Missing required parameter 'name' when calling UpdateLevel");
            }

            mWebCallEvent.WebPath = "/leveling/{name}";
            if (!string.IsNullOrEmpty(mWebCallEvent.WebPath))
            {
                mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{format}", "json");
            }
            mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{" + "name" + "}", KnetikClient.ParameterToString(name));

            mWebCallEvent.HeaderParams.Clear();
            mWebCallEvent.QueryParams.Clear();
            mWebCallEvent.AuthSettings.Clear();
            mWebCallEvent.PostBody = null;

            mWebCallEvent.PostBody = KnetikClient.Serialize(newLevel); // http body (model) parameter

            // authentication settings
            mWebCallEvent.AuthSettings.Add("oauth2_client_credentials_grant");

            // authentication settings
            mWebCallEvent.AuthSettings.Add("oauth2_password_grant");

            // make the HTTP request
            mUpdateLevelStartTime     = DateTime.Now;
            mWebCallEvent.Context     = mUpdateLevelResponseContext;
            mWebCallEvent.RequestType = KnetikRequestType.PUT;

            KnetikLogger.LogRequest(mUpdateLevelStartTime, "UpdateLevel", "Sending server request...");
            KnetikGlobalEventSystem.Publish(mWebCallEvent);
        }