public async Task <ProductDto> Handle(PutProductCommand request, CancellationToken cancellationToken)
        {
            var product = new Product()
            {
                Id = request.Id, CountInStock = request.CountInStock, Price = request.Price, Title = request.Title, Manufacturer = _productDxos.MapManufacturer(request.Manufacturer)
            };
            await _productDatabase.ReplaceOneAsync(i => i.Id == product.Id, product);

            var productDto = _productDxos.MapProductDto(product);

            return(productDto);
        }
        public async Task <ProductDto> Handle(CreateProductCommand request, CancellationToken cancellationToken)
        {
            var product = new Product()
            {
                CountInStock = request.CountInStock, Price = request.Price, Title = request.Title, Manufacturer = _productDxos.MapManufacturer(request.Manufacturer)
            };
            await _productDatabase.InsertOneAsync(product);

            await _mediator.Publish(new Domain.Events.ItemCreatedEvent(product.Id, "product"), cancellationToken);

            var productDto = _productDxos.MapProductDto(product);

            return(productDto);
        }