Ejemplo n.º 1
0
        public async Task <IActionResult> Edit(int productId,
                                               [FromForm] ProductsForUpdate product)
        {
            if (productId != product.ProductId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _serviceProducts.UpdateProduct(product);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (await ProductsExists(product.ProductId) == false)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                //return RedirectToAction(nameof(Index));
                return(RedirectToAction("Details", new { productId = productId }));
            }
            //ViewData["CategoryId"] = new SelectList(_context.Categories, "Id", "Id", products.CategoryId);
            //ViewData["SupplierId"] = new SelectList(_context.Set<Suppliers>(), "Id", "Id", products.SupplierId);

            return(View(product));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> PutProduct(int productID, [FromBody] ProductsForUpdate product)
        {
            _orm.OpenConn();


            var productFromDB = await _orm.GetProductById(productID);

            if (productFromDB == null)
            {
                return(NotFound());
            }
            //Map from entity (Source) to nidek (Destination)
            //Apply Updated fields values to that dto
            //Map from model (Source) to entity (Destination)
            //aka. copying values from source to destination
            _mapper.Map(product, productFromDB);

            if (await _orm.UpdateProduct(productFromDB) == 0)
            {
                return(BadRequest());
            }

            await _orm.CloseConn();

            return(NoContent());
        }
Ejemplo n.º 3
0
        public async Task UpdateProduct(ProductsForUpdate productToUpdate)
        {
            var serializedProductToUpdate = JsonConvert.SerializeObject(productToUpdate);

            var request = new HttpRequestMessage(HttpMethod.Put,
                                                 $"{apiRoute}/{productToUpdate.ProductId}");

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaType));
            request.Content = new StringContent(serializedProductToUpdate);
            request.Content.Headers.ContentType = new MediaTypeWithQualityHeaderValue(mediaType);

            var response = await _httpClient.SendAsync(request);

            response.EnsureSuccessStatusCode();
        }