Example #1
0
        public Task AddItemAsync(IItemConfiguration itemConfiguration)
        {
            if (_itemRepository.Any(x => x.Name == itemConfiguration.Name))
            {
                Log.Warn($"Item with name '{itemConfiguration.Name}' already exists");
                return(Task.CompletedTask);
            }

            var item = _itemBuilder.Build(itemConfiguration);

            return(_itemRepository.AddAsync(item));
        }
Example #2
0
        public async Task RunOptimization()
        {
            await _bagBuilder.Build();

            await _itemBuilder.Build();

            foreach (var optimizationAlgorithm in _optimizationAlgorithm)
            {
                optimizationAlgorithm.Optimize();
            }

            await _solutionBuilder.WriteSolution();
        }