diff --git a/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs b/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs index f3bb679..9dfc87c 100644 --- a/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs +++ b/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs @@ -22,14 +22,14 @@ public class ProductController : ControllerBase { [EnableCors("_myAllowSpecificOrigins")] [HttpGet(Name = "Product"), AllowAnonymous] - public Product Get(int id) { + public ActionResult Get(int id) { Product prod; try { prod = _context.Products.Where(x => x.Id == id).First(); } catch (Exception e) { _logger.LogError(8, e.Message); - prod = new Product(); + return NotFound(); } return prod; } @@ -47,7 +47,7 @@ public class ProductController : ControllerBase { } catch (Exception e) { _logger.LogError(8, e.Message); - return BadRequest(); + return BadRequest(e.Message); } return prod; @@ -62,80 +62,24 @@ public class ProductController : ControllerBase { } catch (Exception e) { _logger.LogError(8, e.Message); - return BadRequest(); + return BadRequest(e.Message); } return prod; } - [EnableCors("_myAllowSpecificOrigins")] - [HttpPatch(Name = "Product")] - public void Patch(int id, string title, string category, string description, decimal? price, decimal? promoprice, uint? quantity, string? status, string imagename) { - try { - Product prod = _context.Products.Where(x => x.Id == id).First(); - - if (title != null || title != "") - prod.Title = title; - - if (category != null || category != "") - prod.Category = category; - - if (description != null || description != "") - prod.Description = description; - - if (price.HasValue || price > 0) - prod.Price = (decimal)price; - - if (promoprice.HasValue || promoprice > prod.Price) - prod.PromoPrice = (decimal)promoprice; - - if (quantity.HasValue) - prod.Quantity = (uint)quantity; - - switch (status) { - case "isAvailable": - prod.Status = Product.States.Available; - break; - case "isUnavailable": - prod.Status = Product.States.Unavailable; - break; - case "isBackOrder": - prod.Status = Product.States.BackOrder; - break; ; - case "isClearance": - prod.Status = Product.States.Clearance; - break; - case "isPromotion": - prod.Status = Product.States.Promotion; - break; - case "isDiscontinued": - prod.Status = Product.States.Discontinued; - break; - default: break; - } - - if (imagename != null || imagename != "") - prod.ImageName = imagename; - - _context.Products.Update(prod); - _context.SaveChanges(); - } - catch (Exception e) { - _logger.LogError(8, e.Message); - } - } - [EnableCors("_myAllowSpecificOrigins")] [HttpDelete(Name = "Product")] - public IActionResult DeleteProduct(int id) { + public ActionResult DeleteProduct(int id) { try { _context.Products.Remove(_context.Products.Where(x => x.Id == id).First()); _context.SaveChanges(); } catch (Exception e) { _logger.LogError(8, e.Message); + return BadRequest(e.Message); } - return Ok(); + return id; } } \ No newline at end of file