public ActionResult ENREGISTRERPRODUIT(ProduitVM ProduitVM)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_PRODUIT"))
                {
                    if (ModelState.IsValid)
                    {
                        PRODUIT produit = new PRODUIT();

                        produit.ProduitID        = ProduitVM.ProduitID;
                        produit.Stock            = dal.ObtenirStockParId(ProduitVM.StockID);
                        produit.Rayon            = dal.ObtenirRayonParId(ProduitVM.RayonID);
                        produit.Fabricant        = dal.ObtenirFabricantParId(ProduitVM.FabricantID);
                        produit.Nom              = ProduitVM.Nom;
                        produit.PrixVente        = ProduitVM.PrixVente;
                        produit.PrixAchat        = ProduitVM.PrixAchat;
                        produit.ReferenceExterne = ProduitVM.ReferenceExterne;
                        produit.Description      = ProduitVM.Description;

                        produit.ProduitID = dal.EnregistrerProduit(produit);


                        STOCKDETAILS stockDetails = new STOCKDETAILS()
                        {
                            Produit    = dal.ObtenirProduitParId(produit.ProduitID),
                            Stock      = dal.ObtenirStockParId(ProduitVM.StockID),
                            StockAlert = ProduitVM.SeuilAlert
                        };

                        stockDetails.StockDetailsID = dal.EnregistrerProduitEnStock(stockDetails);

                        return(RedirectToAction("CONSULTERLISTEPRODUITS"));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Veuillez remplir correctement le formulaire et reessayez svp.";
                        return(View("Error"));
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }
        public ActionResult ENREGISTRERFACTURE(String Id)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_FACTURE"))
                {
                    FactureVM factureVM = new FactureVM();

                    DOSSIER dossierPatient = dal.ObtenirDossierParId(CRYPTAGE.StringHelpers.Encrypt(Id));
                    if (dossierPatient != null)
                    {
                        factureVM.DossierID   = CRYPTAGE.StringHelpers.Decrypt(dossierPatient.DossierID);
                        factureVM.CodeDossier = CRYPTAGE.StringHelpers.Decrypt(dossierPatient.Code);
                        factureVM.Patient     = CRYPTAGE.StringHelpers.Decrypt(dossierPatient.Patient.Nom) + " " + CRYPTAGE.StringHelpers.Decrypt(dossierPatient.Patient.Prenom);

                        UTILISATEUR u = dal.ObtenirUtilisateurParId(HttpContext.User.Identity.Name);
                        if (u != null)
                        {
                            factureVM.NomCaissier = CRYPTAGE.StringHelpers.Decrypt(u.Personne.Nom) + " " + CRYPTAGE.StringHelpers.Decrypt(u.Personne.Prenom);
                            factureVM.CaissierID  = CRYPTAGE.StringHelpers.Decrypt(u.UtilisateurID);
                        }
                    }

                    List <PRODUIT>   ListeProduits  = dal.ObtenirTousLesProduits();
                    List <ProduitVM> ListeProduitVM = new List <ProduitVM>();

                    if (ListeProduits.Count > 0)
                    {
                        ProduitVM pVM;
                        foreach (var p in ListeProduits)
                        {
                            pVM = new ProduitVM();
                            pVM = dal.ConvertirProduitProduitVM(p);
                            ListeProduitVM.Add(pVM);
                        }
                    }
                    factureVM.ListeProduits = ListeProduitVM;

                    return(View("FormulaireAjoutFacture", factureVM));
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }
예제 #3
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Libelle,Prix,Description,QuantiteEnStock,MisEnVente,IdCategorie")] ProduitVM produit, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                //On utilise le Mapper (AutoMapper) pour gerer les relations
                var config = new MapperConfiguration(cfg => cfg.CreateMap <ProduitVM, Produit>());
                var mapper = new Mapper(config);

                Produit p = mapper.Map <Produit>(produit);

                Categorie categorie = db.Categories.SingleOrDefault(c => c.Id == produit.IdCategorie);

                p.Categorie = new List <Categorie>();
                p.Categorie.Add(categorie);

                if (Image != null && Image.ContentLength > 0)
                {
                    var fileName = Path.GetFileName(Image.FileName);
                    var path     = Path.Combine(Server.MapPath("~/images/produits/"), fileName);
                    Image.SaveAs(path);
                    p.Image = fileName;
                }

                if (p.Image == null)
                {
                    p.Image = "product-default.png";
                }

                Random random = new Random();

                p.UniqIdPanier = random.Next();

                db.Produits.Add(p);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(produit));
        }