public ActionResult AgregarValor(string valor, bool aceptar)
 {
     if (aceptar)
     {
         if (valor != null || valor != "")
         {
             var lista = db.Catalogos.Where(a => a.Nombre == valor).ToList();
             if (lista.Count == 0)
             {
                 var catalogo = new Catalogo()
                 {
                     Nombre = valor,
                     Status = true,
                 };
                 db.Catalogos.Add(catalogo);
                 db.SaveChanges();
                 AlertaSuccess(string.Format("Catálogo: <b>{0}</b> se agregó con exitó.", catalogo.Nombre), true);
                 return Json(new { success = true, valor = catalogo.CatalogoID, texto = catalogo.Nombre });
             }
             else
             {
                 AlertaSuccess(string.Format("Catálogo: <b>{0}</b> se agregó con exitó.", lista.FirstOrDefault().Nombre), true);
                 return Json(new { success = true, valor = lista.FirstOrDefault().CatalogoID, texto = lista.FirstOrDefault().Nombre });
             }
         }
     }
     return Json(new { success = false });
 }
        //IMPORTAR CATALOGO
        public ActionResult ImportarCat_Catalogo()
        {
            ViewBag.NombreTabla = "CATALOGO DE CATALOGOS";
            ViewBag.error = "";
            try
            {
                //abrir conexion
                con1.Open();

                // mandar mensaje de conexcion
                ViewBag.mensaje = "Conexión establecida";

                //revisar el contador de registros
                if (db.Catalogos.ToList().Count > 0)
                {
                    //si hay por lo menos un registro ya se ocupo la tabla
                    ViewBag.error = "error";
                }
                else
                {
                    //definir el sql
                    string textSql = string.Format("SELECT * FROM [catCatalogo]");
                    SqlCommand sql = new SqlCommand(textSql, con1);
                    //ejecutar el sql
                    SqlDataReader leer = sql.ExecuteReader();
                    //realizar el foreach
                    while (leer.Read())
                    {
                        //definir el tipo de tabla
                        Catalogo catalogo = new Catalogo();

                        //llenar el registro con los valores viejos
                        catalogo.Nombre = leer["Catalogo_Descripcion"].ToString();
                        catalogo.Status = Convert.ToBoolean(leer["Catalogo_Estatus"]);
                        catalogo.AntID = leer["Catalogo_Clave"].ToString();

                        db.Catalogos.Add(catalogo);
                        db.SaveChanges();
                    }

                    var lista = db.Catalogos.ToList();
                    ViewBag.TotalRegistros = lista.Count;

                    return PartialView("_ImportarCat_Catalogo", lista);

                }
            }
            catch (Exception)
            {
                ViewBag.mensaje = "Conexión fallida";
            }
            return PartialView("_ImportarCat_Catalogo");
        }
        public ActionResult Crear([Bind(Include = "PiezaID,CatalogoID,Status")] CatalogoPieza catalogoPieza)
        {
            catalogoPieza.Status = true;
            //veridicar que CatalogoID NULL ó 0
            if (catalogoPieza.CatalogoID == 0)
            {
                //si es NULL ó 0
                //agregar valor de la busqueda a la tabla CATALOGO
                //extraer el ID y asignarlo a CATALOGOPIEZA

                //validar que BuscarDato no sea "" o NULL
                var text_BuscarDato = Request.Form["BuscarDato"].ToString();
                if (!String.IsNullOrEmpty(text_BuscarDato))
                {
                    var cat_existe = db.Catalogos.Where(cat => cat.Nombre == text_BuscarDato).ToList();
                    // si es repetido agregar su ID a CatalogoPieza
                    if (cat_existe.Count > 0)
                    {
                        //ya existe
                        catalogoPieza.CatalogoID = cat_existe.FirstOrDefault().CatalogoID;
                        db.Entry(catalogoPieza).State = EntityState.Modified;
                    }
                    else
                    {
                        //no existe
                        var catalogoNew = new Catalogo()
                        {
                            Nombre = text_BuscarDato,
                            Status = true
                        };

                        db.Catalogos.Add(catalogoNew);
                        db.SaveChanges();

                        catalogoPieza.CatalogoID = catalogoNew.CatalogoID;
                        db.CatalogoPiezas.Add(catalogoPieza);
                    }

                    db.SaveChanges();
                    //AlertaSuccess(string.Format("Catalogo: <b>{0}</b> se agrego con exitó.", catalogo.Nombre), true);
                    string url = Url.Action("Lista", "CatalogoPieza", new { id = catalogoPieza.PiezaID });
                    return Json(new { success = true, url = url, modelo = "CatalogoPieza", lista = "lista", idPieza = catalogoPieza.PiezaID });
                }
            }
            else
            {
                //no es NULL ó 0
                //verificar que no exista ya el registro para la pieza
                var catPieza_existe = db.CatalogoPiezas.Where(cat => cat.PiezaID == catalogoPieza.PiezaID && cat.CatalogoID == catalogoPieza.CatalogoID).ToList();
                // si es repetido agregar su ID a CatalogoPieza
                if (catPieza_existe.Count <= 0)
                {
                    //crear
                    db.CatalogoPiezas.Add(catalogoPieza);
                    db.SaveChanges();
                }

                //AlertaSuccess(string.Format("Catalogo: <b>{0}</b> se agrego con exitó.", catalogo.Nombre), true);
                string url = Url.Action("Lista", "CatalogoPieza", new { id = catalogoPieza.PiezaID });
                return Json(new { success = true, url = url, modelo = "CatalogoPieza", lista = "lista", idPieza = catalogoPieza.PiezaID });
            }

            ViewBag.CatalogoID = new SelectList(db.Catalogos, "CatalogoID", "Nombre", catalogoPieza.CatalogoID);

            return PartialView("_Crear", catalogoPieza);
        }
 // GET: Catalogo/Crear
 public ActionResult Crear()
 {
     Catalogo catalogo = new Catalogo();
     return PartialView("_Crear", catalogo);
 }