/// <summary>
        /// Actualiza la descripcion(miga de pan) de todas los unidades a partir de una clave (haciendo uso de un replace del viejo valor con el nuevo)
        /// </summary>
        /// <param name="clave">Clave de la unidad(rama)</param>
        /// <param name="newValue">Nuevo valor a actualizar</param>
        /// <param name="oldValue">Valor a reemplazar</param>
        public void ActualizaMigasDePanRamas(string clave, string newValue, string oldValue)
        {
            try
            {
                var nodo = _db.UnidadOrganizacionalEmpresas.Where(x => x.ClaveUnidad == clave).FirstOrDefault();
                if (nodo.Descripcion != null)
                {
                    nodo.Descripcion = nodo.Descripcion.Replace(oldValue, newValue);
                    _db.SaveChanges();

                    var rama = _db.UnidadOrganizacionalEmpresas.Where(x => x.padre == clave).AsNoTracking().ToList();
                    if (rama.Count > 0) //Verificamos si el nodo tiene hijos
                    {
                        foreach (var hoja in rama)
                        {
                            ActualizaMigasDePanRamas(hoja.ClaveUnidad.Trim(), newValue, oldValue);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }