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()); }
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 }); }
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)); }