public ActionResult GENERERFACTURECONSULTATION(String id)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "GENERER_FACTURE_CONSULTATION"))
                {
                    if (ModelState.IsValid)
                    {
                        FACTURE facture = new FACTURE();

                        facture.Dossier     = dal.ObtenirDossierParId(CRYPTAGE.StringHelpers.Encrypt(id));
                        facture.Utilisateur = dal.ObtenirUtilisateurParId(HttpContext.User.Identity.Name);


                        facture.FactureID = dal.EnregistrerFacture(facture);


                        if (!String.IsNullOrEmpty(facture.FactureID))
                        {
                            FACTURE fact = dal.ObtenirFactureParId(facture.FactureID);
                            PRODUIT prod = dal.ObtenirProduitParId("R15H0520O0701190455P669                     ");

                            if (fact != null && prod != null)
                            {
                                FACTUREDETAILS factureDetails = new FACTUREDETAILS();
                                factureDetails.Facture      = fact;
                                factureDetails.Produit      = prod;
                                factureDetails.Quantite     = 1;
                                factureDetails.PrixUnitaire = prod.PrixVente;
                                dal.EnregistrerFactureDetail(factureDetails);

                                return(RedirectToAction("CONSULTERLISTEFACTURES"));
                            }
                            else
                            {
                                return(View("FormulaireAjoutFacture"));
                            }
                        }
                        else
                        {
                            return(View("FormulaireAjoutFacture"));
                        }
                    }
                    else
                    {
                        return(View("FormulaireAjoutFacture"));
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }
        public ActionResult ENREGISTRERFACTURE(FactureVM2 factureVM, String[] IdsProduitsSelectionnes, String[] QtesProduitsSelectionnes)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_FACTURE"))
                {
                    if (ModelState.IsValid)
                    {
                        FACTURE facture = new FACTURE();

                        facture.Dossier     = dal.ObtenirDossierParId(CRYPTAGE.StringHelpers.Encrypt(factureVM.DossierID));
                        facture.Utilisateur = dal.ObtenirUtilisateurParId(CRYPTAGE.StringHelpers.Encrypt(factureVM.CaissierID));

                        facture.FactureID = dal.EnregistrerFacture(facture);


                        if (!String.IsNullOrEmpty(facture.FactureID) && IdsProduitsSelectionnes != null && QtesProduitsSelectionnes != null)
                        {
                            FACTURE        fact = dal.ObtenirFactureParId(facture.FactureID);
                            FACTUREDETAILS factureDetails;

                            int i        = 0;
                            int Quantite = 0;
                            foreach (var idProduit in IdsProduitsSelectionnes)
                            {
                                if (!String.IsNullOrEmpty(idProduit) && !String.IsNullOrEmpty(QtesProduitsSelectionnes[i]))
                                {
                                    if (idProduit != "false" && QtesProduitsSelectionnes[i] != "false")
                                    {
                                        factureDetails = new FACTUREDETAILS();

                                        factureDetails.Facture = fact;

                                        PRODUIT Prod = dal.ObtenirProduitParId(idProduit);
                                        factureDetails.Produit      = Prod;
                                        factureDetails.PrixUnitaire = Prod.PrixVente;

                                        Boolean IsConverted = int.TryParse(QtesProduitsSelectionnes[i], out Quantite);

                                        if (IsConverted)
                                        {
                                            factureDetails.Quantite = Quantite;
                                            dal.EnregistrerFactureDetail(factureDetails);
                                        }
                                    }
                                }
                                i += 1;
                            }
                        }

                        return(RedirectToAction("CONSULTERLISTEFACTURES"));
                    }
                    else
                    {
                        return(View("FormulaireAjoutFacture"));
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }