From 6d5c97a4e5ca0a62eaba10f178689fae43b1e22d Mon Sep 17 00:00:00 2001 From: MarcEricMartel <74071476+MarcEricMartel@users.noreply.github.com> Date: Mon, 17 Oct 2022 14:33:45 -0700 Subject: [PATCH 1/2] lolput --- .../Controllers/ProductController.cs | 151 ++++++++++-------- 1 file changed, 85 insertions(+), 66 deletions(-) diff --git a/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs b/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs index 5ceaefa..fc4acc2 100644 --- a/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs +++ b/GrossesMitaines/GrossesMitainesAPI/Controllers/ProductController.cs @@ -4,6 +4,7 @@ using System.Linq; using GrossesMitainesAPI.Data; using Microsoft.Extensions.Logging; using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; namespace GrossesMitainesAPI.Controllers; @@ -30,17 +31,39 @@ public class ProductController : Controller { } [HttpPost(Name = "Product")] - public void Post(string title, string category, string description, decimal? price, decimal? promoprice, uint? quantity, bool? disc, string imagename) { - Product prod = new() { - Title = title, + public void Post(string title, string category, string description, decimal? price, decimal? promoprice, uint? quantity, string? status, string imagename) { + Product prod = new() { + Title = title, Category = category, Description = description, - Price = price.HasValue? (decimal)price: 0.01M, + Price = price.HasValue ? (decimal)price : 0.01M, PromoPrice = promoprice.HasValue ? (decimal)promoprice : 0.01M, Quantity = quantity.HasValue ? (uint)quantity : 0, ImageName = imagename }; + 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 (prod.Price <= prod.PromoPrice) prod.PromoPrice = prod.Price - 0.01M; @@ -54,6 +77,63 @@ public class ProductController : Controller { [HttpPut(Name = "Product")] public void Put(int id, string title, string category, string description, decimal? price, decimal? promoprice, uint? quantity, string? status, string imagename) { + Product prod = _context.Products.Where(x => x.Id == id).FirstOrDefault(); + + if (prod == new Product()) + Post(title, category, description, price, promoprice, quantity, status, imagename); + else try { + 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); + } + } + + [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(); @@ -106,65 +186,4 @@ public class ProductController : Controller { _logger.LogError(8, e.Message); } } - - [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) - prod.Title = title; - else prod.Title = ""; - - if (category != null) - prod.Category = category; - else prod.Category = ""; - - if (description != null) - prod.Description = description; - else prod.Description = ""; - - if (promoprice.HasValue || promoprice < prod.Price) - prod.PromoPrice = (decimal)promoprice; - else prod.PromoPrice = prod.Price - 0.01M; - - if (quantity.HasValue) - prod.Quantity = (uint)quantity; - else prod.Quantity = 0; - - 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: - prod.Status = prod.Quantity > 0 ? Product.States.Available : Product.States.Unavailable; - break; - } - - if (imagename != null) - prod.ImageName = imagename; - else prod.ImageName = ""; - - _context.Products.Update(prod); - _context.SaveChanges(); - } catch (Exception e) { - _logger.LogError(8, e.Message); - } - } -} - +} \ No newline at end of file From 0461823408dcd1883e1d4a61bcc1b7d889d1ff60 Mon Sep 17 00:00:00 2001 From: Victor Turgeon <76506447+Medenos@users.noreply.github.com> Date: Mon, 17 Oct 2022 23:22:05 -0700 Subject: [PATCH 2/2] Ajout des filtres et image de chargement. --- .../public/images/cat-yarn.gif | Bin 0 -> 66022 bytes .../src/components/ItemList.js | 1 + .../src/components/Sorting.js | 64 ++++++++++ .../grosses-mitaines-ui/src/pages/Morceaux.js | 113 ++++++------------ .../src/stylesheets/site.css | 66 +++++++++- 5 files changed, 167 insertions(+), 77 deletions(-) create mode 100644 GrossesMitaines/grosses-mitaines-ui/public/images/cat-yarn.gif create mode 100644 GrossesMitaines/grosses-mitaines-ui/src/components/Sorting.js diff --git a/GrossesMitaines/grosses-mitaines-ui/public/images/cat-yarn.gif b/GrossesMitaines/grosses-mitaines-ui/public/images/cat-yarn.gif new file mode 100644 index 0000000000000000000000000000000000000000..d167683eac3b8832d39195293ff5661e00e18d02 GIT binary patch literal 66022 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 { return ( <>
+ {items.length <= 0 &&

Aucun morceaux à montrer...

} {items.map((item) => { + + const [currentSort, setSort] = useState("..."); + + return ( + <> + + + {currentSort} + + + + { + setSort("Prix ascendants"); // Mets le nom afficher quand le dropdown est fermé + onChange("Price"); // Trigger le handler pour trier + }}> + Prix ascendants {/*Le nom de l'option*/} + + { + setSort(" Prix déscendants"); + onChange("PriceDesc"); + }}> + Prix déscendants + + { + setSort("Titre a -> z"); + onChange("Title"); + }}> + Titre a -{'>'} z + + { + setSort("Titre z -> a"); + onChange("TitleDesc"); + }}> + Titre z -{'>'} a + + { + setSort("Catégorie a -> z"); + onChange("Category"); + }}> + Catégorie a -{'>'} z + + { + setSort("Catégorie z -> a"); + onChange("CategoryDesc"); + }}> + Catégorie z -{'>'} a + + { + setSort("..."); + onChange(""); + }}> + ... + + + + + ); +} + +export default Sorting; \ No newline at end of file diff --git a/GrossesMitaines/grosses-mitaines-ui/src/pages/Morceaux.js b/GrossesMitaines/grosses-mitaines-ui/src/pages/Morceaux.js index 0352c3f..4efb083 100644 --- a/GrossesMitaines/grosses-mitaines-ui/src/pages/Morceaux.js +++ b/GrossesMitaines/grosses-mitaines-ui/src/pages/Morceaux.js @@ -2,113 +2,76 @@ import { Button } from 'react-bootstrap'; import { useEffect } from "react"; import ItemList from "../components/ItemList"; import { useState } from 'react'; +import Sorting from "../components/Sorting" const Morceaux = (startingProducts) => { - // public enum States { - // Available, - // BackOrder, - // Unavailable, - // Clearance, - // Promotion, - // Discontinued - // } - - // const products = [ - // { - // "id":0, - // "name": "Ceinture flèchée", - // "status": 0, - // "price": 85.86, - // "newPrice": -1, - // "imageUrl": "/images/ceintureflechee.jpg" - // }, - // { - // "id":1, - // "name": "Chandail de nowel", - // "status": 2, - // "price": 69.50, - // "newPrice": -1, - // "imageUrl": "/images/chandailquetaine.jpg" - // }, - // { - // "id":2, - // "name": "Pantoufles du Canadien en Phentex", - // "status": 5, - // "price": 15.64, - // "newPrice": -1, - // "imageUrl": "/images/pantouflesCH.jpg" - // }, - // { - // "id":3, - // "name": "Jean-Luc Mongrain", - // "status": 1, - // "price": 1453.12, - // "newPrice": -1, - // "imageUrl": "/images/jeanlucmongrain.jpg" - // }, - // { - // "id":4, - // "name": "Mitaines de laine", - // "status": 4, - // "price": 24.99, - // "newPrice": 19.99, - // "imageUrl": "/images/mitaines.jpg" - // }, - // { - // "id":5, - // "name": "Sous-vêtements coquins", - // "status": 3, - // "price": 19.99, - // "newPrice": 14.99, - // "imageUrl": "/images/kokin.jpg" - // }, - // { - // "id":6, - // "name": "Doudou douce et grise", - // "status": 3, - // "price": 99.99, - // "newPrice": 89.99, - // "imageUrl": "/images/doudou.jpg" - // } - // ]; - useEffect(() => { document.title = 'Morceaux'; }); const [products, setProducts] = useState([]); + const [isLoading, setIsLoading] = useState(false); - + var order = ""; + var filterPrice = ""; + var filterState = ""; const handleNextItems = async () => { var url; if (products.length > 0) - url = `https://localhost:7292/api/Inventory?lastId=${products[products.length - 1].id}`; + url = `https://localhost:7292/api/Inventory?lastId=${products[products.length - 1].id}&order=${order}&filterPrice=${filterPrice}&filterState=${filterState}`; else - url = 'https://localhost:7292/api/Inventory' + url = `https://localhost:7292/api/Inventory?order=${order}&filterPrice=${filterPrice}&filterState=${filterState}` + setIsLoading(true); + const response = await fetch(url); + const json = await response.json(); + + //TODO: regler bug qui permet d'avoir des duplicats (trouver une façon de skipper les duplicats) + if (json.length > 0) + setProducts([...products, ...json]); + + setIsLoading(false); + + } + + const handleOrder = async (sortBy) => { + + order = sortBy; + var url = `https://localhost:7292/api/Inventory?order=${order}&filterPrice=${filterPrice}&filterState=${filterState}`; + setIsLoading(true); const response = await fetch(url); const json = await response.json(); if (json.length > 0) - setProducts([...products, ...json]); + setProducts([...json]); + setIsLoading(false); + } + const handleFilterPrice = async () => { + + } + const handleFilterState = async () => { } return ( - <> +
+
+ +
- {/* faire un spinner qui tourne quand ça load */} +
+
- +
); } diff --git a/GrossesMitaines/grosses-mitaines-ui/src/stylesheets/site.css b/GrossesMitaines/grosses-mitaines-ui/src/stylesheets/site.css index 52acbdc..ca4ff54 100644 --- a/GrossesMitaines/grosses-mitaines-ui/src/stylesheets/site.css +++ b/GrossesMitaines/grosses-mitaines-ui/src/stylesheets/site.css @@ -353,7 +353,7 @@ html { .btn-primary{ background-color: purple; - color:beige; + color:white; border-color: darkslateblue; } @@ -369,10 +369,36 @@ html { margin-right: auto; margin-top:10px; margin-bottom: 10px; - width:85%; + width:30%; } +.sorting-dropdown{ + width:fit-content; + margin:auto; + float:right; +} +.sorting-container{ + width:100%; + float:right; + margin-right:5%; + margin-left:5%; + margin-top:15px; + margin-bottom:15px; +} + +.cat-load{ + display:block; + margin:auto; + width:auto; + background-image: url("/public/images/cat-yarn.gif"); + background-repeat: no-repeat; + background-color: white; + background-size: contain; + background-position: center; + mix-blend-mode: multiply; + height:200px; +} /* -------------------------------------------------------- */ /* specification pour les moyennes écrans /* -------------------------------------------------------- */ @@ -380,6 +406,38 @@ html { .item{ width:45%; } + + .btn-load-more{ + width:45%; + } + + .sorting-dropdown{ + + width:100%; + float:none; + } + + .sorting-dropdown button{ + height:60px !important; + width: 100% !important; + font-size: larger; + } + + .sorting-container{ + width: 90%; + float:none; + } + + .sorting-menu{ + width: 100%; + } + + .sorting-menu a { + font-size: larger; + height: 50px; + background-color: beige; + border: 2px white solid; + } } @@ -393,6 +451,10 @@ html { width:85%; } + .btn-load-more{ + width:85%; + } + .featured-img { border: 5px purple double; width: 100%;