本文整理汇总了C#中GISADataset.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica方法的典型用法代码示例。如果您正苦于以下问题:C# GISADataset.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica方法的具体用法?C# GISADataset.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica怎么用?C# GISADataset.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GISADataset
的用法示例。
在下文中一共展示了GISADataset.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetNewCodigoRow
// returns the updated NivelUnidadeFisicaCodigoRow considering a new Codigo
public static GISADataset.NivelUnidadeFisicaCodigoRow GetNewCodigoRow(GISADataset.NivelRow nivelRow, int ano)
{
GISADataset.NivelRow ParentEDRow = nivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].NivelRowByNivelRelacaoHierarquicaUpper;
DataRow[] DataRows = GisaDataSetHelper.GetInstance().NivelUnidadeFisicaCodigo.Select("ID=" + ParentEDRow.ID.ToString() + " AND Ano=" + System.DateTime.Now.Year.ToString());
GISADataset.NivelUnidadeFisicaCodigoRow codigoRow = null;
if (DataRows.Length == 0)
{
codigoRow = GisaDataSetHelper.GetInstance().NivelUnidadeFisicaCodigo.AddNivelUnidadeFisicaCodigoRow(ParentEDRow, System.DateTime.Now.Year, 1M, new byte[] { }, 0);
}
else
{
codigoRow = (GISADataset.NivelUnidadeFisicaCodigoRow)(DataRows[0]);
codigoRow.Contador = codigoRow.Contador + 1;
}
return codigoRow;
}
示例2: AddDetalhe
private void AddDetalhe(GISADataset.NivelRow nRow, string nCod)
{
if (detalhes[nRow.ID] == null)
{
ArrayList aux = new ArrayList();
GISADataset.SFRDDatasProducaoRow sfrddprow = null;
string ia = null;
string im = null;
string id = null;
string fa = null;
string fm = null;
string fd = null;
if (nRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows().Length > 0)
{
sfrddprow = (GISADataset.SFRDDatasProducaoRow)(nRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0]);
if (sfrddprow.IsInicioAnoNull())
ia = "";
else
ia = sfrddprow.InicioAno;
if (sfrddprow.IsInicioMesNull())
im = "";
else
im = sfrddprow.InicioMes;
if (sfrddprow.IsInicioDiaNull())
id = "";
else
id = sfrddprow.InicioDia;
if (sfrddprow.IsFimAnoNull())
fa = "";
else
fa = sfrddprow.FimAno;
if (sfrddprow.IsFimMesNull())
fm = "";
else
fm = sfrddprow.FimMes;
if (sfrddprow.IsFimDiaNull())
fd = "";
else
fd = sfrddprow.FimDia;
}
else
{
ia = "";
im = "";
id = "";
fa = "";
fm = "";
fd = "";
}
GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
try
{
if (nRow.IDTipoNivel == 3)
aux.Add(nRow.GetNivelDesignadoRows()[0].Designacao);
else
{
DBAbstractDataLayer.DataAccessRules.NivelRule.Current.FillNivelControloAutRows(GisaDataSetHelper.GetInstance(), nRow.ID, ho.Connection);
if (nRow.GetNivelControloAutRows().Length > 0)
aux.Add(nRow.GetNivelControloAutRows()[0].ControloAutRow.GetControloAutDicionarioRows()[0].DicionarioRow.Termo);
else if (nRow.GetNivelDesignadoRows().Length > 0)
aux.Add(nRow.GetNivelDesignadoRows()[0].Designacao);
}
aux.Add(nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].TipoNivelRelacionadoRow.ID);
aux.Add(ia);
aux.Add(im);
aux.Add(id);
aux.Add(fa);
aux.Add(fm);
aux.Add(fd);
aux.Add(nCod);
aux.Add("1"); // Se aparece aqui é porque temos permissao...
if (MovimentoRule.Current.estaRequisitado(nRow.ID, ho.Connection))
aux.Add(true);
else
aux.Add(false);
}
catch (Exception ex)
{
Trace.WriteLine(ex);
throw;
}
finally
{
ho.Dispose();
}
detalhes.Add(nRow.ID, aux);
}
}
示例3: GetEntidadeDetentoraID
private long GetEntidadeDetentoraID(GISADataset.NivelRow nRow)
{
Debug.Assert(nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica().Length > 0);
GISADataset.NivelRow nED = nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].NivelRowByNivelRelacaoHierarquicaUpper;
while (nED.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica().Length > 0)
nED = nED.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].NivelRowByNivelRelacaoHierarquicaUpper;
return nED.ID;
}
示例4: GetEntidadesProdutoras
private void GetEntidadesProdutoras(GISADataset.NivelRow NivelRow)
{
EPs = new ArrayList();
foreach (GISADataset.RelacaoHierarquicaRow rh in NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica())
{
if (rh.NivelRowByNivelRelacaoHierarquicaUpper.GetNivelControloAutRows().Length > 0)
{
foreach (GISADataset.NivelControloAutRow n in rh.NivelRowByNivelRelacaoHierarquicaUpper.GetNivelControloAutRows())
{
if (n.ControloAutRow.TipoNoticiaAutRow.ID == Convert.ToInt64(TipoNoticiaAut.EntidadeProdutora))
EPs.Add(n.NivelRow);
}
}
else
GetEntidadesProdutoras(rh.NivelRowByNivelRelacaoHierarquicaUpper);
}
}
示例5: isShowable
public virtual bool isShowable(GISADataset.NivelRow nivel, GISADataset.NivelRow nivelUpper)
{
return (nivelUpper != null && nivelUpper.TipoNivelRow.IsStructure) || nivel.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].TipoNivelRelacionadoRow.ID < TipoNivelRelacionado.D;
}
示例6: ClipboardNivelRowIsAncestorOf
private bool ClipboardNivelRowIsAncestorOf(GISADataset.NivelRow targetRow)
{
// subir na árvore partindo do nó sobre o qual se pretende "colar" e
// à procura do nó "recortado". Se o encontrarmos significa que não
// podemos permitir um "colar". Ao permiti-lo faziamos com que um
// descendente fosse pai de um seu ascendente (!)
foreach(var ClipboardNivelItem in mClipboardNivelItems)
{
ArrayList openTargetRows = new ArrayList();
openTargetRows.Add(targetRow);
while (openTargetRows.Count > 0)
{
targetRow = (GISADataset.NivelRow)(openTargetRows[0]);
if (targetRow == ((GISADataset.RelacaoHierarquicaRow)ClipboardNivelItem).NivelRowByNivelRelacaoHierarquica)
return true;
foreach (GISADataset.RelacaoHierarquicaRow nhRow in targetRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica())
openTargetRows.Add(nhRow.NivelRowByNivelRelacaoHierarquicaUpper);
openTargetRows.Remove(targetRow);
}
}
return false;
}
示例7: EditNivel
private void EditNivel(FormAddNivel frm, GISADataset.NivelRow NivelRow)
{
GISADataset.TipoNivelRelacionadoRow tnrRow;
if (NivelRow.IDTipoNivel == TipoNivel.LOGICO && GisaDataSetHelper.GetInstance().RelacaoHierarquica.Select("ID="+NivelRow.ID.ToString()).Length == 0)
tnrRow = GisaDataSetHelper.GetInstance().TipoNivelRelacionado.Cast<GISADataset.TipoNivelRelacionadoRow>().Single(r => r.ID == TipoNivelRelacionado.ED);
else
tnrRow = GisaDataSetHelper.GetInstance().RelacaoHierarquica.Cast<GISADataset.RelacaoHierarquicaRow>().First(r => r.ID == NivelRow.ID && r.RowState != DataRowState.Deleted).TipoNivelRelacionadoRow;
string WindowTitle = string.Format("Editar {0}", tnrRow.Designacao);
// Don't allow to edit a Nivel without a Controlo
// Autoridade using a form with Controlo Autoridade.
// frm will only be of type FormNivelEstrutural if the
// related administration option is set to "demand a ControloAutoridade"
if (frm is FormNivelEstrutural && ! (NivelRow.CatCode.Trim().Equals("CA")))
{
MessageBox.Show("O nível selecionado não foi definido com " + "base numa entidade produtora." + System.Environment.NewLine + "Assim, para que este nível seja editável é necessário " + "que a aplicação esteja " + System.Environment.NewLine + "configurada para lidar com níveis não controlados.", WindowTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else if (! (frm is FormNivelEstrutural) && ! (NivelRow.CatCode.Trim().Equals("NVL")))
{
MessageBox.Show("O nível selecionado foi definido com " + "base numa entidade produtora." + System.Environment.NewLine + "Assim, para que este nível seja editável é necessário " + "que a aplicação esteja " + System.Environment.NewLine + "configurada para lidar com níveis controlados.", WindowTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
frm.Text = WindowTitle;
frm.txtCodigo.Text = NivelRow.Codigo;
frm.txtDesignacao.Text = Nivel.GetDesignacao(NivelRow);
// se se tratar de uma série ou subsérie o código será sempre automático
if (tnrRow.ID == TipoNivelRelacionado.SR || tnrRow.ID == TipoNivelRelacionado.SSR)
frm.txtCodigo.Enabled = false;
frm.LoadData();
if (NivelRow.TipoNivelRow.ID != TipoNivel.LOGICO)
{
// populate controls with data so that it can be edited
if (frm is FormNivelEstrutural)
{
FormNivelEstrutural tempWith1 = (FormNivelEstrutural)frm;
if (NivelRow.CatCode.Trim().Equals("CA"))
{
tempWith1.caList.txtFiltroDesignacao.Text = tempWith1.txtDesignacao.Text;
tempWith1.caList.ReloadList();
tempWith1.chkControloAut = true;
}
else if (NivelRow.CatCode.Trim().Equals("NVL"))
tempWith1.chkControloAut = false;
}
}
// show form and receive user feedback
switch (frm.ShowDialog())
{
case DialogResult.OK:
Trace.WriteLine("A editar nível...");
GISADataset.NivelDesignadoRow ndRow = null;
// Um Nivel documental deve ter obrigatoriamente um NivelDesignado.
Debug.Assert(NivelRow.GetNivelDesignadoRows().Length > 0);
ndRow = NivelRow.GetNivelDesignadoRows()[0];
NivelRow.Codigo = frm.txtCodigo.Text;
ndRow.Designacao = frm.txtDesignacao.Text;
// registar a edição do item selecionado
if (NivelRow.IDTipoNivel != TipoNivel.LOGICO)
CurrentContext.RaiseRegisterModificationEvent(NivelRow.GetFRDBaseRows()[0]);
PersistencyHelper.EnsureUniqueCodigoNivelPreConcArguments pcArgs = new PersistencyHelper.EnsureUniqueCodigoNivelPreConcArguments();
pcArgs.nRowID = NivelRow.ID;
pcArgs.ndRowID = ndRow.ID;
// Se se tratar de uma entidade detentora não passar os Ids de uma relação
// hierárquica para um nível superior pois não existe nenhum.
if (NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica().Length > 0)
{
pcArgs.rhRowID = NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].ID;
pcArgs.rhRowIDUpper = NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].IDUpper;
}
pcArgs.testOnlyWithinNivel = true;
PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(DelegatesHelper.ensureUniqueCodigo, pcArgs);
if (! pcArgs.successful)
MessageBox.Show(pcArgs.message, "Criação de unidade de descrição", MessageBoxButtons.OK, MessageBoxIcon.Warning);
else if (successfulSave == PersistencyHelper.SaveResult.successful)
{
GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
try
{
List<string> IDNiveis = new List<string>();
IDNiveis.Add(NivelRow.ID.ToString());
GISA.Search.Updater.updateNivelDocumental(IDNiveis);
}
catch (Exception ex)
{
Trace.WriteLine(ex.ToString());
throw;
}
finally
{
//.........这里部分代码省略.........
示例8: handleNewNivel
//.........这里部分代码省略.........
pcArgsNivel.rhRowID = rhRow.ID;
pcArgsNivel.rhRowIDUpper = rhRow.IDUpper;
pcArgsNivel.frdBaseID = frdRow.ID;
pcArgsNivel.testOnlyWithinNivel = true;
if (addNewUF)
{
// dados que serão usados no delegate responsável pela criação da unidade física
pcArgsUF.Operation = PersistencyHelper.AddEditUFPreConcArguments.Operations.Create;
pcArgsUF.psa = psArgsUF;
// dados que serão usados no delegate que fará a associação entre o nível documental e unidade física
pcArgs.addNewUF = true;
pcArgs.IDFRDBaseNivelDoc = frdRow.ID;
pcArgs.produtor = this.nivelNavigator1.SelectedNode;
pcArgs.designacaoUFAssociada = designacaoUFAssociada;
}
// permitir ao delegate selecionar o delegate correspondente ao tipo de nível que se está a criar
pcArgs.IDTipoNivelRelacionado = tnrRow.ID;
psArgs.createNewNivelCodigo = false;
psArgs.createNewUFCodigo = addNewUF;
psArgs.setNewCodigo = rhRow.IDTipoNivelRelacionado == TipoNivelRelacionado.SD;
psArgs.argsUF = psArgsUF;
psArgs.argsNivelDocSimples = NiveisHelper.AddNivelDocumentoSimplesWithDelegateArgs(nRow.GetNivelDesignadoRows().Single(), rhRow.IDUpper, rhRow.IDTipoNivelRelacionado);
PersistencyHelper.save(DelegatesHelper.ValidateNivelAddAndAssocNewUF, pcArgs, DelegatesHelper.SetNewCodigos, psArgs, postSaveAction);
if (! pcArgsNivel.successful)
{
successfulSave = false;
MessageBox.Show(pcArgsNivel.message, "Criação de unidade de descrição", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else if (parentNivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].TipoNivelRelacionadoRow.ID == TipoNivelRelacionado.SR)
{
GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
try
{
DBAbstractDataLayer.DataAccessRules.FRDRule.Current.LoadSFRDAvaliacaoData(GisaDataSetHelper.GetInstance(), parentNivelRow.ID, ho.Connection);
}
finally
{
ho.Dispose();
}
}
}
else if (nRow.IDTipoNivel == TipoNivel.ESTRUTURAL && ! (nRow.CatCode.Trim().Equals("CA")))
{
// se se tratar de um nivel estrutural temático-funcional
// é necessário garantir que se trata de um código único no sistema
PersistencyHelper.EnsureUniqueCodigoNivelPreConcArguments pcArgs = new PersistencyHelper.EnsureUniqueCodigoNivelPreConcArguments();
pcArgs.nRowID = nRow.ID;
pcArgs.ndRowID = ndRow.ID;
pcArgs.rhRowID = rhRow.ID;
pcArgs.rhRowIDUpper = rhRow.IDUpper;
PersistencyHelper.save(DelegatesHelper.ensureUniqueCodigo, pcArgs, postSaveAction);
if (! pcArgs.successful)
{
successfulSave = false;
MessageBox.Show(pcArgs.message, "Criação de unidade de descrição", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else if (nRow.IDTipoNivel == TipoNivel.LOGICO && nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica().Length == 0)
{
// se se tratar de uma entidade detentora
// é necessário garantir que se trata de um código único no sistema
示例9: GetParentRelations
public static GISADataset.RelacaoHierarquicaRow[] GetParentRelations(GISADataset.NivelRow CurrentNivel, GISADataset.NivelRow UpperNivel, IDbConnection connection)
{
try
{
NivelRule.Current.LoadNivelParents(UpperNivel.ID, GisaDataSetHelper.GetInstance(), connection);
}
catch (Exception ex)
{
Trace.WriteLine(ex);
throw;
}
return UpperNivel.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica();
}
示例10: GetParents
//TODO: FUNCAO MANTIDA PARA COMPATIBILIDADE DE CODIGO EXISTENTE, DEVERÁ DESAPARECER, SER UNIFICADA COM A ASSINATURA SEGUINTE, OU SER REFORMULADA ASSIM QUE POSSIVEL
public static GISADataset.RelacaoHierarquicaRow[] GetParents(GISADataset CurrentDataSet, GISADataset.NivelRow CurrentNivel)
{
IDbConnection conn = GisaDataSetHelper.GetConnection();
try
{
conn.Open();
NivelRule.Current.LoadNivelGrandparents(CurrentNivel.ID, GisaDataSetHelper.GetInstance(), conn);
}
finally
{
conn.Close();
}
GISADataset.RelacaoHierarquicaRow[] Parents = null;
ArrayList Result = new ArrayList();
Parents = CurrentNivel.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica();
foreach (GISADataset.RelacaoHierarquicaRow rhRow in Parents)
{
Result.AddRange(rhRow.NivelRowByNivelRelacaoHierarquicaUpper.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica());
}
return (GISADataset.RelacaoHierarquicaRow[])(Result.ToArray(typeof(GISADataset.RelacaoHierarquicaRow)));
}
示例11: GetSelf
public static GISADataset.RelacaoHierarquicaRow[] GetSelf(GISADataset CurrentDataSet, GISADataset.NivelRow CurrentNivel)
{
//TODO: chamar método que faz os fill: fillSelf(CurrentDataSet, CurrentNivel.ID, conn, tran)
return CurrentNivel.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica();
}
示例12: IsDocumentTopLevel
public static bool IsDocumentTopLevel(GISADataset.NivelRow dr)
{
if (! dr.TipoNivelRow.IsDocument)
{
return false;
}
foreach (GISADataset.RelacaoHierarquicaRow nh in dr.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica())
{
if (nh.NivelRowByNivelRelacaoHierarquicaUpper.TipoNivelRow.IsDocument)
{
return false;
}
}
return true;
}