public BaselineData ComputeBaselinePPU(Models.Baseline baseline) { double sgdM = (double)baseline.originModifier; double usdM = (double)baseline.usdModifier; double gbpM = (double)baseline.gdpModifier; BaselineData data = new BaselineData { sgdToUsdBaseline = usdM / sgdM, usdToSgdBaseline = sgdM / usdM, sgdToGbpBaseline = gbpM / sgdM, gbpToSgdBaseline = sgdM / gbpM, usdToGbpBaseline = (gbpM / sgdM) * (sgdM / usdM), gbpToUsdBaseline = (usdM / sgdM) * (sgdM / gbpM), hasValues = true }; /*_logger.LogInformation("Hello11 " + data.sgdToUsdBaseline); * _logger.LogInformation("Hello12 " + data.usdToSgdBaseline); * _logger.LogInformation("Hello13 " + data.sgdToGbpBaseline); * _logger.LogInformation("Hello14 " + data.gbpToSgdBaseline); * _logger.LogInformation("Hello15 " + data.usdToGbpBaseline); * _logger.LogInformation("Hello16 " + data.gbpToUsdBaseline);*/ //_cache.Set(cacheKey, data); return(data); }
public async Task <Models.Baseline> GetBaseline() { var request = new HttpRequestMessage(HttpMethod.Get, "/api/v1/trade/baseline"); var client = _clientFactory.CreateClient("TradeBankProject"); var response = await client.SendAsync(request); dynamic message = response.Content; Models.Baseline baseline = new Models.Baseline { recordId = message.recordId, originType = message.originType, originModifier = message.originModifier, usdModifier = message.usdModifier, gdpModifier = message.gbpModifier, createdTs = message.createdTs, version = message.version }; return(baseline); }
public override async Task ProcessingLogic(IConsumer <string, string> consumer, ConsumeResult <string, string> message) { dynamic kafkaMessage = JsonConvert.DeserializeObject(message.Value); //_logger.LogInformation($"message {message.Value}"); if (kafkaMessage.tradeId != null) { //_logger.LogInformation("==========================================================================TradeOffer"); Models.UserInput userInput = new Models.UserInput { tradeId = kafkaMessage.tradeId, sourceCurrency = kafkaMessage.paymentCurrency, PPU = kafkaMessage.pricePerUnit, purchaseAmount = kafkaMessage.requestedAmount, purchaseCurrency = kafkaMessage.requestedCurrency, status = "Received", timestampCreated = DateTime.Now }; String status = await _tradeAlgo.ShouldAcceptTrade(userInput, baselineData); userInput.status = status; var gg = await _userInput.AddUserInput(userInput); } else if (kafkaMessage.RecordId != null) { //_logger.LogInformation("==========================================================================TradeBaseline"); /*_logger.LogInformation("Hello1 " + baselineData.sgdToUsdBaseline); * _logger.LogInformation("Hello2 " + baselineData.usdToSgdBaseline); * _logger.LogInformation("Hello3 " + baselineData.sgdToGbpBaseline); * _logger.LogInformation("Hello4 " + baselineData.gbpToSgdBaseline); * _logger.LogInformation("Hello5 " + baselineData.usdToGbpBaseline); * _logger.LogInformation("Hello6 " + baselineData.gbpToUsdBaseline);*/ Models.Baseline baseline = new Models.Baseline { recordId = kafkaMessage.RecordId, originType = kafkaMessage.OriginType, originModifier = kafkaMessage.OriginModifier, usdModifier = kafkaMessage.UsdModifier, gdpModifier = kafkaMessage.GbpModifier, createdTs = kafkaMessage.CreatedTs, version = kafkaMessage.Version }; baselineData = _tradeAlgo.ComputeBaselinePPU(baseline); /*_logger.LogInformation("Hello11 " + baselineData.sgdToUsdBaseline); * _logger.LogInformation("Hello12 " + baselineData.usdToSgdBaseline); * _logger.LogInformation("Hello13 " + baselineData.sgdToGbpBaseline); * _logger.LogInformation("Hello14 " + baselineData.gbpToSgdBaseline); * _logger.LogInformation("Hello15 " + baselineData.usdToGbpBaseline); * _logger.LogInformation("Hello16 " + baselineData.gbpToUsdBaseline);*/ } else { _logger.LogInformation("==========================================================================ERROR, wrong format"); _logger.LogInformation($"message {message.Value}"); } consumer.Commit(message); }