public ActionResult Create(Articulo articulo)//([Bind(Include = "ID_articulo,Descripcion,ID_cliente,Costo,IVA,Precio_lista,Precio_fecha,Stock,Fazon,Stock_minimo,Cant_x_bulto,Tamaño_caja,Tiraje_term_x_hora,Tiraje_troquel_x_hora,Observaciones")] Articulo articulo)
        {
            if (ModelState.IsValid)
            {
                db.Articulo.Add(articulo);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.ID_cliente = new SelectList(db.Cliente, "ID_cliente", "Razon_Social", articulo.ID_cliente);
            return View(articulo);
        }
        public ActionResult Edit(Articulo articulo)
        {
            var errors = ModelState.Select(x => x.Value.Errors).Where(y => y.Count > 0).ToList();

            if (ModelState.IsValid)
            {
                db.Entry(articulo).State = EntityState.Modified;
                for (int i = 0; i < articulo.Componente.Count; i++)
                {
                    db.Entry(articulo.Componente.ElementAt(i)).State = EntityState.Modified;
                        
                }
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            getDropdownElements();
            ViewBag.ID_cliente = new SelectList(db.Cliente, "ID_cliente", "Razon_Social", articulo.ID_cliente);
            return View(articulo);
        }
        public ActionResult Create(Articulo articulo)//([Bind(Include = "Descripcion,ID_cliente,Costo,IVA,Precio_lista,Precio_fecha,Stock,Fazon,Stock_minimo,Cant_x_bulto,Tamaño_caja,Tiraje_term_x_hora,Tiraje_troquel_x_hora,Observaciones")] Articulo articulo)
        {
            var errors = ModelState.Select(x => x.Value.Errors).Where(y => y.Count > 0).ToList();

            if (ModelState.IsValid)
            {
                    if (articulo.Componente == null || articulo.Componente.Count == 0)
                    {
                        ModelState.AddModelError("Detalle", "Debe agregar al menos un componente para el articulo");
                    }
                    else
                    {
                        db.Articulo.Add(articulo);
                       // return RedirectToAction("Index");
                    }
                
                db.SaveChanges();
                HelperController.Instance.agregarMensaje("El articulo se cargo con exito", HelperController.CLASE_EXITO);
                return RedirectToAction("Index");
            }
            else
            {
                getDropdownElements();
                ViewBag.Peso = "0";
            }

            ViewBag.ID_cliente = new SelectList(db.Cliente, "ID_cliente", "Razon_Social", articulo.ID_cliente);
            return View(articulo);
        }