Пример #1
0
        public async Task Handle(CreateProductCommand message)
        {
            _authorizationService.CheckPermission("User.CreateProduct");

            message.Validate();

            using (IUnitOfWork unitOfWork = _unitOfWorkManager.Begin(IsolationLevel.ReadCommitted))
            {
                await _productDomainService.Create(message.Name, message.Code, message.Barcode);

                await unitOfWork.Complete();
            }

            await _mailSender.Send($"Hello {_session.Username}, product is created for you.", "Product Creation", _session.Email);

            await _realtimeNotifier.Notify("ProductCreated", message.ToString());
        }