public ActionResult Edit(DevisFactureDTO modelIn) { //On vérifie la validité du model récupéré //Si le modèle n'est pas valide, on renvoit la vue avec les données reçus if (!ModelState.IsValid) { BootstrapModalViewModel modelOut = new BootstrapModalViewModel(); modelOut.objet = modelIn; modelOut.formulaireUrl = "~/Views/ManageQuote/Edit.cshtml"; modelOut.titreModal = "Edition d'un devis"; return(PartialView("~/Views/Shared/_BootstrapModalPartial.cshtml", modelOut)); } //Ici DevisFactureModel est un DTO (Data Transfert Object) qui contient les données saisies dans le formulaire //Pour pouvoir sauvegarder ces données, il faut établir une correspondance entre les attributs de DevisFactureModel //et la table DevisFacture, c'est ce qui est réalisé ici var devisATraiter = Mapper.Map <DevisFactureDTO, DevisFacture>(modelIn); if (devisATraiter.id != 0) //si notre objet contient déjà un ID, il s'agit d'une mise à jour { try { FlashMessage.Confirmation("Devis mis à jour avec succès"); devisfactureService.Update(devisATraiter); //Après avoir défini toutes les nouvelles entrées à réaliser en bdd, //on demande au Pattern UnitOfWork de réaliser les transactions nécessaire pour assurer la persistence des données //En effet la méthode saveDevis() appelle unitOfWork.Commit(); devisfactureService.Save(); } catch (Exception) { FlashMessage.Danger("Erreur lors de la mise à jour"); } } //On met en place une redirection pour afficher de nouveau l'ensemble des devis return(RedirectToAction("Index")); }
public DevisFactureIndexViewModel() { nouveaudevis = new DevisFactureDTO(); tableauDevisFactures = new BootstrapTableViewModel(); }