Example #1
0
        /// <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"
            }));
        }
Example #2
0
 public async Task <Response <CategoryResponse> > CreateCategory([FromBody] CreatCategoryRequest request)
 {
     return(await _categoryService.CreateCategoryAsync(request));
 }