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)}"; } }
public async Task <CreateNewProductResponse> CreateProduct(CreateNewProductRequest request) { var result = await _productService.CreateProduct(request); return(result); }