void BrowseEntidadeInterna(FormSelectNivel form, ref EntidadeInterna ei, out bool cancel, List <long> tnrLst)
        {
            cancel = false;

            switch (form.ShowDialog())
            {
            case DialogResult.OK:
                var documento = new DocumentoGisa();
                if (tnrLst.Contains((long)TipoNivelRelacionado.D))
                {
                    documento.CopyProperties(this.correspDocumento);
                }
                documento.Titulo = form.SelectedDocument.GetNivelDesignadoRows()[0].Designacao;
                documento.Codigo = form.SelectedDocument.Codigo;
                documento.Tipo   = TipoEntidade.GetTipoEntidadeInterna(form.SelectedDocument.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].IDTipoNivelRelacionado);
                ei        = documento;
                ei.Estado = TipoEstado.SemAlteracoes;
                ei.Id     = form.SelectedDocument.ID;
                break;

            case DialogResult.Cancel:
                cancel = true;
                break;
            }
        }
        private bool CreateDocumentoInterno(ref EntidadeInterna ei, long tnr)
        {
            bool         cancel = false;
            FormAddNivel form   = new FormAddNivel();

            form.IDTipoNivelRelacionado = tnr;
            form.txtDesignacao.Text     = ei != null ? ((DocumentoGisa)ei).Titulo : "";
            if (tnr == TipoNivelRelacionado.SD)
            {
                form.txtCodigo.Text = ei != null ? ((DocumentoGisa)ei).Codigo : "";
            }
            switch (form.ShowDialog())
            {
            case DialogResult.OK:
                var documento = new DocumentoGisa();
                documento.Tipo = TipoEntidadeInterna.DocumentoComposto;
                documento.CopyProperties(this.correspDocumento);
                documento.Titulo = form.txtDesignacao.Text;
                documento.Codigo = form.txtCodigo.Text;
                ei = this.InternalEntitiesLst.AddInternalEntity(documento);
                break;

            case DialogResult.Cancel:
                cancel = true;
                break;
            }
            return(cancel);
        }