Example #1
0
        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));
        }
Example #2
0
        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));
        }