static void Main(string[] args) { var provider = new AuthenticatedClientProvider(); var client = provider.GetClientFor <ITradeService>(Assembly.GetExecutingAssembly().FullName.Split(",").First(), ServiceConstants.ServiceGatewayUrl, ServiceConstants.TradeRealm); _rand = new Random(); var log = new LoggerConfiguration() .WriteTo.Console() .CreateLogger(); while (true) { Thread.Sleep(500); var asset = _assets.Random(); var tradeCreation = new TradeCreationDto() { Asset = asset.Name, Way = _rand.Next(0, 2) == 0 ? TradeWay.Sell : TradeWay.Buy, Counterpary = _counterparties.Random(), Currency = "EUR", Nominal = _rand.Next(10, 100), Price = asset.Price }; log.Information($"{tradeCreation}"); client.Create(tradeCreation).Wait(); } }
public async Task <TradeCreationResult> Create([FromBody] TradeCreationDto tradeCreationDemand) { var result = await _repository.Create(tradeCreationDemand); var @event = new TradeCreated() { TradeId = result.TradeId }; await _tradeEventProcessor.Emit(@event); return(result); }
public Task <TradeCreationResult> Create(TradeCreationDto tradeCreation) { var id = Guid.NewGuid(); var trade = new Trade() { Asset = tradeCreation.Asset, Counterpary = tradeCreation.Counterpary, Currency = tradeCreation.Currency, Nominal = tradeCreation.Nominal, Price = tradeCreation.Price, Status = TradeStatus.None, Way = tradeCreation.Way, TradeId = id }; _repository.AddOrUpdate(id, trade, (key, oldValue) => trade); return(Task.FromResult(new TradeCreationResult() { TradeId = id })); }
public async Task <TradeCreationResult> Create([FromBody] TradeCreationDto tradeCreationDemand) { var result = await _repository.Create(tradeCreationDemand); return(result); }