/// <inheritdoc /> /// <summary> /// Create a level schema <b>Permissions Needed:</b> 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); }
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); } }
/// <inheritdoc /> /// <summary> /// Update a level <b>Permissions Needed:</b> 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); }