protected void RadTreeView1_NodeEdit(object sender, RadTreeNodeEditEventArgs e) { //string nivelPrefijo = ""; CN_CatCNac_Estructura cm_Estr = new CN_CatCNac_Estructura(model); var estr = new CatCNac_Estructura(); if (e.Node.Value.Contains("Nuevo")) { estr.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); estr.Nivel = e.Node.Level; estr.NombreNodo = e.Text; estr.NodoPadre = Int32.Parse(e.Node.ParentNode.Value); int id = cm_Estr.Alta(estr); e.Node.Value = id.ToString(); listEstructura.Add(estr); } else { estr.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); estr.Nivel = e.Node.Level; estr.NombreNodo = e.Text; estr.NodoPadre = Int32.Parse(e.Node.ParentNode.Value); estr.Id = Int32.Parse(e.Node.Value); int id = cm_Estr.Editar(estr); e.Node.Value = id.ToString(); } //if (e.Node.Level == 1) nivelPrefijo = "[" + matriz.Desc_Nivel_1 + "] - "; //if (e.Node.Level == 2) nivelPrefijo = "[" + matriz.Desc_Nivel_2 + "] - "; //if (e.Node.Level == 3) nivelPrefijo = "[" + matriz.Desc_Nivel_3 + "] - "; //if (e.Node.Level == 4) nivelPrefijo = "[" + matriz.Desc_Nivel_4 + "] - "; //Label etiq2 = new Label(); //e.Node.Controls.Add(etiq2); e.Node.Text = e.Text; var nodoA = treeEstructura.Nodes[0]; var hijosPrimerNodo = listEstructura.Where(x => x.Nivel == 1).ToList(); AgregarControles(ref nodoA, hijosPrimerNodo, null); }
protected void btnCargaExcel_Click(object sender, EventArgs e) { HttpPostedFile filePosted = Request.Files[0]; string pathArchivo = "c:\\KeyWeb_Log\\excelTempCC.xlsx"; filePosted.SaveAs(pathArchivo); var excelFile = new ExcelQueryFactory(pathArchivo); var miHoja = excelFile.Worksheet(0).Select(x => x).ToList(); CN_CatCNac_Estructura cm_Estr = new CN_CatCNac_Estructura(model); using (TransactionScope scope = new TransactionScope()) { try { cm_Estr.Borrar(Int32.Parse(Request.QueryString["Id"])); listEstructura.Clear(); int padre1 = 0; int padre2 = 0; int padre3 = 0; int padre4 = 0; foreach (var item in miHoja) { CatCNac_Estructura est = new CatCNac_Estructura(); est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); //Nivel 1 if (item["Nivel ACYS"] == null) { throw new Exception("Falta la columna Nivel ACYS"); } if (item["ACYS"] == null) { throw new Exception("Falta la columna ACYS"); } if (item["Sucursal"] == null) { throw new Exception("Falta la columna Sucursal"); } if (nivelMax >= 1) { est.NombreNodo = item[0].Value.ToString(); if (!this.listEstructura.Exists(x => x.NombreNodo == est.NombreNodo && x.Id_Matriz == est.Id_Matriz && x.Nivel == 1)) { est.Nivel = 1; est.NodoPadre = 0; if (nivelMax == 1) { est.Nivel_ACYS = item["Nivel ACYS"].Cast <int>(); var acysC = listaACYS.Where(x => x.Nombre == item["ACYS"]).FirstOrDefault(); if (acysC == null) { throw new Exception("El acys no existe: " + item["ACYS"]); } int idAcys = acysC.Id; est.id_Acys = idAcys; est.Sucursal = item["Sucursal"].Cast <int>(); var suc = listaSucursales.Where(x => x.Id_Cd == est.Sucursal).FirstOrDefault(); if (suc == null) { throw new Exception("La Sucursal no existe: " + item["Sucursal"]); } est.NombreSucursal = item["Sucursal"] + " - " + suc.Cd_Nombre; } int resId = cm_Estr.Alta(est); est.Id = resId; padre1 = resId; listEstructura.Add(est); } } if (nivelMax >= 2) { //Nivel 2 est = new CatCNac_Estructura(); est.NombreNodo = item[1].Value.ToString(); est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); if (!this.listEstructura.Exists(x => x.NombreNodo == est.NombreNodo && x.Id_Matriz == est.Id_Matriz && x.Nivel == 2 && x.NodoPadre == padre1)) { est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); est.Nivel = 2; est.NodoPadre = padre1; if (nivelMax == 2) { est.Nivel_ACYS = item["Nivel ACYS"].Cast <int>(); var acysC = listaACYS.Where(x => x.Nombre == item["ACYS"]).FirstOrDefault(); if (acysC == null) { throw new Exception("El acys no existe: " + item["ACYS"]); } int idAcys = acysC.Id; est.id_Acys = idAcys; est.Sucursal = item["Sucursal"].Cast <int>(); var suc = listaSucursales.Where(x => x.Id_Cd == est.Sucursal).FirstOrDefault(); if (suc == null) { throw new Exception("La Sucursal no existe: " + item["Sucursal"]); } est.NombreSucursal = item["Sucursal"] + " - " + suc.Cd_Nombre; } int resId = cm_Estr.Alta(est); est.Id = resId; padre2 = resId; listEstructura.Add(est); } } if (nivelMax >= 3) { //Nivel 3 est = new CatCNac_Estructura(); est.NombreNodo = item[2].Value.ToString(); est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); if (!this.listEstructura.Exists(x => x.NombreNodo == est.NombreNodo && x.Id_Matriz == est.Id_Matriz && x.Nivel == 3 && x.NodoPadre == padre2)) { est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); est.Nivel = 3; est.NodoPadre = padre2; if (nivelMax == 3) { est.Nivel_ACYS = item["Nivel ACYS"].Cast <int>(); var acysC = listaACYS.Where(x => x.Nombre == item["ACYS"]).FirstOrDefault(); if (acysC == null) { throw new Exception("El acys no existe: " + item["ACYS"]); } int idAcys = acysC.Id; est.id_Acys = idAcys; est.Sucursal = item["Sucursal"].Cast <int>(); var suc = listaSucursales.Where(x => x.Id_Cd == est.Sucursal).FirstOrDefault(); if (suc == null) { throw new Exception("La Sucursal no existe: " + item["Sucursal"]); } est.NombreSucursal = item["Sucursal"] + " - " + suc.Cd_Nombre; } int resId = cm_Estr.Alta(est); est.Id = resId; padre3 = resId; listEstructura.Add(est); } } if (nivelMax >= 4) { //Nivel 4 est = new CatCNac_Estructura(); est.NombreNodo = item[3].Value.ToString(); est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); if (!this.listEstructura.Exists(x => x.NombreNodo == est.NombreNodo && x.Id_Matriz == est.Id_Matriz && x.Nivel == 4 && x.NodoPadre == padre3)) { est.Id_Matriz = Int32.Parse(Request.QueryString["Id"]); est.Nivel = 4; est.NodoPadre = padre3; est.Nivel_ACYS = item["Nivel ACYS"].Cast <int>(); var acysC = listaACYS.Where(x => x.Nombre == item["ACYS"]).FirstOrDefault(); if (acysC == null) { throw new Exception("El acys no existe: " + item["ACYS"]); } int idAcys = acysC.Id; est.id_Acys = idAcys; est.Sucursal = item["Sucursal"].Cast <int>(); var suc = listaSucursales.Where(x => x.Id_Cd == est.Sucursal).FirstOrDefault(); if (suc == null) { throw new Exception("La Sucursal no existe: " + item["Sucursal"]); } est.NombreSucursal = item["Sucursal"] + " - " + suc.Cd_Nombre; int resId = cm_Estr.Alta(est); est.Id = resId; padre4 = resId; listEstructura.Add(est); } } } model.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); listEstructura.Clear(); listEstructura = cm_Estr.ConsultarTodos(Int32.Parse(Request.QueryString["Id"])); RAM1.ResponseScripts.Add("CloseAlert('" + ex.Message + "')"); } finally { var nodoA = treeEstructura.Nodes[0]; var hijosPrimerNodo = listEstructura.Where(x => x.Nivel == 1).ToList(); nodoA.Nodes.Clear(); ConstruirEstructura(ref nodoA, hijosPrimerNodo); AgregarControles(ref nodoA, hijosPrimerNodo, null); treeEstructura.ExpandAllNodes(); } } }