// GET: Livres/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Livre livre = db.Livre.Find(id); if (livre == null) { return(HttpNotFound()); } LivreViewModel lvm = new LivreViewModel(livre); lvm.listAuteur = db.Auteur.Where(aut => aut.id_TypeAuteur == 2).Select(sl => new SelectListItem { Text = sl.Nom, Value = sl.id_Auteur.ToString() }).OrderBy(y => y.Text).ToList(); lvm.listDessinateur = db.Auteur.Where(aut => aut.id_TypeAuteur == 1).Select(sl => new SelectListItem { Text = sl.Nom, Value = sl.id_Auteur.ToString() }).OrderBy(y => y.Text).ToList(); lvm.listCollection = db.Collections.Select(sl => new SelectListItem { Text = sl.Nom, Value = sl.id_Collection.ToString() }).OrderBy(y => y.Text).ToList(); return(View(lvm)); }
public ActionResult Livre(LivreViewModel livre) { bool modeleOk = true; if (!ModelState.IsValid) { modeleOk = false; } // Vérifie que l'auteur existe if (dal.ObtenirAuteur(livre.AuteurId) == null) { modeleOk = false; ModelState.AddModelError("AuteurId", Constants.ERROR_AUTEUR_INCONNU); } // Vérifie qu'il n'existe pas déjà un livre avec le même titre if (dal.LivreExiste(livre.Titre)) { modeleOk = false; ModelState.AddModelError("Titre", Constants.ERROR_TITRE_EXISTANT); } // Si une erreur a été détectée, on renvoie vers la page avec le modèle if (!modeleOk) { AlimenterListeAuteur(livre.AuteurId); return(View(livre)); } // Pas d'erreur, on créé le livre et on réaffiche la liste des livres Livre livreCreer = dal.CreerLivre(livre.Titre, livre.DateParution, livre.AuteurId); return(RedirectToAction("Index", "Afficher")); }
// GET: Afficher/Livre/IDlivre // Affiche un livre, son auteur, l'emprunteur actuel et la liste des emprunteurs passés public ActionResult Livre(int IDlivre) { LivreViewModel vm = new LivreViewModel(IDlivre); if (vm.LivreExiste) { return(View(vm)); } else { return(View("Error")); } }
// GET: Livres/Create public ActionResult Create() { LivreViewModel lvm = new LivreViewModel(); lvm.listAuteur = db.Auteur.Where(aut => aut.id_TypeAuteur == 2).Select(sl => new SelectListItem { Text = sl.Nom, Value = sl.id_Auteur.ToString() }).OrderBy(y => y.Text).ToList(); lvm.listDessinateur = db.Auteur.Where(aut => aut.id_TypeAuteur == 1).Select(sl => new SelectListItem { Text = sl.Nom, Value = sl.id_Auteur.ToString() }).OrderBy(y => y.Text).ToList(); lvm.listCollection = db.Collections.Select(sl => new SelectListItem { Text = sl.Nom, Value = sl.id_Collection.ToString() }).OrderBy(y => y.Text).ToList(); return(View(lvm)); }
public ActionResult Create(LivreViewModel lvm) { if (ModelState.IsValid) { Livre livre = new Livre(); livre.id_Auteur = lvm.id_Auteur; livre.id_Collection = lvm.id_Collection; livre.id_Dessinateur = lvm.id_Dessinateur; livre.Nom = lvm.Nom; //livre = (Livre)lvm; db.Livre.Add(livre); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(lvm)); }
public ActionResult Edit(LivreViewModel lvm) { if (ModelState.IsValid) { Livre livre = new Livre(); livre.id_Livre = lvm.id_Livre; livre.id_Auteur = lvm.id_Auteur; livre.id_Collection = lvm.id_Collection; livre.id_Dessinateur = lvm.id_Dessinateur; livre.Nom = lvm.Nom; db.Entry(livre).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(lvm)); }
public void Ajouter_Post_Livre_Titre_DejaPresent() { LivreViewModel livre = new LivreViewModel { Titre = "Shinning", DateParution = DateTime.Today.AddDays(-1), AuteurId = 1 }; ActionResult resultat = ajouterController.Livre(livre); ViewResult view = (ViewResult)resultat; Assert.AreEqual(view.Model, livre); ModelStateDictionary modelStateDictionary = ajouterController.ModelState; ModelState modelState; modelStateDictionary.TryGetValue("Titre", out modelState); Assert.AreEqual(modelState.Errors.Count, 1); string message = modelState.Errors[0].ErrorMessage; Assert.AreEqual(message, Constants.ERROR_TITRE_EXISTANT); }
public void Ajouter_Post_Livre_AuteurInconnu() { LivreViewModel livre = new LivreViewModel { Titre = "Livre_AuteurInconnu", DateParution = DateTime.Today.AddDays(-1), AuteurId = 99 }; ActionResult resultat = ajouterController.Livre(livre); ViewResult view = (ViewResult)resultat; Assert.AreEqual(view.Model, livre); ModelStateDictionary modelStateDictionary = ajouterController.ModelState; ModelState modelState; modelStateDictionary.TryGetValue("AuteurId", out modelState); Assert.AreEqual(modelState.Errors.Count, 1); string message = modelState.Errors[0].ErrorMessage; Assert.AreEqual(message, Constants.ERROR_AUTEUR_INCONNU); }
public void Ajouter_Post_Livre_Titre_NonRenseigne() { //LivreViewModel livre = new LivreViewModel { Titre = "Livre parue dans le futur", DateParution = DateTime.Today.AddDays(1), AuteurId = 1 }; LivreViewModel livre = new LivreViewModel { Titre = "", DateParution = DateTime.Today, AuteurId = 1 }; ajouterController.ValideLeModele(livre); ActionResult resultat = ajouterController.Livre(livre); ViewResult view = (ViewResult)resultat; Assert.AreEqual(view.Model, livre); ModelStateDictionary modelStateDictionary = ajouterController.ModelState; ModelState modelState; modelStateDictionary.TryGetValue("Titre", out modelState); Assert.AreEqual(modelState.Errors.Count, 1); string message = modelState.Errors[0].ErrorMessage; }
public void Ajouter_Post_Livre_OK() { LivreViewModel livre = new LivreViewModel { Titre = "Nouveau livre", DateParution = DateTime.Today.AddDays(-1), AuteurId = 1 }; // Vérifie que le livre n'existe pas avant l'appel au controleur Assert.IsFalse(dal.LivreExiste(livre.Titre)); ajouterController.ValideLeModele(livre); ActionResult resultat = ajouterController.Livre(livre); // Vérifie que le livre existe aprés l'appel au controleur Assert.IsTrue(dal.LivreExiste(livre.Titre)); // Vérifie qu'on est bien redirigé vers l'action Index du controller Afficher RedirectToRouteResult redirectToRoute = (RedirectToRouteResult)resultat; Assert.AreEqual(redirectToRoute.RouteValues["action"], "Index"); Assert.AreEqual(redirectToRoute.RouteValues["controller"], "Afficher"); }
public void Ajouter_Post_Livre_DateParution_Aujourdhui() { LivreViewModel livre = new LivreViewModel { Titre = "Livre parue aujourd'hui", DateParution = DateTime.Today, AuteurId = 1 }; ajouterController.ValideLeModele(livre); ActionResult resultat = ajouterController.Livre(livre); ViewResult view = (ViewResult)resultat; Assert.AreEqual(view.Model, livre); ModelStateDictionary modelStateDictionary = ajouterController.ModelState; ModelState modelState; modelStateDictionary.TryGetValue("DateParution", out modelState); Assert.AreEqual(modelState.Errors.Count, 1); string message = modelState.Errors[0].ErrorMessage; Assert.AreEqual(message, Constants.ERROR_DATE_PARUTION_NON_PASSEE); }
// Detail : Livre public ActionResult DetailLivre(string codeISBN) { LivreViewModel livre = new LivreViewModel(codeISBN); return(View(livre)); }
public LivreController(ILivreRepository repository) { _repository = repository; _model = new LivreViewModel(_repository); }