Ejemplo n.º 1
0
		//metodo responsavel por eliminar toda a nuvem do CA actual em memoria
		public static PersistencyHelper.DeleteCAXPreConcArguments DeleteCAX(GISADataset.ControloAutRow caRow)
		{
			GISADataset.ControloAutDicionarioRow[] cadRows = caRow.GetControloAutDicionarioRows();
			GISADataset.DicionarioRow dRow = null;
			PersistencyHelper.DeleteCAXPreConcArguments args = new PersistencyHelper.DeleteCAXPreConcArguments();

			// eliminar registos de "Dicionario" e de "ControloAutDicionario"
            cadRows.ToList().ForEach(cadRow =>
            {
                dRow = cadRow.DicionarioRow;
                args.termos.Add(dRow);
                cadRow.Delete();
            });
			args.caRowID = caRow.ID;
			args.catCode = getCatCode(caRow.TipoNoticiaAutRow);

			// eliminar registos de IndexFRDCA
            caRow.GetIndexFRDCARows().ToList().ForEach(idx => idx.Delete());

			// Somente para notícias de autoridade relacionaveis
            caRow.GetControloAutRelRowsByControloAutControloAutRel().ToList().ForEach(carRow => carRow.Delete());
            caRow.GetControloAutRelRowsByControloAutControloAutRelAlias().ToList().ForEach(carRow => carRow.Delete());
            caRow.GetControloAutEntidadeProdutoraRows().ToList().ForEach(caepRow => caepRow.Delete());
            caRow.GetControloAutDatasExistenciaRows().ToList().ForEach(cadeRow => cadeRow.Delete());

			caRow.Delete();
			return args;
		}