// <---------- Category ----------> public async Task <ResponseResult <CategoryResponse> > CreateCategoryAsync(CategoryRequest categoryRequest, string creatorId) { var isGameServerExists = await _shopRepository.IsGameServerExistsAsync(categoryRequest.GameServerId); if (!isGameServerExists) { return(new ResponseResult <CategoryResponse> { Errors = new[] { "Game server is not exist" } }); } var dateNow = DateTimeOffset.UtcNow; var category = _mapper.Map <Category>(categoryRequest); category.CreatorId = Guid.Parse(creatorId); category.CreatedAt = dateNow; category.UpdatedAt = dateNow; var createdCategory = await _shopRepository.CreateCategoryAsync(category); if (createdCategory == null) { return(new ResponseResult <CategoryResponse> { Errors = new[] { "Category already exists" } }); } var mappedCategoryResponse = _mapper.Map <CategoryResponse>(createdCategory); return(new ResponseResult <CategoryResponse> { Success = true, Response = mappedCategoryResponse }); }
public async Task <OperationResult> CreateCategoryAsync(Category category) { ThrowIfDisposed(); if (category == null) { throw new ArgumentNullException(nameof(category)); } var result = await Validate(new[] { category }, CategoryValidators); if (!result.Succeeded) { return(result); } result = await _repository.CreateCategoryAsync(category, CancellationToken); if (!result.Succeeded) { return(result); } return(OperationResult.Success()); }