void HandleCancelTrade(CancelTrade cancelTrade) { // sent also after LOGOUT COMPLETE if (GetPlayer()) // needed because STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT { GetPlayer().TradeCancel(true); } }
public async Task <EboTradeResponse> CancelTrade(CancelTrade cancelTrade, RequestTokenResponse requestTokenResponse, IEquiasConfiguration equiasConfiguration) { try { var httpClient = httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri(equiasConfiguration.ApiDomain); httpClient.DefaultRequestHeaders.Add("token", requestTokenResponse?.Token); return(await DeleteAsync <CancelTrade, EboTradeResponse>(httpClient, equiasConfiguration.CancelTradeUri, cancelTrade, false)); } catch (Exception ex) { logger.LogError(ex, "{Message}", ex.Message); return(new EboTradeResponse { IsSuccessStatusCode = false, Message = ex.Message }); } }
public async Task <EboTradeResponse> CancelTradeAsync(string tradeReference, int tradeLeg, string apiJwtToken) { var equiasConfiguration = new EquiasConfiguration(await GetEquiasDomainAsync(apiJwtToken)); var requestTokenResponse = await CreateAuthenticationTokenAsync(apiJwtToken); var cancelTrade = new CancelTrade { TradeId = EquiasService.MapTradeId(tradeReference, tradeLeg) }; var eboTradeResponse = await equiasService.CancelTrade(cancelTrade, requestTokenResponse, equiasConfiguration); var tradeDataObject = await GetTradeAsync(tradeReference, tradeLeg, apiJwtToken); var addTradePostSubmission = SetTradePostSubmission(eboTradeResponse, tradeDataObject); var savePostSubmissionAdd = await SaveTradeAsync(addTradePostSubmission, apiJwtToken); logger.LogInformation("Cancel Trade updated (EboSubmissionStatus={EboSubmissionStatus}), result: {Status}", tradeDataObject.External.Equias.EboSubmissionStatus, savePostSubmissionAdd.Status); return(eboTradeResponse); }