public async Task <IActionResult> PostProductAsync([FromBody] ProductInsertDto productInsert)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var newId = await _productService.AddAsync(productInsert);

            return(StatusCode(StatusCodes.Status201Created, newId));
        }
Esempio n. 2
0
        public async Task <int> AddAsync(ProductInsertDto product)
        {
            var newProduct = _mapper.Map <Product>(product);

            var productAdded = await _productContext
                               .Products
                               .AddAsync(newProduct);

            await _productContext.SaveChangesAsync();

            return(productAdded.Entity.ProductId);
        }
Esempio n. 3
0
        public ActionResult <ProductReadDto> CreateProduct(ProductInsertDto NewProduct)
        {
            if (NewProduct == null)
            {
                return(NotFound());
            }
            var product = _mapper.Map <Product>(NewProduct);

            _repository.CreateProduct(product);
            _repository.SaveChanges();

            var createdProduct = _mapper.Map <ProductReadDto>(product);

            return(CreatedAtRoute(nameof(GetProductById), new{ Id = createdProduct.id }, createdProduct));
        }
Esempio n. 4
0
        public ActionResult UpdateProduct(int id, ProductInsertDto changedProduct)
        {
            var oldProduct = _repository.GetProductById(id);

            if (oldProduct == null)
            {
                return(NotFound());
            }

            _mapper.Map(changedProduct, oldProduct);

            _repository.UpdateProduct(oldProduct);

            _repository.SaveChanges();

            return(NoContent());
        }
Esempio n. 5
0
        public async Task <IActionResult> Insert(ProductInsertDto product)
        {
            if (!ModelState.IsValid)
            {
                var errorMessage = new ErrorMessageViewModel("There was an error", "The model is invalid");

                return(RedirectToAction("Error", errorMessage));
            }

            var imageUrl = await _imageStorageService.UploadFile(product.Photo);

            var productModel = new ProductViewModel
            {
                Name  = product.Name,
                Photo = imageUrl,
                Price = product.Price
            };

            _productsServiceClient.InsertProduct(productModel);

            return(RedirectToAction("ProductList"));
        }
 public IActionResult Create([FromBody] ProductInsertDto productInsertDto)
 {
     return(Ok(_productRepository.Create(_mapper.Map <Product>(productInsertDto))));
 }