public async Task <IActionResult> Add([FromBody] AddOfficeDocumentRequest request)
        {
            if (request == null)
            {
                return(GetError(ErrorCodes.InvalidRequest, ErrorDescriptions.NoRequest, HttpStatusCode.BadRequest));
            }

            var subject   = GetSubject();
            var parameter = request.ToParameter(subject);
            await _officeDocumentActions.Add(_options.OpenIdWellKnownConfiguration, parameter, GetAuthenticateParameter(_options));

            return(new OkResult());
        }
Exemple #2
0
        public static AddDocumentParameter ToParameter(this AddOfficeDocumentRequest request, string subject)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(new AddDocumentParameter
            {
                Id = request.Id,
                Subject = subject,
                DisplayName = request.DisplayName
            });
        }
Exemple #3
0
        public async Task <BaseResponse> Execute(AddOfficeDocumentRequest request, string url, string accessToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (string.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentNullException(nameof(url));
            }

            var httpClient = _httpClientFactory.GetHttpClient();
            var serializedPostPermission = JsonConvert.SerializeObject(request);
            var body        = new StringContent(serializedPostPermission, Encoding.UTF8, "application/json");
            var httpRequest = new HttpRequestMessage
            {
                Method     = HttpMethod.Post,
                Content    = body,
                RequestUri = new Uri(url)
            };

            if (!string.IsNullOrWhiteSpace(accessToken))
            {
                httpRequest.Headers.Add("Authorization", "Bearer " + accessToken);
            }
            var httpResponse = await httpClient.SendAsync(httpRequest).ConfigureAwait(false);

            var json = await httpResponse.Content.ReadAsStringAsync();

            try
            {
                httpResponse.EnsureSuccessStatusCode();
            }
            catch (Exception ex)
            {
                return(new BaseResponse
                {
                    HttpStatus = httpResponse.StatusCode,
                    ContainsError = true,
                    Error = JsonConvert.DeserializeObject <ErrorResponse>(json)
                });
            }

            return(new BaseResponse
            {
                ContainsError = false
            });
        }
 public Task <BaseResponse> Add(AddOfficeDocumentRequest request, string url, string accessToken)
 {
     return(_addOfficeDocumentOperation.Execute(request, url, accessToken));
 }
        public async Task <BaseResponse> AddResolve(AddOfficeDocumentRequest request, string configurationUrl, string accessToken)
        {
            var configuration = await _getConfigurationOperation.Execute(new Uri(configurationUrl)).ConfigureAwait(false);

            return(await _addOfficeDocumentOperation.Execute(request, configuration.OfficeDocumentsEndpoint, accessToken).ConfigureAwait(false));
        }