public async Task <IActionResult> CreateNewProduct([FromBody] CreateNewProductRequest request)
        {
            var response = await _productService.CreateProduct(new CreateProductContext
            {
                Name         = request.Name,
                Price        = request.Price,
                Description  = request.Description,
                CategoryName = request.CategoryName
            });

            return(Ok(response));
        }
        internal async Task <CreateNewProductResponse> CreateProduct(CreateNewProductRequest request)
        {
            if (string.IsNullOrWhiteSpace(request?.RequestProduct?.ProductName) ||
                !request.RequestVariants.Any())
            {
                throw new Exception("Must provide a product with product name and at least one variant with variant id and at least one variant file with either id or url");
            }

            var apiResponse =
                await _client.PostAsync <CreateNewProductResponse, CreateNewProductRequest>("store/products", request);

            return(apiResponse);
        }
 private void CheckHasDefaultValue(CreateNewProductRequest createNewProductRequest, ValidationResult validationResult)
 {
     if (createNewProductRequest is null)
     {
         validationResult.IsValid = false;
         validationResult.Message = $"{Constants.ValidationMessages.ValueCanNotBeNull}: {nameof(createNewProductRequest)}";
     }
     else if (string.IsNullOrEmpty(createNewProductRequest.Name))
     {
         validationResult.IsValid = false;
         validationResult.Message = $"{Constants.ValidationMessages.StringCanNotBeNullEmptyOrWhiteSpace}: {nameof(createNewProductRequest.Name)}";
     }
     else if (string.IsNullOrWhiteSpace(createNewProductRequest.CategoryName))
     {
         validationResult.IsValid = false;
         validationResult.Message = $"{Constants.ValidationMessages.StringCanNotBeNullEmptyOrWhiteSpace}: {nameof(createNewProductRequest.CategoryName)}";
     }
     else if (createNewProductRequest.Price <= 0)
     {
         validationResult.IsValid = false;
         validationResult.Message = $"{Constants.ValidationMessages.ValueCanNotBeLessThanZero}: {nameof(createNewProductRequest.Price)}";
     }
 }
Exemple #4
0
        public async Task <CreateNewProductResponse> CreateProduct(CreateNewProductRequest request)
        {
            var result = await _productService.CreateProduct(request);

            return(result);
        }