Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }