protected void AsignarACYS(ref RadTreeNode nodoArbol, int nivel, int idAcys) { CN_CatCNac_Estructura cm_Estr = new CN_CatCNac_Estructura(model); CatCNac_Estructura estr = new CatCNac_Estructura(); foreach (RadTreeNode nodo in nodoArbol.Nodes) { var nodoA = nodo; if (nodo.Level == nivelMax) { estr.Id = Int32.Parse(nodo.Value); estr.Nivel_ACYS = nivel; estr.id_Acys = idAcys; int id = cm_Estr.CambiarNivel(estr); var itemEstr = listEstructura.Where(x => x.Id == estr.Id).FirstOrDefault(); itemEstr.Nivel_ACYS = nivel; itemEstr.id_Acys = idAcys; } AsignarACYS(ref nodoA, nivel, idAcys); } }
protected void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) { RadTreeNode clickedNode = e.Node; var nodoA = treeEstructura.Nodes[0]; var hijosPrimerNodo = listEstructura.Where(x => x.Nivel == 1).ToList(); if (e.MenuItem.Value.StartsWith("[ACYS]")) { var strValue = e.MenuItem.Value; strValue = strValue.Replace("[ACYS]", ""); int idACYS = Int32.Parse(strValue); CN_CatCNac_Estructura cm_EstrACYS = new CN_CatCNac_Estructura(model); CatCNac_Estructura estACYS = new CatCNac_Estructura(); if (clickedNode.Level == nivelMax && nivelMax >= 1) { RadMenuItem itemPadre = ((RadMenuItem)(e.MenuItem.Owner)); itemPadre.Value = itemPadre.Value.Replace("Asignar", ""); estACYS.Id = Int32.Parse(clickedNode.Value); estACYS.Nivel_ACYS = 1; estACYS.id_Acys = idACYS; int id = cm_EstrACYS.CambiarNivel(estACYS); var itemEstr = listEstructura.Where(x => x.Id == estACYS.Id).FirstOrDefault(); itemEstr.Nivel_ACYS = estACYS.Nivel_ACYS; itemEstr.id_Acys = idACYS; } else { AsignarACYS(ref clickedNode, clickedNode.Level, idACYS); } AgregarControles(ref nodoA, hijosPrimerNodo, null); } else { switch (e.MenuItem.Value) { case "Nuevo": RadTreeNode nodoNuevo = new RadTreeNode(); nodoNuevo.Selected = true; nodoNuevo.ImageUrl = clickedNode.ImageUrl; clickedNode.Nodes.Add(nodoNuevo); clickedNode.Expanded = true; //set node's value so we can find it in startNodeInEditMode nodoNuevo.Value = "Nuevo - " + Guid.NewGuid().ToString(); StartNodeInEditMode(nodoNuevo.Value); AgregarControles(ref nodoA, hijosPrimerNodo, nodoNuevo); break; case "Asignar": AsignarACYS(ref clickedNode, clickedNode.Level, 1); AgregarControles(ref nodoA, hijosPrimerNodo, null); break; case "Asignar1": CN_CatCNac_Estructura cm_Estr1 = new CN_CatCNac_Estructura(model); CatCNac_Estructura est1 = new CatCNac_Estructura(); if (clickedNode.Level == nivelMax && nivelMax >= 1) { est1.Id = Int32.Parse(clickedNode.Value); est1.Nivel_ACYS = 1; int id = cm_Estr1.CambiarNivel(est1); var itemEstr = listEstructura.Where(x => x.Id == est1.Id).FirstOrDefault(); itemEstr.Nivel_ACYS = 1; } AgregarControles(ref nodoA, hijosPrimerNodo, null); break; case "Asignar2": CN_CatCNac_Estructura cm_Estr2 = new CN_CatCNac_Estructura(model); CatCNac_Estructura est2 = new CatCNac_Estructura(); if (clickedNode.Level == nivelMax && nivelMax >= 2) { est2.Id = Int32.Parse(clickedNode.Value); est2.Nivel_ACYS = 2; int id = cm_Estr2.CambiarNivel(est2); var itemEstr = listEstructura.Where(x => x.Id == est2.Id).FirstOrDefault(); itemEstr.Nivel_ACYS = 2; } AgregarControles(ref nodoA, hijosPrimerNodo, null); break; case "Asignar3": CN_CatCNac_Estructura cm_Estr3 = new CN_CatCNac_Estructura(model); CatCNac_Estructura est3 = new CatCNac_Estructura(); if (clickedNode.Level == nivelMax && nivelMax >= 3) { est3.Id = Int32.Parse(clickedNode.Value); est3.Nivel_ACYS = 3; int id = cm_Estr3.CambiarNivel(est3); var itemEstr = listEstructura.Where(x => x.Id == est3.Id).FirstOrDefault(); itemEstr.Nivel_ACYS = 3; } AgregarControles(ref nodoA, hijosPrimerNodo, null); break; case "Asignar4": CN_CatCNac_Estructura cm_Estr4 = new CN_CatCNac_Estructura(model); CatCNac_Estructura est4 = new CatCNac_Estructura(); if (clickedNode.Level == nivelMax && nivelMax >= 4) { est4.Id = Int32.Parse(clickedNode.Value); est4.Nivel_ACYS = 4; int id = cm_Estr4.CambiarNivel(est4); var itemEstr = listEstructura.Where(x => x.Id == est4.Id).FirstOrDefault(); itemEstr.Nivel_ACYS = 4; } AgregarControles(ref nodoA, hijosPrimerNodo, null); break; case "Borrar": clickedNode.Remove(); CN_CatCNac_Estructura cm_EstrA = new CN_CatCNac_Estructura(model); var estrA = new CatCNac_Estructura(); estrA.Id = Int32.Parse(clickedNode.Value); cm_EstrA.Borrar(estrA); listEstructura.Remove(estrA); AgregarControles(ref nodoA, hijosPrimerNodo, null); break; default: CN_CatCNac_Estructura cm_EstrD = new CN_CatCNac_Estructura(model); CatCNac_Estructura estD = new CatCNac_Estructura(); if (clickedNode.Level == nivelMax && e.MenuItem.Value != "") { estD.Id = Int32.Parse(clickedNode.Value); estD.Sucursal = Int32.Parse(e.MenuItem.Value); estD.NombreSucursal = e.MenuItem.Text; int id = cm_EstrD.CambiarSucursal(estD); var itemEstr = listEstructura.Where(x => x.Id == estD.Id).FirstOrDefault(); itemEstr.Sucursal = Int32.Parse(e.MenuItem.Value); itemEstr.NombreSucursal = e.MenuItem.Text; } AgregarControles(ref nodoA, hijosPrimerNodo, null); break; } } }