public async Task Consume(ConsumeContext <PackReadyToSendEvent> context)
        {
            try
            {
                var pack = await packToDeliveryRepo.GetByConditionFirst(x => x.OrderId == context.Message.OrderId);
                await ChangePackStatusToReadyToSend(pack, context.Message.OrderId);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                throw;
            }

            logger.LogInformation($"Successfully handled event: {context.MessageId} at {this} - {context}");
        }
示例#2
0
        public async Task Consume(ConsumeContext <ProductionFinishedEvent> context)
        {
            try
            {
                var packToDelivery = await packToDeliveryRepo.GetByConditionFirst(x => x.OrderId == context.Message.OrderId);

                packToDelivery.ProductsQuantity += context.Message.ProductsQuantity;
            }
            catch (NullDataException)
            {
                await CreateNewPackToDelivery(context);
            }

            await SaveChanges();

            logger.LogInformation($"Successfully handled event: {context.MessageId} at {this} - {context}");
        }
示例#3
0
        public async Task <Unit> Handle(LoadPackCommand request, CancellationToken cancellationToken)
        {
            var pack = await packToDeliveryRepo.GetByConditionFirst(x => x.Id == request.PackId);

            var loadingPlace = await loadingPlaceRepo.GetByConditionFirst(x => x.Id == request.LoadingPlaceId);

            ValidateLoadingPlaceAmountOfSpace(pack, loadingPlace);

            SetPackLoadingPlace(pack, loadingPlace);
            IncreaseLoadingPlaceLoadedQuantity(pack, loadingPlace);

            await loadingPlaceRepo.SaveAllAsync();

            await bus.Publish(new ChangeOrderStatusEvent(pack.OrderId, OrderStatus.ReadyToSend));

            return(Unit.Value);
        }