public NodeGraph(ICalculationEngine calculationEngine, VertexConstructor vertexConstructor) : base() { foreach (var n in calculationEngine.Nodes) { var vertex = vertexConstructor.Invoke(n); AddVertex(vertex); if (n.Status == NodeStatus.Uninitialized) { n.Changed += (sender, e) => { if (calculationEngine.Nodes.All(node => node.Status != NodeStatus.Uninitialized)) { OnInitialized(EventArgs.Empty); } }; } } foreach (var n in calculationEngine.Nodes) { foreach (var d in n.GetDependentNodes()) { var edge = new NodeEdge(GetVertex(d.Id), GetVertex(n.Id)); AddEdge(edge); } } }
public void Initialize() { _calculationEngine = Substitute.For <ICalculationEngine>(); _providersApiClient = Substitute.For <IProvidersApiClient>(); _specificationsApiClient = Substitute.For <ISpecificationsApiClient>(); _providerSourceDatasetsRepository = Substitute.For <IProviderSourceDatasetsRepository>(); _calculationAggregationService = Substitute.For <ICalculationAggregationService>(); _calculationsRepository = Substitute.For <ICalculationsRepository>(); _logger = Substitute.For <ILogger>(); _mapper = CreateMapper(); _calculatorResiliencePolicies = new CalculatorResiliencePolicies { SpecificationsApiClient = Policy.NoOpAsync(), ProvidersApiClient = Policy.NoOpAsync(), CalculationsApiClient = Policy.NoOpAsync() }; _calculationEnginePreviewService = new CalculationEnginePreviewService( _calculationEngine, _providersApiClient, _mapper, _calculatorResiliencePolicies, _specificationsApiClient, _providerSourceDatasetsRepository, _calculationAggregationService, _calculationsRepository, _logger); }
public HousingLoanController( ILogger <HousingLoanController> logger, ICalculationEngine engine, ILoanConverter converter) { _converter = converter; _engine = engine; _logger = logger; }
public SimpleGraphViewModel(ICalculationEngine calculationEngine) : base() { _calculationEngine = calculationEngine; Graph = new NodeGraph(_calculationEngine, new VertexConstructor(node => (INodeVertex) new SimpleGraphVertex(node))); Graph.Initialized += Graph_Initialized; UpdateGraphCommand = new ActionCommand(() => UpdateGraph()); CalculateFullCommand = new ActionCommand(() => Graph.UpdateNode("out9")); CancelCalculateCommand = new ActionCommand(() => _calculationEngine.Calculation.Cancel()); CalculatePartialCommand = new ActionCommand(() => Graph.UpdateNode("out4")); CalculateSecondaryCommand = new ActionCommand(() => Graph.UpdateNode("out10")); }
public PromotionEngineTests() { _a = new Product("A", 50); _b = new Product("B", 30); _c = new Product("C", 20); _d = new Product("D", 15); _calculationService = new CalculationService(); _promotions = new List <IPromotion> { new PromotionService(new Promotion("A", 3, 130)), new PromotionService(new Promotion("B", 2, 45)), new ComboPromotionService(new ComboPromotion(new List <string> { "C", "D" }, 30)) }; }
public CalculationEngineService( ILogger logger, ICalculationEngine calculationEngine, ICacheProvider cacheProvider, IMessengerService messengerService, IProviderSourceDatasetsRepository providerSourceDatasetsRepository, ITelemetry telemetry, IProviderResultsRepository providerResultsRepository, ICalculationsRepository calculationsRepository, EngineSettings engineSettings, ICalculatorResiliencePolicies resiliencePolicies, IValidator <ICalculatorResiliencePolicies> calculatorResiliencePoliciesValidator, IDatasetAggregationsRepository datasetAggregationsRepository, IFeatureToggle featureToggle, IJobsApiClient jobsApiClient) { _calculatorResiliencePoliciesValidator = calculatorResiliencePoliciesValidator; CalculationEngineServiceValidator.ValidateConstruction(_calculatorResiliencePoliciesValidator, engineSettings, resiliencePolicies, calculationsRepository); _logger = logger; _calculationEngine = calculationEngine; _cacheProvider = cacheProvider; _messengerService = messengerService; _providerSourceDatasetsRepository = providerSourceDatasetsRepository; _telemetry = telemetry; _providerResultsRepository = providerResultsRepository; _calculationsRepository = calculationsRepository; _engineSettings = engineSettings; _cacheProviderPolicy = resiliencePolicies.CacheProvider; _messengerServicePolicy = resiliencePolicies.Messenger; _providerSourceDatasetsRepositoryPolicy = resiliencePolicies.ProviderSourceDatasetsRepository; _providerResultsRepositoryPolicy = resiliencePolicies.ProviderResultsRepository; _calculationsRepositoryPolicy = resiliencePolicies.CalculationsRepository; _datasetAggregationsRepository = datasetAggregationsRepository; _featureToggle = featureToggle; _jobsApiClient = jobsApiClient; _jobsApiClientPolicy = resiliencePolicies.JobsApiClient; }
public CalculationEnginePreviewService( ICalculationEngine calculationEngine, IProvidersApiClient providersApiClient, IMapper mapper, ICalculatorResiliencePolicies resiliencePolicies, ISpecificationsApiClient specificationsApiClient, IProviderSourceDatasetsRepository providerSourceDatasetsRepository, ICalculationAggregationService calculationAggregationService, ICalculationsRepository calculationsRepository, ILogger logger) { Guard.ArgumentNotNull(calculationEngine, nameof(calculationEngine)); Guard.ArgumentNotNull(providersApiClient, nameof(providersApiClient)); Guard.ArgumentNotNull(mapper, nameof(mapper)); Guard.ArgumentNotNull(providerSourceDatasetsRepository, nameof(providerSourceDatasetsRepository)); Guard.ArgumentNotNull(calculationAggregationService, nameof(calculationAggregationService)); Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(resiliencePolicies.SpecificationsApiClient, nameof(resiliencePolicies.SpecificationsApiClient)); Guard.ArgumentNotNull(resiliencePolicies.ProvidersApiClient, nameof(resiliencePolicies.ProvidersApiClient)); Guard.ArgumentNotNull(resiliencePolicies.CalculationsApiClient, nameof(resiliencePolicies.CalculationsApiClient)); _calculationEngine = calculationEngine; _providersApiClient = providersApiClient; _mapper = mapper; _specificationsApiClient = specificationsApiClient; _providerSourceDatasetsRepository = providerSourceDatasetsRepository; _calculationAggregationService = calculationAggregationService; _specificationsApiPolicy = resiliencePolicies.SpecificationsApiClient; _providersApiClientPolicy = resiliencePolicies.ProvidersApiClient; _calculationsApiClientPolicy = resiliencePolicies.CalculationsApiClient; _calculationsRepository = calculationsRepository; _logger = logger; }
public CalculatorService(ICalculationEngine calculatorEngine) { this.calculatorEngine = calculatorEngine; }
public OrderGraphViewModel(ICalculationEngine calculationEngine) : base() { _calculationEngine = calculationEngine; _graph = new NodeGraph(calculationEngine, new VertexConstructor(node => (INodeVertex) new OrderGraphVertex(node))); }
public CalculationEngineService( ILogger logger, ICalculationEngine calculationEngine, ICacheProvider cacheProvider, IMessengerService messengerService, IProviderSourceDatasetsRepository providerSourceDatasetsRepository, ITelemetry telemetry, IProviderResultsRepository providerResultsRepository, ICalculationsRepository calculationsRepository, EngineSettings engineSettings, ICalculatorResiliencePolicies resiliencePolicies, IJobManagement jobManagement, ISpecificationsApiClient specificationsApiClient, IResultsApiClient resultsApiClient, IValidator <ICalculatorResiliencePolicies> calculatorResiliencePoliciesValidator, ICalculationEngineServiceValidator calculationEngineServiceValidator, ICalculationAggregationService calculationAggregationService, IAssemblyService assemblyService) : base(jobManagement, logger) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(calculationEngine, nameof(calculationEngine)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(messengerService, nameof(messengerService)); Guard.ArgumentNotNull(providerSourceDatasetsRepository, nameof(providerSourceDatasetsRepository)); Guard.ArgumentNotNull(telemetry, nameof(telemetry)); Guard.ArgumentNotNull(providerResultsRepository, nameof(providerResultsRepository)); Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository)); Guard.ArgumentNotNull(engineSettings, nameof(engineSettings)); Guard.ArgumentNotNull(resiliencePolicies?.SpecificationsApiClient, nameof(resiliencePolicies.SpecificationsApiClient)); Guard.ArgumentNotNull(resiliencePolicies?.CacheProvider, nameof(resiliencePolicies.CacheProvider)); Guard.ArgumentNotNull(resiliencePolicies?.Messenger, nameof(resiliencePolicies.Messenger)); Guard.ArgumentNotNull(resiliencePolicies?.ProviderSourceDatasetsRepository, nameof(resiliencePolicies.ProviderSourceDatasetsRepository)); Guard.ArgumentNotNull(resiliencePolicies?.CalculationResultsRepository, nameof(resiliencePolicies.CalculationResultsRepository)); Guard.ArgumentNotNull(resiliencePolicies?.CalculationsApiClient, nameof(resiliencePolicies.CalculationsApiClient)); Guard.ArgumentNotNull(resiliencePolicies?.ResultsApiClient, nameof(resiliencePolicies.ResultsApiClient)); Guard.ArgumentNotNull(specificationsApiClient, nameof(specificationsApiClient)); Guard.ArgumentNotNull(calculatorResiliencePoliciesValidator, nameof(calculatorResiliencePoliciesValidator)); Guard.ArgumentNotNull(calculationEngineServiceValidator, nameof(calculationEngineServiceValidator)); Guard.ArgumentNotNull(resultsApiClient, nameof(resultsApiClient)); Guard.ArgumentNotNull(calculationAggregationService, nameof(calculationAggregationService)); Guard.ArgumentNotNull(assemblyService, nameof(assemblyService)); _calculationEngineServiceValidator = calculationEngineServiceValidator; _logger = logger; _calculationEngine = calculationEngine; _cacheProvider = cacheProvider; _messengerService = messengerService; _providerSourceDatasetsRepository = providerSourceDatasetsRepository; _telemetry = telemetry; _providerResultsRepository = providerResultsRepository; _calculationsRepository = calculationsRepository; _engineSettings = engineSettings; _cacheProviderPolicy = resiliencePolicies.CacheProvider; _messengerServicePolicy = resiliencePolicies.Messenger; _providerSourceDatasetsRepositoryPolicy = resiliencePolicies.ProviderSourceDatasetsRepository; _providerResultsRepositoryPolicy = resiliencePolicies.CalculationResultsRepository; _calculationsApiClientPolicy = resiliencePolicies.CalculationsApiClient; _specificationsApiClient = specificationsApiClient; _specificationsApiPolicy = resiliencePolicies.SpecificationsApiClient; _resultsApiClientPolicy = resiliencePolicies.ResultsApiClient; _resultsApiClient = resultsApiClient; _calculationAggregationService = calculationAggregationService; _assemblyService = assemblyService; _typeIdentifierGenerator = new VisualBasicTypeIdentifierGenerator(); }
public CalculatorServices(ICalculationEngine calculationEngine, ILogger <CalculatorServices> logger) { _calculationEngine = calculationEngine; _logger = logger; }
public Calculator(ICalculationEngine engine) { _engine = engine; }
public FormCalculationEngine(ICalculationEngine engine) { _engine = engine; InitializeComponent(); }