public async Task <Category> AddIfNotExists(SaveCategoryDTO saveCategory)
        {
            saveCategory.NotNull();

            if (await categoryRepository.IsExistAsync(saveCategory.Name))
            {
                return(null);
            }

            var dateCreated = DateTime.Now;
            var category    = mapper.Map <SaveCategoryDTO, Category>(saveCategory);

            category.IsActive        = true;
            category.DateCreated     = dateCreated;
            category.DateLastUpdated = dateCreated;

            categoryRepository.Add(category);

            return(category);
        }
Пример #2
0
        public async Task <IActionResult> CreateCategory([FromBody] SaveCategoryDTO saveCategory)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var category = await categoryService.AddIfNotExists(saveCategory);

            if (category == null)
            {
                ModelState.AddModelError("", $"{saveCategory.Name} category already exists");
                return(BadRequest(ModelState));
            }

            if (!await unitOfWork.TrySaveChangesAsync())
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }

            return(Ok(category.Id));
        }