示例#1
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            UpdateViewRequest request;

            try
            {
                request = new UpdateViewRequest
                {
                    ViewId            = ViewId,
                    UpdateViewDetails = UpdateViewDetails,
                    IfMatch           = IfMatch,
                    IfUnmodifiedSince = IfUnmodifiedSince,
                    OpcRequestId      = OpcRequestId,
                    Scope             = Scope
                };

                response = client.UpdateView(request).GetAwaiter().GetResult();
                WriteOutput(response, response.View);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
示例#2
0
        public async Task <SlackResponse> UpdateViewAsync <T>(UpdateViewRequest <T> request,
                                                              string requestUrl = "views.publish", CancellationToken cancellationToken = default)
        {
            using (var httpClient = httpClientFactory.CreateClient(nameof(ISlackClient)))
            {
                HttpResponseMessage response;
                SlackResponse       slackResponse = new SlackResponse();
                try
                {
                    var updateViewSerialized = JsonConvert.SerializeObject(request);
                    response = await httpClient.PostAsync(requestUrl, new StringContent(updateViewSerialized,
                                                                                        Encoding.UTF8, "application/json"), cancellationToken);

                    var responseMessage = await response.Content.ReadAsStringAsync();

                    logger.LogInformation(responseMessage);
                    slackResponse = JsonConvert.DeserializeObject <SlackResponse>(responseMessage);
                    if (!response.IsSuccessStatusCode)
                    {
                        logger.LogError($"Error occured while sending message in slack with code: {response.StatusCode}");
                    }
                }
                catch (Exception ex)
                {
                    logger.LogError($"Couldn't update view for user with Id: {request.UserId}. Error: {ex.Message}");
                    return(slackResponse);
                }

                return(slackResponse);
            }
        }
示例#3
0
        public async Task <SlackResponse> UpdateViewAsync <T>(UpdateViewRequest <T> request, string botToken, string requestUrl = "views.publish")
        {
            using (var httpClient = httpClientFactory.CreateClient(nameof(ISlackClient)))
            {
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", botToken);
                HttpResponseMessage response;
                SlackResponse       slackResponse = new SlackResponse();
                try
                {
                    var updateViewSerialized = JsonConvert.SerializeObject(request);
                    response = await httpClient.PostAsync(requestUrl, new StringContent(updateViewSerialized,
                                                                                        Encoding.UTF8, "application/json"));

                    var responseSource = response.Content.ReadAsStringAsync().Result;
                    slackResponse = JsonConvert.DeserializeObject <SlackResponse>(responseSource);
                    if (!response.IsSuccessStatusCode)
                    {
                        logger.LogError($"Error occured while sending message in slack with code: {response.StatusCode}");
                    }
                }
                catch (Exception ex)
                {
                    logger.LogError($"Couldn't update view for user with Id: {request.UserId}. Error: {ex.Message}");
                    return(slackResponse);
                }

                return(slackResponse);
            }
        }