Exemple #1
0
        public TreeDto UpdateTree(Guid guid, UpsertTreeDto upsert)
        {
            var updateBuilder = Builders <TreeEntity> .Update;
            var updates       = new List <UpdateDefinition <TreeEntity> >();

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

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

            updates.Add(updateBuilder.Set(t => t.UpdatedAt, DateTime.Now));

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

            return(entity?.ToDto() ?? throw new TreeNotFoundException(guid));
        }
Exemple #2
0
        public ActionResult Post([FromBody] UpsertTreeDto upsertTree)
        {
            if (!upsertTree.IsValid)
            {
                return(BadRequest());
            }

            var tree = _treeStorage.CreateTree(upsertTree);

            return(Ok(tree));
        }
Exemple #3
0
        public TreeDto CreateTree(UpsertTreeDto tree)
        {
            var entity = new TreeEntity(
                Guid.NewGuid(),
                tree.Name,
                tree.Description,
                createdAt: DateTime.Now,
                updatedAt: DateTime.Now);

            _treesCollections.InsertOne(entity);

            return(entity.ToDto());
        }
Exemple #4
0
 public ActionResult Put(Guid guid, [FromBody] UpsertTreeDto upsertTree)
 {
     if (upsertTree.IsEmpty)
     {
         return(BadRequest());
     }
     try
     {
         return(Ok(_treeStorage.UpdateTree(guid, upsertTree)));
     }
     catch (NotFoundException e)
     {
         return(NotFound(e));
     }
 }