/// <inheritdoc /> /// <summary> /// Create a new poll Polls are blobs of text with titles, a category and assets. Formatting and display of the text is in the hands of the front end. <br><br><b>Permissions Needed:</b> POLLS_ADMIN /// </summary> /// <param name="pollResource">The poll object</param> public void CreatePoll(PollResource pollResource) { mWebCallEvent.WebPath = "/media/polls"; 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(pollResource); // 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 mCreatePollStartTime = DateTime.Now; mWebCallEvent.Context = mCreatePollResponseContext; mWebCallEvent.RequestType = KnetikRequestType.POST; KnetikLogger.LogRequest(mCreatePollStartTime, "CreatePoll", "Sending server request..."); KnetikGlobalEventSystem.Publish(mWebCallEvent); }
/// <inheritdoc /> /// <summary> /// Update an existing poll <b>Permissions Needed:</b> POLLS_ADMIN /// </summary> /// <param name="id">The poll id</param> /// <param name="pollResource">The poll object</param> public void UpdatePoll(string id, PollResource pollResource) { // verify the required parameter 'id' is set if (id == null) { throw new KnetikException(400, "Missing required parameter 'id' when calling UpdatePoll"); } mWebCallEvent.WebPath = "/media/polls/{id}"; if (!string.IsNullOrEmpty(mWebCallEvent.WebPath)) { mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{format}", "json"); } mWebCallEvent.WebPath = mWebCallEvent.WebPath.Replace("{" + "id" + "}", KnetikClient.ParameterToString(id)); mWebCallEvent.HeaderParams.Clear(); mWebCallEvent.QueryParams.Clear(); mWebCallEvent.AuthSettings.Clear(); mWebCallEvent.PostBody = null; mWebCallEvent.PostBody = KnetikClient.Serialize(pollResource); // 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 mUpdatePollStartTime = DateTime.Now; mWebCallEvent.Context = mUpdatePollResponseContext; mWebCallEvent.RequestType = KnetikRequestType.PUT; KnetikLogger.LogRequest(mUpdatePollStartTime, "UpdatePoll", "Sending server request..."); KnetikGlobalEventSystem.Publish(mWebCallEvent); }