/// <summary> /// Permet de créer la liste des livres et de copier le catalog dans le model utilisé par la vue /// </summary> /// <returns>retourne le model avec les données de livres et catalog complet</returns> private CatalogBooksViewModel CreateListeBookName() { var model = new CatalogBooksViewModel { ListeBookName = GetSelectListItems(Store.CatalogBooks.Catalog), Catalog = Store.CatalogBooks.Catalog }; return(model); }
/// <summary> /// Sauve le model en session /// </summary> /// <param name="model">Le model</param> /// <returns>IsValid</returns> private bool SetCatalogBooksViewModel(CatalogBooksViewModel model) { if (ModelState.IsValid) { // je regarde pas ! } HttpContext.Session.SetObjectAsJson("CatalogBooksViewModel", model); return(ModelState.IsValid); }
public IActionResult Index() { Import_Catalog(); // Récupère l'objet model de vue CatalogBooksViewModel model = GetCatalogBooksViewModel(null, false); ViewData["CatalogBooksViewModel"] = model; return(View(model)); }
public IActionResult Basket(CatalogBooksViewModel model) { // Récupère l'objet model de vue CatalogBooksViewModel OrigModel = GetCatalogBooksViewModel(model, false); ViewData["CatalogBooksViewModel"] = model; SetCatalogBooksViewModel(OrigModel); //Retourne à l'index return(View("Index", OrigModel)); }
public IActionResult Import_Catalog() { //GetStore(); //importe les données Store.Import("CatalogBooks.json"); CatalogBooksViewModel model = CreateListeBookName(); ViewData["CatalogBooksViewModel"] = model; SetCatalogBooksViewModel(model); //Ne change pas de page return(NoContent()); }
/// <summary> /// Récupère le model qui est en session /// </summary> /// <returns></returns> private CatalogBooksViewModel GetCatalogBooksViewModel(CatalogBooksViewModel modelPassing, bool isQuantity) { CatalogBooksViewModel model; // Récupère l'objet model de vue if (HttpContext.Session.Keys.Contains("CatalogBooksViewModel")) { model = HttpContext.Session.GetObjectFromJson <CatalogBooksViewModel>("CatalogBooksViewModel"); } else { model = CreateListeBookName(); } if (modelPassing != null) { model.BookName = modelPassing.BookName ?? model.BookName; model.ListeBookName = modelPassing.ListeBookName ?? model.ListeBookName; model.Price = !isQuantity?Store.Buy(modelPassing.SelectedBookNames) : (modelPassing.Price != -1 ? modelPassing.Price : model.Price); model.Quantity = isQuantity ? Store.Quantity(modelPassing.BookName) : (modelPassing.Quantity != -1 ? modelPassing.Quantity : model.Quantity); model.SelectedBookNames = modelPassing.SelectedBookNames ?? model.SelectedBookNames; //Traitement des messages pour l'affichage if (((Store)Store).listeNameQuantity != null && ((Store)Store).listeNameQuantity.Count > 0) { ViewBag.Message = "<span>Rupture de stock pour</span><br/>"; foreach (NameQuantity err in ((Store)Store).listeNameQuantity) { ViewBag.Message += $"<span>{err.Name}, nombre de livre : {err.Quantity}</span><br/>"; } } } return(model); }