public async Task <IActionResult> UpdateCategory([FromBody] CreateUpdateCategoryRequest request) { var categoryFilter = Builders <Category> .Filter.Where(x => x.Id.Equals(request.Id)); var validCategory = await _mongoDbService.GetCollection <Category>(Collections.Categories) .Find(categoryFilter).AnyAsync(); if (!validCategory) { throw new CustomException("Invalid category specified."); } var session = await _mongoDbService.StartTransactionAsync(); var updateDefinition = new UpdateDefinitionBuilder <Category>() .Set(x => x.Name, request.Name.Trim()) .Set(x => x.Description, request.Description.Trim()); await _mongoDbService.GetCollection <Category>(Collections.Categories) .UpdateOneAsync(session, categoryFilter, updateDefinition); await _mongoDbService.CommitTransactionAsync(); return(new SuccessResult()); }
public async Task <IActionResult> CreateCategory([FromBody] CreateUpdateCategoryRequest request) { var session = await _mongoDbService.StartTransactionAsync(); var newCategory = new Category() { Name = request.Name.Trim(), Description = request.Description.Trim(), Active = true }; await _mongoDbService.GetCollection <Category>(Collections.Categories).InsertOneAsync(session, newCategory); await _mongoDbService.CommitTransactionAsync(); return(new SuccessResult()); }