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); }
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)); }