示例#1
0
        public async Task <IActionResult> AddRoute([FromBody] NewMatchingEngineRouteRequest request)
        {
            var newRoute = DomainObjectsFactory.CreateRoute(request);
            await _routesManager.AddOrReplaceRouteAsync(newRoute);

            return(Ok(newRoute));
        }
示例#2
0
 public static IMatchingEngineRoute CreateRoute(NewMatchingEngineRouteRequest request, string id = null)
 {
     return(new MatchingEngineRoute
     {
         Id = id ?? Guid.NewGuid().ToString().ToUpper(),
         Rank = request.Rank,
         TradingConditionId = request.TradingConditionId,
         ClientId = request.ClientId,
         Instrument = request.Instrument,
         Type = request.Type?.ToType <OrderDirection>(),
         MatchingEngineId = request.MatchingEngineId,
         Asset = request.Asset
     });
 }
示例#3
0
        public async Task <IActionResult> EditRoute(string id, [FromBody] NewMatchingEngineRouteRequest request)
        {
            var existingRoute = _routesManager.GetRouteById(id);

            if (existingRoute != null)
            {
                var route = DomainObjectsFactory.CreateRoute(request, id);
                await _routesManager.AddOrReplaceRouteAsync(route);

                return(Ok(_routesManager));
            }
            else
            {
                throw new Exception("MatchingEngine Route not found");
            }
        }