Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
            }
        }