//IMPORTAR TECNICA public ActionResult ImportarCat_TecnicaMarco() { ViewBag.NombreTabla = "CATALOGO DE TECNICA MARCO"; ViewBag.error = ""; try { //abrir conexion con1.Open(); // mandar mensaje de conexcion ViewBag.mensaje = "Conexión establecida"; //revisar el contador de registros if (db.TecnicaMarcos.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 [catMatriculaTecnicaMarco]"); SqlCommand sql = new SqlCommand(textSql, con1); //ejecutar el sql SqlDataReader leer = sql.ExecuteReader(); //realizar el foreach while (leer.Read()) { //definir el tipo de tabla TecnicaMarco tecnicaMarco = new TecnicaMarco(); //llenar el registro con los valores viejos tecnicaMarco.ClaveSigla = leer["clave"].ToString(); tecnicaMarco.ClaveTexto = leer["descripcion_clave"].ToString(); tecnicaMarco.TecnicaMarcoPadreID = null; tecnicaMarco.MatriculaSigla = leer["matricula"].ToString(); tecnicaMarco.Descripcion = leer["descripcion"].ToString(); tecnicaMarco.Status = true; tecnicaMarco.AntID = leer["MTecnicaMarco_Clave"].ToString(); tecnicaMarco.AntPadreID = leer["cat_padre"].ToString(); db.TecnicaMarcos.Add(tecnicaMarco); db.SaveChanges(); } //ASIGNAR LA TECNICA PADRE ID foreach (var item in db.TecnicaMarcos.ToList()) { string padre = item.AntPadreID; if (!string.IsNullOrEmpty(padre)) { if (!string.IsNullOrWhiteSpace(padre)) { if (padre != "0") { //buscar el ID de la tecnica que es padre var tecnicaMarco = db.TecnicaMarcos.Where(a => a.AntID == padre); if (tecnicaMarco.Count() > 0) { item.TecnicaMarcoPadreID = tecnicaMarco.FirstOrDefault().TecnicaMarcoID; db.Entry(item).State = EntityState.Modified; db.SaveChanges(); } } } } } var lista = db.TecnicaMarcos.ToList(); ViewBag.TotalRegistros = lista.Count; return PartialView("_ImportarCat_TecnicaMarcos", lista); } } catch (Exception) { ViewBag.mensaje = "Conexión fallida"; ViewBag.error = "error"; } return PartialView("_ImportarCat_TecnicaMarcos"); }