예제 #1
0
 void HandleCancelTrade(CancelTrade cancelTrade)
 {
     // sent also after LOGOUT COMPLETE
     if (GetPlayer())                                             // needed because STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT
     {
         GetPlayer().TradeCancel(true);
     }
 }
예제 #2
0
        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
                });
            }
        }
예제 #3
0
        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);
        }