Ejemplo n.º 1
0
        public ActionResult Delete(int id, FormCollection collection)
        {
            // Appel à transaction
            DbContextTransaction t = Transactions.Commencer();

            try
            {
                EFRepository <Commande>       repCommande = new EFRepository <Commande>();
                EFRepository <DetailCommande> repDetail   = new EFRepository <DetailCommande>();

                Commande commande = repCommande.Trouver(id);

                // Première suppression : détails
                foreach (var d in commande.DetailCommandes)
                {
                    repDetail.Supprimer(d.id);
                }

                // Seconde suppression : commande
                repCommande.Supprimer(commande.id);

                // Confirmation de la transaction
                Transactions.Valider(t);

                return(RedirectToAction("Index"));
            }
            catch
            {
                // Annulation de la transaction
                Transactions.Annuler(t);
                return(View());
            }
        }