public async Task <StrawpollPoll> PostPoll(StrawpollSettings settings) { Debug.WriteLine($"{nameof(StrawpollService)}: {nameof(PostPoll)} - Begin"); StrawpollPoll rawPoll = settings.CreatePoll(); Uri endpoint = new Uri(API_ENDPOINT + $"polls"); Debug.WriteLine($"{nameof(StrawpollService)}: {nameof(PostPoll)} - URI Made"); var requestMessage = new HttpRequestMessage(HttpMethod.Post, endpoint); requestMessage.Content = new StringContent(JsonConvert.SerializeObject(rawPoll), Encoding.UTF8, "application/json"); var response = await m_client.SendAsync(requestMessage); Debug.WriteLine($"{nameof(StrawpollService)}: {nameof(PostPoll)} - Message Sent"); CurrentResponse = response; if (response.IsSuccessStatusCode) { var responseText = await response.Content.ReadAsStringAsync(); Debug.WriteLine($"{nameof(StrawpollService)}: {nameof(PostPoll)} - Message Recieved"); Debug.WriteLine($"{responseText}"); StrawpollPoll responsePoll = JsonConvert.DeserializeObject <StrawpollPoll>(responseText); Debug.WriteLine($"{nameof(StrawpollService)}: {nameof(PostPoll)} - Deserialized"); Debug.WriteLine($"{nameof(StrawpollService)}: {nameof(PostPoll)} - End"); return(responsePoll); } return(null); }
public static StrawpollSettings GeneratePostSettings(string title, bool multi, List <string> options) { StrawpollSettings settings = new StrawpollSettings(); settings.Title = title; settings.Multi = multi; settings.Options.AddRange(options); return(settings); }