Esempio n. 1
0
        public async Task AddOrReplaceRouteAsync(IMatchingEngineRoute route)
        {
            // Create Editable Object
            var matchingEngineRoute = MatchingEngineRoute.Create(route);

            matchingEngineRoute.ClientId           = GetValueOrAnyIfValid(route.ClientId, ValidateClient);
            matchingEngineRoute.TradingConditionId = GetValueOrAnyIfValid(route.TradingConditionId, ValidateTradingCondition);
            matchingEngineRoute.Instrument         = GetValueOrAnyIfValid(route.Instrument, ValidateInstrument);
            matchingEngineRoute.Asset = GetValueOrAnyIfValid(route.Asset, null);

            await _repository.AddOrReplaceRouteAsync(matchingEngineRoute);

            _routesCacheService.SaveRoute(matchingEngineRoute);
        }
Esempio n. 2
0
        //TODO: Risk manager related stuff may be removed one time..

        public Task AddOrReplaceRouteInCacheAsync(IMatchingEngineRoute route)
        {
            // Create Editable Object
            var matchingEngineRoute = MatchingEngineRoute.Create(route);

            matchingEngineRoute.ClientId           = GetValueOrAnyIfValid(route.ClientId, null);
            matchingEngineRoute.TradingConditionId = GetValueOrAnyIfValid(route.TradingConditionId, ValidateTradingCondition);
            matchingEngineRoute.Instrument         = GetValueOrAnyIfValid(route.Instrument, ValidateInstrument);
            matchingEngineRoute.Asset = GetValueOrAnyIfValid(route.Asset, null);

            _routesCacheService.SaveRoute(matchingEngineRoute);

            return(Task.CompletedTask);
        }