public object Put(UpdateProductRequestDTO request) { UpdateProductResponseDTO result = new UpdateProductResponseDTO(); try { var client = new MongoClient(connectionString); var database = client.GetDatabase("products"); var collection = database.GetCollection <Product>("products"); var update = Builders <Product> .Update .Set("name", request.Name) .Set("category", request.Category) .Set("description", request.Description) .Set("price", request.Price); collection.UpdateOne(p => p._id == request._Id, update); result.Success = true; } catch (Exception ex) { Debug.WriteLine(ex.Message); result.Success = false; } return(result); }
async Task <bool> IRequestHandler <UpdateProductCommand, bool> .Handle(UpdateProductCommand request, CancellationToken cancellationToken) { try { UpdateProductResponseDTO updateProductResponse = await mediator.Send <UpdateProductResponseDTO>(mapper.Map <UpdateProductRepository>(request)); if (updateProductResponse != null) { mediator.Enqueue(new ProductUpdatedDomainEvent() { UpdateProductResponse = updateProductResponse }); return(true); } return(false); } catch { throw; } }