Exemplo n.º 1
0
 public ActionResult PutNode(Guid guid, [FromBody] UpdateNodeDto updateNode)
 {
     if (updateNode.IsEmpty)
     {
         return(BadRequest());
     }
     try
     {
         return(Ok(_treeStorage.UpdateNode(guid, updateNode)));
     }
     catch (NotFoundException e)
     {
         return(NotFound(e));
     }
 }
Exemplo n.º 2
0
        public NodeDto UpdateNode(Guid guid, UpdateNodeDto updateNode)
        {
            var updateBuilder = Builders <NodeEntity> .Update;
            var updates       = new List <UpdateDefinition <NodeEntity> >();

            if (updateNode.Name != null)
            {
                updates.Add(updateBuilder.Set(n => n.Name, updateNode.Name));
            }

            if (updateNode.Description != null)
            {
                updates.Add(updateBuilder.Set(n => n.Description, updateNode.Description));
            }

            var entity = _nodesCollections.FindOneAndUpdate <NodeEntity>(
                t => t.Guid == guid,
                updateBuilder.Combine(updates),
                new FindOneAndUpdateOptions <NodeEntity> {
                ReturnDocument = ReturnDocument.After
            });

            return(entity?.ToDto() ?? throw new NodeNotFoundException(guid));
        }