public void OfferInvestmentOnSecondaryMarketOk() { var request = new SecondaryMarketOfferSell() { InvestmentId = 15822, RemainingPrincipal = 199.66M, FeeAmount = 21.98M }; _zonkyApi.OfferInvestmentOnSecondaryMarketAsync(request, _tokenProvider.GetToken(), CancellationToken.None).GetAwaiter().GetResult(); }
/// <summary> /// Offer investment on secondary market to sell /// </summary> /// <param name="secondaryMarketOfferSell">Secondary market offer to sell</param> /// <param name="authorizationToken"></param> /// <param name="ct"></param> /// <returns></returns> public async Task OfferInvestmentOnSecondaryMarketAsync(SecondaryMarketOfferSell secondaryMarketOfferSell, AuthorizationToken authorizationToken, CancellationToken ct = default) { CheckAuthorizationToken(authorizationToken); using (var request = PrepareAuthorizedRequest($"/users/me/traded-investments", HttpMethod.Post, authorizationToken).AddJsonContent(secondaryMarketOfferSell, Settings)) using (var response = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseContentRead, ct).ConfigureAwait(false)) { await _resolverFactory.Create(Settings, true) .ConfigureStatusResponce(HttpStatusCode.OK, (message) => { }) .ConfigureStatusResponce(HttpStatusCode.NoContent, (message) => { }) .ConfigureStatusResponce <SecondaryMarketOfferSellError>(HttpStatusCode.BadRequest, (error, message) => throw new OfferInvestmentSecondaryMarketException(secondaryMarketOfferSell, error)) .ConfigureDefaultResponce((message) => throw new ServerErrorException(message)) .ExtractDataAsync(response); } }
public OfferInvestmentSecondaryMarketException(SecondaryMarketOfferSell secondaryMarketOfferSell, SecondaryMarketOfferSellError secondaryMarketOfferSellError) : base($"Offer investment on secondary market {secondaryMarketOfferSell.ToString()} failed with {secondaryMarketOfferSellError.ToString()}") { }
/// <summary> /// Offer investment on secondary market to sell /// </summary> /// <param name="secondaryMarketOfferSell">Secondary market offer to sell</param> /// <param name="ct"></param> /// <returns></returns> public async Task OfferInvestmentOnSecondaryMarketAsync(SecondaryMarketOfferSell secondaryMarketOfferSell, CancellationToken ct = default) { CheckTradingPrerequisites(); await HandleAuthorizedRequestAsync(() => ZonkyApi.OfferInvestmentOnSecondaryMarketAsync(secondaryMarketOfferSell, AuthorizationToken, ct), ct).ConfigureAwait(false); }