public async Task <IActionResult> Create(ProduitCatAdapter produitcatAdapter) { var prixvente = Request.Form["Prixvente"]; var prixachat = Request.Form["Prix"]; produitcatAdapter.Produit.Prix = double.Parse(prixvente.ToString().Replace('.', ',')); if (ModelState.IsValid) { try { //gestion de l'image et du produit MemoryStream ms = new MemoryStream(); var images = Request.Form.Files["Image"]; images.OpenReadStream().CopyTo(ms); produitcatAdapter.Produit.Image = ms.ToArray(); produitcatAdapter.Produit.Date = DateTime.Now; produitcatAdapter.Produit.Visible = true; produitcatAdapter.Produit.QuantiteStockTotal = produitcatAdapter.Produit.QuantiteEmballage * produitcatAdapter.Produit.NBPieceEmballage + produitcatAdapter.Produit.QuantiteStock; produitcatAdapter.Produit.TauxTVAID = int.Parse(Request.Form["Produit.TauxTVAID"]); _context.Add(produitcatAdapter.Produit);//insert le produit var tableauIDAttributs = Request.Form["nameAttribut"]; var tableauValeurs = Request.Form["ValueAttribut"]; List <int> listIDAttribut = new List <int>(); foreach (var NameAttribut in tableauIDAttributs) { listIDAttribut.Add(int.Parse(NameAttribut)); } List <String> listValeur = new List <String>(); foreach (var Value in tableauValeurs) { listValeur.Add(Value); } List <Valeur> ListValeurConstruit = new List <Valeur>(); int i = 0; while (i < listIDAttribut.Count && i < listValeur.Count) { Valeur v = new Valeur { Valeurs = listValeur[i] }; v.AttributID = listIDAttribut[i]; ++i; v.ProduitID = produitcatAdapter.Produit.ID; _context.Add(v); } //récupère les id mots clef var tableauMotClef = Request.Form["MotClef"]; List <int> ListMotClef = new List <int>(); foreach (var mot in tableauMotClef) { ListMotClef.Add(int.Parse(mot)); } foreach (int motClef in ListMotClef) { ProduitMotClef pm = new ProduitMotClef { MotClefId = motClef, ProduitID = produitcatAdapter.Produit.ID }; _context.Add(pm); } float Prix2 = 0; if (!(prixachat.ToString().Equals(""))) { Prix2 = float.Parse(prixachat.ToString().Replace('.', ',')); } //gere le fournisseur int fournisseurID = int.Parse((Request.Form["select"]).ToString()); Provient provient = new Provient { Prix = Prix2, //TauxTVA = int.Parse(Request.Form["tauxTVA"]), TauxTVAID = int.Parse(Request.Form["tauxTVA"]), QuantiteMinCommande = int.Parse(Request.Form["quantite"]), ProduitID = produitcatAdapter.Produit.ID, FournisseurID = fournisseurID }; _context.Add(provient); Historique h = new Historique { Date = DateTime.Now, ProduitID = produitcatAdapter.Produit.ID, Action = "Creation", QteStock = produitcatAdapter.Produit.QuantiteStockTotal, QteMouv = produitcatAdapter.Produit.QuantiteStockTotal, }; _context.Add(h); await _context.SaveChangesAsync(); return(RedirectToAction("")); } catch (Exception e) { } } produitcatAdapter.ListCat = _context.Categories.ToList(); return(View(produitcatAdapter)); }
public async Task <IActionResult> Edit(int id, [Bind("Ref,Denomination,Prix,QuantiteEmballage,NBPieceEmballage,TVA,CompteCompta,Description,Marque,QuantiteStock,Image,CategorieID,TauxTVA")] Produit produit) { //if (id != produit.ID) //{ // return NotFound(); //} var a = Request.Form["prixVente"].ToString().Replace(".", ","); if (produit.Prix == 0)//si nombre a virgule { produit.Prix = double.Parse(a); } if (ModelState.IsValid) { try { produit.TauxTVAID = int.Parse(Request.Form["Produit.TauxTVAID"]); var produitBD = await _context.Produits .AsNoTracking() .SingleOrDefaultAsync(m => m.ID == id); //var produitverif = await _context.Produits.Include(p => p.Possede).SingleOrDefaultAsync(m => m.ID == id); //if (produitverif.Possede.Count >= 0) produitBD.Visible = false; var images = Request.Form.Files["Image"]; if (images.FileName == "")//si pas chois d'image, prend l'ancienne { produit.Image = produitBD.Image; } else { MemoryStream ms = new MemoryStream(); images.OpenReadStream().CopyTo(ms); produit.Image = ms.ToArray(); } _context.Update(produitBD); int qteMouv = produit.QuantiteStockTotal; var qterecus = Request.Form["qteRecu"]; String action = "Edit"; if (qterecus != "") { var qteRecu = int.Parse(qterecus); produit.QuantiteEmballage += qteRecu; action = "Reasortir"; qteMouv = qteRecu; } produit.QuantiteStockTotal = produit.QuantiteEmballage * produit.NBPieceEmballage + produit.QuantiteStock; produit.Visible = true; produit.Date = DateTime.Now; _context.Add(produit); if (qterecus != "") { Historique h = new Historique { Date = DateTime.Now, ProduitID = produit.ID, Action = action, QteMouv = qteMouv, QteStock = produitBD.QuantiteStockTotal, }; _context.Add(h); } var tableauMotClef = Request.Form["MotClef"]; List <int> ListMotClef = new List <int>(); foreach (var mot in tableauMotClef) { ListMotClef.Add(int.Parse(mot)); } foreach (int motClef in ListMotClef) { ProduitMotClef pm = new ProduitMotClef { MotClefId = motClef, ProduitID = produit.ID }; _context.Add(pm); } var tableauIDAttributs = Request.Form["nameAttribut"]; var tableauValeurs = Request.Form["ValueAttribut"]; List <int> listIDAttribut = new List <int>(); foreach (var NameAttribut in tableauIDAttributs) { listIDAttribut.Add(int.Parse(NameAttribut)); } List <String> listValeur = new List <String>(); foreach (var Value in tableauValeurs) { listValeur.Add(Value); } List <Valeur> ListValeurConstruit = new List <Valeur>(); int i = 0; while (i < listIDAttribut.Count && i < listValeur.Count) { Valeur v = new Valeur { Valeurs = listValeur[i] }; v.AttributID = listIDAttribut[i]; ++i; v.ProduitID = produit.ID; _context.Add(v); } var prixachat = Request.Form["Prix"]; float Prix2 = 0; if (!(prixachat.ToString().Equals(""))) { Prix2 = float.Parse(prixachat.ToString().Replace('.', ',')); } int fournisseurID = int.Parse((Request.Form["select"]).ToString()); Provient provient = new Provient { Prix = Prix2, //TauxTVA = int.Parse(Request.Form["tauxTVA"]), TauxTVAID = int.Parse(Request.Form["tauxTVA"]), QuantiteMinCommande = int.Parse(Request.Form["quantite"]), ProduitID = produit.ID, FournisseurID = fournisseurID }; _context.Add(provient); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProduitExists(produit.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } return(View(produit)); }
//[Authorize(Roles = "gestionnaire")] public async Task <IActionResult> Create(ProduitCatAdapter produitcatAdapter) { if (ModelState.IsValid) { //gestion de l'image et du produit MemoryStream ms = new MemoryStream(); var images = Request.Form.Files["Image"]; images.OpenReadStream().CopyTo(ms); produitcatAdapter.Produit.Image = ms.ToArray(); _context.Add(produitcatAdapter.Produit);//insert le produit var tableauIDAttributs = Request.Form["nameAttribut"]; var tableauValeurs = Request.Form["ValueAttribut"]; List <int> listIDAttribut = new List <int>(); foreach (var NameAttribut in tableauIDAttributs) { listIDAttribut.Add(int.Parse(NameAttribut)); } List <String> listValeur = new List <String>(); foreach (var Value in tableauValeurs) { listValeur.Add(Value); } List <Valeur> ListValeurConstruit = new List <Valeur>(); int i = 0; while (i < listIDAttribut.Count && i < listValeur.Count) { Valeur v = new Valeur { Valeurs = listValeur[i] }; v.AttributID = listIDAttribut[i]; ++i; v.ProduitID = produitcatAdapter.Produit.ID; _context.Add(v); await _context.SaveChangesAsync(); } //récupère les id mots clef var tableauMotClef = Request.Form["MotClef"]; List <int> ListMotClef = new List <int>(); foreach (var mot in tableauMotClef) { ListMotClef.Add(int.Parse(mot)); } foreach (int motClef in ListMotClef) { ProduitMotClef pm = new ProduitMotClef { MotClefId = motClef, ProduitID = produitcatAdapter.Produit.ID }; _context.Add(pm); await _context.SaveChangesAsync(); } //gere le fournisseur int fournisseurID = int.Parse(Request.Form["select"]); Provient provient = new Provient { Prix = int.Parse(Request.Form["Prix"]), TauxTVA = int.Parse(Request.Form["tauxTVA"]), QuantiteMinCommande = int.Parse(Request.Form["quantite"]), ProduitID = produitcatAdapter.Produit.ID, FournisseurID = fournisseurID }; _context.Add(provient); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } produitcatAdapter.ListCat = _context.Categories.ToList(); return(View(produitcatAdapter)); }