public async Task <CategoryResource> CreateCategory(CreateCategoryResource newCategory) { var validator = new CreateCategoryResourceValidator(); var validationResult = await validator.ValidateAsync(newCategory); if (!validationResult.IsValid) { throw new ValidationException(validationResult.Errors); } var user = await _unitOfWork.Users.SingleOrDefaultAsync(u => string.Equals(newCategory.StartedBy.UserName, u.UserName)); if (user == null) { throw ExceptionBuilder.Create("User provided in StartedBy property does not exist"); } var categoryData = _mapper.Map <CreateCategoryResource, Category>(newCategory); await _unitOfWork.Categories.AddAsync(categoryData); await _unitOfWork.CommitAsync(); var threadModel = _mapper.Map <Category, CategoryResource>(categoryData); return(threadModel); }
public async Task <IActionResult> CreateCategory([FromBody] CreateCategoryResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var categoryInput = _mapper.Map <CreateCategoryResource, Category>(resource); categoryInput.AddedBy = _admin.Fullname; var category = await _categoryService.CreateCategory(categoryInput); return(Ok(new { message = "Kateqoriya yaradıldı" })); } catch (HttpException e) { return(StatusCode(e.StatusCode, e.Response)); } }