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 TRANSFERERSTOCK(TransfertStockVM TSVM, String[] IdsProduitATransferer, String[] QuantiteATransferer) { using (IDAL dal = new Dal()) { if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "TRANSFERER_STOCK")) { List <TransfertStockVM2> ListeProduitsTransfert = new List <TransfertStockVM2>(); if (IdsProduitATransferer != null) { TransfertStockVM2 ProduitTransfert; int i = 0; foreach (var ProduitId in IdsProduitATransferer) { ProduitTransfert = new TransfertStockVM2(); if (ProduitId != "false") { ProduitTransfert.ProduitId = ProduitId; int Qte; if (Int32.TryParse(QuantiteATransferer[i], out Qte)) { ProduitTransfert.Quantite = Qte; } ListeProduitsTransfert.Add(ProduitTransfert); } i++; } } if (ListeProduitsTransfert != null) { int i = 0; foreach (var ProduitTransfert in ListeProduitsTransfert) { if (ProduitTransfert != null) { PRODUIT Prod = dal.ObtenirProduitParId(ProduitTransfert.ProduitId); if (Prod != null) { STOCK stock = dal.ObtenirStockParId(CRYPTAGE.StringHelpers.Encrypt(TSVM.StockFromId)); if (stock != null) { List <STOCKDETAILS> StockDetailExistant = dal.ObtenirStockDetailsParProduitEtParStock(Prod.ProduitID, stock.StockID).OrderBy(stkd => stkd.DateExpiration).ToList(); int QuantiteAInserer = ProduitTransfert.Quantite; int ResteAInserer = QuantiteAInserer; int QuantiteInseree = 0; foreach (var stkd in StockDetailExistant) { if (QuantiteAInserer >= QuantiteInseree) { if (stkd != null && stkd.StockQuantity > 0) { STOCKDETAILS NewStkD = new STOCKDETAILS(); NewStkD.Produit = stkd.Produit; NewStkD.DateExpiration = stkd.DateExpiration; NewStkD.Stock = dal.ObtenirStockParId(CRYPTAGE.StringHelpers.Encrypt(TSVM.StockToId)); if (stkd.StockQuantity >= ResteAInserer) { NewStkD.StockQuantity = ResteAInserer; QuantiteInseree += ResteAInserer; stkd.StockQuantity = stkd.StockQuantity - ResteAInserer; dal.EnregistrerProduitEnStock(NewStkD); dal.EnregistrerProduitEnStock(stkd); ResteAInserer = 0; } else { NewStkD.StockQuantity = stkd.StockQuantity; QuantiteInseree += stkd.StockQuantity; dal.EnregistrerProduitEnStock(NewStkD); ResteAInserer = QuantiteAInserer - QuantiteInseree; stkd.StockQuantity = 0; dal.EnregistrerProduitEnStock(stkd); } } } else { break; } } } } } i++; } return(RedirectToAction("TRANSFERERSTOCK")); } else { ViewBag.ErrorMessage = "Veuillez selectionner les produits à transferer."; return(View("Error")); } } else { ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization(); return(View("Error")); } } }
public ActionResult APPROVISIONNERPRODUITS(ApprovisionnementStockVM ASVM, String[] IdsProduitAApprovionner, String[] QuantiteApprovisionner, String[] DateExpiration) { using (IDAL dal = new Dal()) { if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "APPROVISIONNER_PRODUITS")) { List <ApprovisionnementStockVM2> ListeAppro = new List <ApprovisionnementStockVM2>(); if (IdsProduitAApprovionner != null) { ApprovisionnementStockVM2 Appro; int i = 0; foreach (var ProduitId in IdsProduitAApprovionner) { Appro = new ApprovisionnementStockVM2(); if (ProduitId != "false") { Appro.ProduitId = ProduitId; int Qte; if (Int32.TryParse(QuantiteApprovisionner[i], out Qte)) { Appro.Quantite = Qte; } DateTime DateExp; if (DateTime.TryParse(DateExpiration[i], out DateExp)) { Appro.DateExpiration = DateExp; } ListeAppro.Add(Appro); } i++; } } if (ListeAppro != null) { int i = 0; foreach (var Appro in ListeAppro) { if (Appro != null) { PRODUIT Prod = dal.ObtenirProduitParId(Appro.ProduitId); if (Prod != null) { STOCKDETAILS StockDetail = new STOCKDETAILS(); StockDetail.Produit = Prod; STOCK stock = dal.ObtenirStockParId(ASVM.StockId); if (stock != null) { StockDetail.Stock = stock; StockDetail.DateExpiration = Appro.DateExpiration; StockDetail.StockQuantity = Appro.Quantite; List <STOCKDETAILS> StockDetailExistant = dal.ObtenirStockDetailsParProduitParStockParDateExpiration(Prod.ProduitID, stock.StockID, StockDetail.DateExpiration); Boolean EstUneMAJ = false; foreach (var stkd in StockDetailExistant) { if (stkd != null && stkd.DateExpiration == StockDetail.DateExpiration) { stkd.StockQuantity += StockDetail.StockQuantity; dal.EnregistrerProduitEnStock(stkd); EstUneMAJ = true; break; } } if (!EstUneMAJ) { dal.EnregistrerProduitEnStock(StockDetail); } } } } i++; } } return(RedirectToAction("APPROVISIONNERPRODUITS")); } else { ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization(); return(View("Error")); } } }