/// <summary> /// Tạo mới danh mục /// </summary> /// <param name="request"></param> /// <returns>Thông tin danh mục</returns> public async Task <Response <CategoryResponse> > CreateCategoryAsync(CreatCategoryRequest request) { if (string.IsNullOrEmpty(request.Name)) { _logger.LogError("Name category is null"); return(new Response <CategoryResponse>(Constant.STATUS_ERROR, new List <string> { "Name category is null" })); } var category = new Category { Id = Guid.NewGuid(), Name = request.Name }; if (request.ParentId.HasValue) { var cate = await _newsContext.Categories.FindAsync(request.ParentId); if (cate == null) { _logger.LogError("Not find parent category"); return(new Response <CategoryResponse>(Constant.STATUS_ERROR, new List <string> { "Not find parent category" })); } category.ParentId = request.ParentId; } else { category.ParentId = null; } await _newsContext.Categories.AddAsync(category); var result = await _newsContext.SaveChangesAsync(); var dataResponse = new CategoryResponse { Id = category.Id, Name = category.Name, ParentId = category.ParentId }; if (result > 0) { _logger.LogInformation("Create category success"); return(new Response <CategoryResponse>(Constant.STATUS_SUCESS, null, dataResponse, 1)); } _logger.LogError("Create category failed"); return(new Response <CategoryResponse>(Constant.STATUS_ERROR, new List <string> { "Error when save" })); }
public async Task <Response <CategoryResponse> > CreateCategory([FromBody] CreatCategoryRequest request) { return(await _categoryService.CreateCategoryAsync(request)); }