public async Task <ValidationResultModel <ProductResponse> > Save(CreateProductRequest model) { var result = new ValidationResultModel <ProductResponse>(); if (!result.Succeeded) { return(result); } Products product = null; if (!string.IsNullOrWhiteSpace(model.Id)) { product = (await _productRepository.GetProducts(new GetProductRequest { Id = model.Id })).Single(); } var productDbModel = model.Map <CreateProductRequest, Products>(product); productDbModel = await _productRepository.Save(productDbModel); //Save Revision with RabbitMQ await _rabbitMqService.RabbitMqSender(product, RabbitMqConstants.ProductRevisionQueue); result.Model = productDbModel.Map <Products, ProductResponse>(); return(result); }