Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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());
        }