private async void NumberMultiplied(object sender, NumberProcessedEventArgs e)
        {
            _logger.LogInformation($"Number {e.BatchNumber.Number} multiplied for batch {e.BatchNumber.BatchId}");

            using (IServiceScope scope = _scopeFactory.CreateScope())
            {
                IRepository <Batch> batchRepository = scope.ServiceProvider.GetRequiredService <IRepository <Batch> >();
                Batch batch = await batchRepository.GetByIdAsyncIncluding(e.BatchNumber.BatchId, b => b.Numbers);

                batch.Total += e.BatchNumber.Product;

                if (batch.Numbers.Count == batch.Count)
                {
                    batch.Status = StatusEnum.Done;
                }

                await batchRepository.UpdateAsync(batch);
            }
        }
 private async void NumberGenerated(object sender, NumberProcessedEventArgs e)
 {
     _logger.LogInformation($"Number {e.BatchNumber.Number} generated for batch {e.BatchNumber.BatchId}");
     await _multiplierManager.DoWork(e.BatchNumber, e.CancellationToken);
 }