private List<Funcionalidad> CargarFuncionalidadesAsignadas() { List<Funcionalidad> funcionalidades = new List<Funcionalidad>(); foreach (DataRowView dr in chkListFuncionalidades.Items) { Funcionalidad oFuncionalidad = new Funcionalidad(); oFuncionalidad.ID = Convert.ToInt32(dr[0]); oFuncionalidad.Descripcion = dr[1].ToString(); funcionalidades.Add(oFuncionalidad); } return funcionalidades; }
private void botonAgregar_Click(object sender, EventArgs e) { if(comboFuncionalidad.SelectedItem == null) { MessageBox.Show("Seleccione una funcionalidad antes de poder agegarla", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } Funcionalidad funcNueva = new Funcionalidad(); funcNueva.Descripcion = (string) comboFuncionalidad.SelectedItem; funcNueva.matchFuncionalidadWithDescrp(funcionalidades); removerLista(lista_baja, funcNueva); lista_alta.Add(funcNueva); comboFuncionalidad.Items.Add(funcNueva.Descripcion); }
private void botonQuitar_Click(object sender, EventArgs e) { if(listBox.SelectedItem == null) { MessageBox.Show("Seleccione una funcionalidad antes de poder quitarla", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } string descripcion = (string)listBox.SelectedItem; Funcionalidad funcNueva = new Funcionalidad(); funcNueva.Descripcion = descripcion; funcNueva.matchFuncionalidadWithDescrp(funcionalidades); removerLista(lista_alta, funcNueva); lista_baja.Add(funcNueva); for (int i = 0; i < listBox.Items.Count; i++) { if ((string)listBox.Items[i] == descripcion) { listBox.Items.RemoveAt(i); return; } } }
private void removerLista(List<Funcionalidad> lista, Funcionalidad funcNueva) { foreach (Funcionalidad f in lista) { if (f.Id_funcionalidad == funcNueva.Id_funcionalidad) { lista.Remove(f); return; } } }
public List <Rol> getByQuery(String nombreRol, KeyValuePair <String, Boolean> estado, Funcionalidad funcionalidad) { List <Rol> roles = new List <Rol>(); String query = "SELECT r.idRol FROM LOS_BORBOTONES.Rol r"; //Consulta SIN FILTRO if (nombreRol.Equals("") && estado.Key == null && funcionalidad == null) { roles = this.getAll(); } else { //Consulta CON FILTROS //PREPARO TODO PARA HACER LA CONSULTA String connectionString = ConfigurationManager.AppSettings["BaseLocal"]; SqlConnection sqlConnection = new SqlConnection(connectionString); SqlCommand sqlCommand = new SqlCommand(); SqlDataReader reader; sqlCommand.CommandType = CommandType.Text; sqlCommand.Connection = sqlConnection; //Booleano que uso para armar bien la consulta Boolean primerCriterioWhere = true; //Consulta por FUNCIONALIDAD //Va primero porque el JOIN va antes que el WHERE if (funcionalidad != null) { sqlCommand.Parameters.AddWithValue("@Funcionalidad", funcionalidad.getDescripcion()); query = query + " INNER JOIN LOS_BORBOTONES.Funcionalidad_X_Rol fxr ON r.idRol = fxr.idRol INNER JOIN LOS_BORBOTONES.Funcionalidad f ON f.idFuncionalidad = fxr.idFuncionalidad WHERE f.Descripcion = @Funcionalidad"; primerCriterioWhere = false; } //AGREGO FILTRO NOMBRE if (!nombreRol.Equals("")) { if (primerCriterioWhere) { query = query + " WHERE r.Nombre LIKE @Nombre"; primerCriterioWhere = false; } else { query = query + " AND r.Nombre LIKE @Nombre"; } sqlCommand.Parameters.AddWithValue("@Nombre", "%" + nombreRol + "%"); } //AGREGO FILTRO ESTADO if (estado.Key != null) { if (primerCriterioWhere) { query = query + " WHERE r.Activo = @Estado"; primerCriterioWhere = false; } else { query = query + " AND r.Activo = @Estado"; } sqlCommand.Parameters.AddWithValue("@Estado", Convert.ToInt32(estado.Value)); } //HAGO LA CONSULTA sqlCommand.CommandText = query; sqlConnection.Open(); reader = sqlCommand.ExecuteReader(); //ARMAR ROLES while (reader.Read()) { roles.Add(this.getById(reader.GetInt32(reader.GetOrdinal("idRol")))); } sqlConnection.Close(); } return(roles); }
public void delete(Rol rol, Funcionalidad fun) { QueryBuilder q = new QueryBuilder(); connection.query <RolFuncionalidad>(q.build(), q.getParams()); }
public void insertar(Rol rol, Funcionalidad fun) { connection.update(INSERT_ROL_FUNCIONALIDAD, rol.id, fun.id); }
protected void btnGuardar_Click(object sender, EventArgs e) { Funcionalidad obj; Funcionalidad objOrigen; List <Funcionalidad> lista; String mensaje = ""; int orden; if (_Accion.Value == "Nuevo") { obj = new Funcionalidad(); } else { obj = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value)); } obj.Clave = txtClave.Text; obj.Descripcion = txtNombre.Text; lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == null).ToList(); if (_ElId.Value == "") { obj.ParentId = null; obj.Nivel = 1; obj.Orden = 1; } else { if (_Accion.Value == "Nuevo") { objOrigen = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value)); if (objOrigen.ParentId == null) //estoy en la primera rama { if (_Tipo.Value == "Grupo") //agregando un registro del mismo nivel { obj.ParentId = null; obj.Nivel = 1; lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == null).ToList(); } else //agregando un subnivel { obj.ParentId = objOrigen.Id; obj.Nivel = 2; lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.Id).ToList(); } } else // estoy en una segunda o tercera rama { if (_Tipo.Value == "Grupo") {//agregando un registro del mismo nivel obj.ParentId = objOrigen.ParentId; obj.Nivel = objOrigen.Nivel; lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.ParentId).ToList(); } else {//agregando un subnivel if (_Nivel.Value == "2") { obj.ParentId = objOrigen.Id; obj.Nivel = 3; lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.Id).ToList(); } if (_Nivel.Value == "3") { obj.ParentId = objOrigen.ParentId; obj.Nivel = 3; lista = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == objOrigen.ParentId).ToList(); } } } if (lista.Count == 0) { orden = 0; } else { orden = lista.Max(p => p.Orden); } orden++; obj.Orden = orden; } //es nuevo } //elId //validaciones uow.Errors.Clear(); if (_Accion.Value == "Nuevo") { lista = uow.FuncionalidadBusinessLogic.Get(p => p.Clave == obj.Clave).ToList(); if (lista.Count > 0) { uow.Errors.Add("La Clave que capturo ya ha sido registrada anteriormente, verifique su información"); } // En el catálogo de funcionalidades si es válido la existencia de descripciones repetidas //lista = uow.FuncionalidadBusinessLogic.Get(p => p.Descripcion == obj.Descripcion).ToList(); //if (lista.Count > 0) // uow.Errors.Add("La Descripción que capturo ya ha sido registrada anteriormente, verifique su información"); uow.FuncionalidadBusinessLogic.Insert(obj); mensaje = "El registro se ha almacenado correctamente"; } else { //update int xid; xid = int.Parse(_ElId.Value); lista = uow.FuncionalidadBusinessLogic.Get(p => p.Id != xid && p.Clave == obj.Clave).ToList(); if (lista.Count > 0) { uow.Errors.Add("La Clave que capturo ya ha sido registrada anteriormente, verifique su información"); } // En el catálogo de funcionalidades si es válido la existencia de descripciones repetidas //lista = uow.FuncionalidadBusinessLogic.Get(p => p.Id != xid && p.Descripcion == obj.Descripcion).ToList(); //if (lista.Count > 0) // uow.Errors.Add("La Descripción que capturo ya ha sido registrada anteriormente, verifique su información"); uow.FuncionalidadBusinessLogic.Update(obj); mensaje = "Los cambios se registraron satisfactoriamente"; } if (uow.Errors.Count == 0) { uow.SaveChanges(); } if (uow.Errors.Count == 0)//Integrando el nuevo nodo en el arbol { TreeNode node = null; switch (_Accion.Value) { case "Nuevo": if (_ElId.Value == "") { node = new TreeNode(); node.Value = obj.Id.ToString(); node.Text = obj.Clave + " " + obj.Descripcion; treeMain.Nodes.Add(node); } else { objOrigen = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value)); node = new TreeNode(); node.Value = obj.Id.ToString(); node.Text = obj.Clave + " " + obj.Descripcion; if (_Tipo.Value == "Grupo") //registro { if (objOrigen.Nivel == 1) { treeMain.Nodes.Add(node); } else { treeMain.SelectedNode.Parent.ChildNodes.Add(node); } } else //Subnivel { if (objOrigen.Nivel < 3) //nivel 1 y 2 { treeMain.SelectedNode.ChildNodes.Add(node); } else //nivel 3 { treeMain.SelectedNode.Parent.ChildNodes.Add(node); } } } //elIde BindControles(node); break; case "Modificar": node = treeMain.FindNode(_rutaNodoSeleccionado.Value); node.Value = obj.Id.ToString(); node.Text = obj.Clave + " " + obj.Descripcion; BindControles(node); break; } //Se ocultan los botones de GUARDAR Y CANCELAR del menu y Normalizar pantallas de datos y captura divcaptura.Style.Add("display", "none"); divArbol.Style.Add("display", "block"); btnMenuCancelar.Style.Add("display", "none"); btnMenuGuardar.Style.Add("display", "none"); //Se habiltan las opciones del menu contextual addp.Enabled = true; addsp.Enabled = true; edit.Enabled = true; //Se habilita el arbol treeMain.Enabled = true; //Mensaje de Se actualizo correctamente lblMensajeSuccess.Text = mensaje; divMsg.Style.Add("display", "none"); divMsgSuccess.Style.Add("display", "block"); } else { mensaje = string.Empty; foreach (string cad in uow.Errors) { mensaje = mensaje + cad + "<br>"; } lblMensajes.Text = mensaje; divMsg.Style.Add("display", "block"); divMsgSuccess.Style.Add("display", "none"); divArbol.Style.Add("display", "none"); divcaptura.Style.Add("display", "block"); SpanModificar.Style.Add("display", "none"); SpanGrupo.Style.Add("display", "none"); SpanFondo.Style.Add("display", "none"); if (_Accion.Value == "Nuevo") { if (_Tipo.Value == "Grupo") { SpanGrupo.Style.Add("display", "block"); } else { SpanFondo.Style.Add("display", "block"); } } else { SpanModificar.Style.Add("display", "block"); } } }
//en el futuro debe recibir un rol private void AplicarSeguridad() { //if (!Usuario.IsAdmin()) //{ //btngrabar.Enable = false; //cmbproductos.Enable = false; //menuStrip1.Items.Remove(menuABMCliente); //menuStrip1.Items.Remove(menuABMEmpresa); //} DataTable dt = new DataTable(); Funcionalidad funcionalidad = new Funcionalidad(); dt = funcionalidad.GetFuncionalidadesPorUsuario(this.userLog.Id); DataTable dtFuncionalidades = new DataTable(); DeshabilitarMenu(); if (dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { if (row["menu"].ToString() == "menuRegistroUsuario") { menuStrip1.Items.Add(menuRegistroUsuario); } if (row["menu"].ToString() == "menuABMCliente") { menuStrip1.Items.Add(menuABMCliente); } if (row["menu"].ToString() == "menuABMEmpresa") { menuStrip1.Items.Add(menuABMEmpresa); } if (row["menu"].ToString() == "menuPublicacion") { menuStrip1.Items.Add(menuPublicacion); } if (row["menu"].ToString() == "menuComprar") { menuStrip1.Items.Add(menuComprar); } if (row["menu"].ToString() == "menuCliente") { menuStrip1.Items.Add(menuCliente); } if (row["menu"].ToString() == "menuEstadisticas") { menuStrip1.Items.Add(menuEstadisticas); } if (row["menu"].ToString() == "menuPagos") { menuStrip1.Items.Add(menuPagos); } if (row["menu"].ToString() == "aBMRolToolStripMenuItem") { menuStrip1.Items.Add(aBMRolToolStripMenuItem); } if (row["menu"].ToString() == "ABMGradoToolStripMenuItem") { menuStrip1.Items.Add(ABMGradoToolStripMenuItem); } } } menuStrip1.Items.Add(salirToolStripMenuItem); }
public static string ActualizarRolFuncionalidad(Rol rol, Funcionalidad funcionalidad) { DRol Objeto = new DRol(); return(Objeto.ActualizarRolFuncionalidad(rol, funcionalidad)); }
public Usuario loginAs(string usuario, string password) { string query = "SELECT usua_id, usua_usuario, usua_n_intentos,rol_cod, rol_nombre " + "FROM TheBigBangQuery.Usuario JOIN TheBigBangQuery.Roles_usuario ON (usua_id = rolu_usuario) " + "JOIN TheBigBangQuery.Rol ON (rol.rol_cod = rolu_rol) " + "WHERE usua_usuario = @usuario " + "AND usua_password= [TheBigBangQuery].[getHashPassword](@password)"; SqlDataReader reader = null; try { SqlCommand command = new SqlCommand(query); command.Parameters.AddWithValue("@usuario", usuario); command.Parameters.AddWithValue("@password", password); reader = DatabaseConection.executeQuery(command); Usuario user = null; if (reader.HasRows) { user = new Usuario(); while (reader.Read()) { user.id = (int)reader.GetSqlDecimal(0); user.usuario = (string)reader.GetSqlString(1); user.intentos = (int)reader.GetSqlInt32(2); Rol rol = new Rol(); rol.id = (int)reader.GetSqlDecimal(3); rol.nombre = reader.GetSqlString(4).ToString(); user.roles.Add(rol); } reader.Close(); string query2 = "SELECT func_id, func_desc " + "FROM TheBigBangQuery.Funcionalidades_rol JOIN TheBigBangQuery.Funcionalidad ON (fpr_id = func_id) " + "WHERE fpr_rol = @rolId"; user.roles.ForEach(elem => { SqlCommand funcCommand = new SqlCommand(query2); funcCommand.Parameters.AddWithValue("@rolId", elem.id); reader = DatabaseConection.executeQuery(funcCommand); while (reader.Read()) { Funcionalidad fun = new Funcionalidad(); fun.id = (int)reader.GetSqlDecimal(0); fun.descripcion = reader.GetSqlString(1).ToString(); elem.funcionalidades.Add(fun); } reader.Close(); }); } //if (reader.HasRows) //{ // user = new Usuario(); // reader.Read(); // user.id = (int)reader.GetSqlDecimal(0); // user.usuario = (string)reader.GetSqlString(1); // user.intentos = (int)reader.GetSqlInt32(2); // Rol rol = new Rol(); // rol.id = (int)reader.GetSqlDecimal(3); // rol.nombre = (string)reader.GetSqlString(4); // Funcionalidad funcionalidad = new Funcionalidad(); // funcionalidad.id = (int)reader.GetSqlDecimal(5); // funcionalidad.descripcion = (string)reader.GetSqlString(6); // rol.agregarFuncionalidad(funcionalidad); // while (reader.Read()) // { // funcionalidad = new Funcionalidad(); // funcionalidad.id = (int)reader.GetSqlDecimal(5); // funcionalidad.descripcion = (string)reader.GetSqlString(6); // rol.agregarFuncionalidad(funcionalidad); // } // user.addRol(rol); //} return(user); } catch (Exception ex) { throw new DataNotFoundException("Error en el logue por favor intente mas tarde."); } finally { if (reader != null && !reader.IsClosed) { reader.Close(); } } }
private void SetMenuVisibilityByCurrentRole() { var administracion = false; var publicaciones = false; var estadistico = false; //Obtengo todas las funcionalidades asignadas al rol del usuario logueado foreach (var functionality in SessionManager.CurrentRol.Funcionalidades) { //Obtengo un objeto 'Funcionalidad' a partir de la descripción del rol (como aparece en la base) switch (Funcionalidad.GetByName(functionality.Descripcion)) { case Funcionalidades.ABM_Rol: administracionDeRolesToolStripMenuItem.Visible = true; administracion = true; break; case Funcionalidades.ABM_Cliente: administracionDeClientesToolStripMenuItem.Visible = true; administracion = true; break; case Funcionalidades.ABM_Empresa: administracionDeEmpresasToolStripMenuItem.Visible = true; administracion = true; break; case Funcionalidades.ABM_Usuario: administracionDeUsuariosToolStripMenuItem.Visible = true; administracion = true; break; case Funcionalidades.ABM_Visibilidad: administracionDeVisibilidadesToolStripMenuItem.Visible = true; administracion = true; break; case Funcionalidades.Generar_Publicacion: generarPublicacionesToolStripMenuItem.Visible = true; publicaciones = true; break; case Funcionalidades.Editar_Publicacion: editarMisPublicacionesToolStripMenuItem.Visible = true; publicaciones = true; break; case Funcionalidades.Gestion_Preguntas: responderPreguntasToolStripMenuItem.Visible = true; publicaciones = true; break; case Funcionalidades.Comprar_Ofertar: comprarOfertarToolStripMenuItem.Visible = true; publicaciones = true; break; case Funcionalidades.Historial_Cliente: historialClienteToolStripMenuItem.Visible = true; estadistico = true; break; case Funcionalidades.Calificar_Vendedor: calificarVendedorToolStripMenuItem.Visible = true; publicaciones = true; break; case Funcionalidades.Facturar_Publicaciones: facturarPublicacionesToolStripMenuItem.Visible = true; publicaciones = true; break; case Funcionalidades.Listado_Estadistico: listadoEstadisticoToolStripMenuItem.Visible = true; estadistico = true; break; } } //Si no posee ninguna funcionalidad de administración borro el menu item if (!administracion) { MsHome.Items.Remove(administracionToolStripMenuItem); } //Si no posee ninguna funcionalidad relacionadas con publicaciones borro el menu item if (!publicaciones) { MsHome.Items.Remove(publicacionesToolStripMenuItem); } //Si no posee ninguna funcionalidad de estadistica borro el menu item if (!estadistico) { MsHome.Items.Remove(estadisticasToolStripMenuItem); } }
private bool esProveedorInhabilitadoCrearOfertas(Funcionalidad funcionalidad) { return(!(funcionalidad.id == 8 && Utils.UsuarioUtil.Usuario.tipoUsuario == TipoUsuario.PROVEEDOR && !Utils.UsuarioUtil.Usuario.habilitado)); }
private void Modificar_Rol() { DbResultSet rs; bool error_flag = false; int rol_Habilitado = 0; if (this.checkBox_ActiveRol.Checked) { rol_Habilitado = 1; } string query_str = "UPDATE ENER_LAND.Rol " + "SET Descripcion = " + single_quote + this.textBox_RolName.Text.Trim() + single_quote + ", " + "Habilitado = " + rol_Habilitado.ToString().Trim() + " " + "WHERE idRol = " + Rol_Id.ToString(); rs = DbManager.dbSqlStatementExec(query_str); if (rs.operationState == 1 && !error_flag) { MessageBox.Show("Falló el renombrado del Rol"); error_flag = true; return; } query_str = "DELETE FROM ENER_LAND.Rol_Funcionalidad " + "WHERE idRol = " + Rol_Id.ToString(); rs = DbManager.dbSqlStatementExec(query_str); if (rs.operationState == 1 && !error_flag) { MessageBox.Show("Falló el la eliminación de funcionalidades asociadas a un rol"); error_flag = true; return; } if (!error_flag) { foreach (var Funcionalidad in this.checkedListBox_Funcionalidades.CheckedItems) { DataRow[] Rows = TablaFuncionalidades.Select("Descripcion = '" + Funcionalidad.ToString().Trim() + "'"); if (Rows.Length > 0) { int IdFuncionalidad = Convert.ToInt32(Rows[0][0].ToString().Trim()); if (!DbManager.Agregar_Funcionalidad(Rol_Id, IdFuncionalidad)) { error_flag = true; } } } if (error_flag) { query_str = "DELETE FROM ENER_LAND.Rol_Funcionalidad WHERE idRol = " + Rol_Id.ToString(); DbResultSet unResultSet = DbManager.dbSqlStatementExec(query_str); if (unResultSet.operationState == 1) { MessageBox.Show("No se pudo borrar el Rol creado previamente. Falla en la BD"); } } } }
public void InsertarFuncionalidad(int rolID, Funcionalidad oFuncionalidad) { SqlConnection oConnection = null; SqlCommand oCommand = null; SqlParameter[] arrParms = null; try { //Abro conexión oConnection = this.Conectar(); //Creo y configuro el comando asociado a la conexión oCommand = oConnection.CreateCommand(); oCommand.CommandType = CommandType.Text; oCommand.CommandText = SQL_INSERT_FUNCIONALIDAD; arrParms = new SqlParameter[2]; arrParms[0] = new SqlParameter("@pi_Rol_ID", SqlDbType.Int); arrParms[0].Direction = ParameterDirection.Input; arrParms[0].Value = rolID; arrParms[1] = new SqlParameter("@pi_Funcionalidad_ID", SqlDbType.Int); arrParms[1].Direction = ParameterDirection.Input; arrParms[1].Value = oFuncionalidad.ID; //Asigno parámetros al comando this.AgregarParametros(ref oCommand, ref arrParms); //Ejecuto el comando oCommand.ExecuteScalar(); } catch (SqlException ex) { throw new Exception(ex.Message, ex); } finally { //Cierro conexión this.Desconectar(ref oConnection); //Libero recursos this.LiberarSQLConnection(ref oConnection); this.LiberarSQLCommand(ref oCommand); } }
private void inicializarDataGridView() { funcionalidadesDisponibles = Funcionalidad.getFuncionalidades(); dgFuncionalidadesDisponibles.DataSource = funcionalidadesDisponibles; dgFuncionalidadesDisponibles.AutoGenerateColumns = true; }
public List<Rol> ObtenerRolesUsuario(int usuarioID) { SqlConnection oConnection = null; SqlCommand oCommand = null; SqlParameter[] arrParms = null; SqlDataReader oDataReader = null; List<Rol> rolesUsuario = new List<Rol>(); try { oConnection = this.Conectar(); //Preparo el comando asociado a la conexion oCommand = oConnection.CreateCommand(); oCommand.CommandType = CommandType.Text; oCommand.CommandText = SQL_SELECT_ROLES_USUARIO; arrParms = new SqlParameter[1]; arrParms[0] = new SqlParameter("@pi_Usuario_ID", SqlDbType.Int); arrParms[0].Direction = ParameterDirection.Input; arrParms[0].Value = usuarioID; AgregarParametros(ref oCommand, ref arrParms); //Ejecuto el comando oDataReader = oCommand.ExecuteReader(); int rolAnterior = 0; //Mientras tengas filas avanza Rol oRol = null; while (oDataReader.Read()) { if (Convert.ToInt32(oDataReader["Rol_ID"]) != rolAnterior) { rolAnterior = Convert.ToInt32(oDataReader["Rol_ID"]); oRol = new Rol(); oRol.ID = rolAnterior; oRol.Estado = Convert.ToBoolean(oDataReader["Rol_Estado"]); oRol.Descripcion = Convert.ToString(oDataReader["Rol_Nombre"]); rolesUsuario.Add(oRol); } Funcionalidad nuevaFuncionalidad = new Funcionalidad(); nuevaFuncionalidad.ID = Convert.ToInt32(oDataReader["Funcionalidad_ID"]); nuevaFuncionalidad.Descripcion = Convert.ToString(oDataReader["Funcionalidad_Nombre"]); oRol.AgregarFuncionalidad(nuevaFuncionalidad); } } catch (SqlException ex) { throw new Exception(ex.Message); } finally { //Cierro la conexion this.Desconectar(ref oConnection); //Libero los recursos this.LiberarSQLConnection(ref oConnection); this.LiberarSQLCommand(ref oCommand); } return rolesUsuario; }
protected void btnDel_Click(object sender, EventArgs e) { if (_ElId.Value == "") { return; } Funcionalidad obj = uow.FuncionalidadBusinessLogic.GetByID(int.Parse(_ElId.Value)); uow.Errors.Clear(); List <POADetalle> lista; lista = uow.POADetalleBusinessLogic.Get(p => p.FuncionalidadId == obj.Id).ToList(); List <Obra> listaObra; listaObra = uow.ObraBusinessLogic.Get(p => p.FuncionalidadId == obj.Id).ToList(); List <Funcionalidad> listaParent; listaParent = uow.FuncionalidadBusinessLogic.Get(p => p.ParentId == obj.Id).ToList(); if (lista.Count > 0) { uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema"); } if (listaObra.Count > 0) { uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema"); } if (listaParent.Count > 0) { uow.Errors.Add("El registro no puede eliminarse porque ya ha sido usado en el sistema"); } //Se elimina el objeto if (uow.Errors.Count == 0) { uow.FuncionalidadBusinessLogic.Delete(obj); uow.SaveChanges(); } if (uow.Errors.Count == 0) { //Se vuelve a RECONSTRUIR el ARBOL CargarArbol(); //Se bindea el primer fondo, si existe if (treeMain.Nodes.Count > 0) { BindControles(treeMain.Nodes[0]); } else { BindControles(null); ClientScript.RegisterStartupScript(this.GetType(), "script", "fnc_CargaInicial()", true); } lblMensajeSuccess.Text = "El registro se ha eliminado correctamente"; divMsg.Style.Add("display", "none"); divMsgSuccess.Style.Add("display", "block"); } else { string mensaje; mensaje = string.Empty; foreach (string cad in uow.Errors) { mensaje = mensaje + cad + "<br>"; } lblMensajes.Text = mensaje; divMsg.Style.Add("display", "block"); divMsgSuccess.Style.Add("display", "none"); } }