private void CreateNewRelation(GISADataset.ControloAutRow row)
        {
            if (row == null || PresentInIndex(row))
            {
                return;
            }

            GISADataset.IndexFRDCARow   IndexFRDCARow         = null;
            GISADataset.IndexFRDCARow[] IndexFRDCADeletedRows = null;

            // se a row de IndexFRDCA já existir em memória como Deleted resuscitamo-la
            IndexFRDCADeletedRows = (GISADataset.IndexFRDCARow[])(GisaDataSetHelper.GetInstance().IndexFRDCA.Select(string.Format("IDFRDBase = {0} AND IDControloAut = {1}", CurrentFRDBase.ID, row.ID), string.Empty, DataViewRowState.Deleted));
            if (IndexFRDCADeletedRows.Length > 0)
            {
                IndexFRDCARow = IndexFRDCADeletedRows[0];
                IndexFRDCARow.RejectChanges();
            }
            else
            {
                IndexFRDCARow                = GisaDataSetHelper.GetInstance().IndexFRDCA.NewIndexFRDCARow();
                IndexFRDCARow.FRDBaseRow     = CurrentFRDBase;
                IndexFRDCARow.ControloAutRow = row;
                IndexFRDCARow["Selector"]    = DBNull.Value;
                GisaDataSetHelper.GetInstance().IndexFRDCA.AddIndexFRDCARow(IndexFRDCARow);
            }
        }
Exemple #2
0
		private void CADDataRowChangedHandler(object sender, DataRowChangeEventArgs e)
		{
			if (e.Action == DataRowAction.Add)
			{
				GISADataset.ControloAutDicionarioRow changedCadRow = null;
				changedCadRow = (GISADataset.ControloAutDicionarioRow)e.Row;
				GISADataset.ControloAutRow changedCaRow = null;
				changedCaRow = changedCadRow.ControloAutRow;

				Debug.WriteLine("[CONTROLO AUT DICIONARIO ADDED]" + new StackFrame(true).ToString());

				Trace.Assert(e.Row is GISADataset.ControloAutDicionarioRow);

				foreach (ListViewItem item in lstVwIndexacao.Items)
				{
					GISADataset.IndexFRDCARow ifrdcaRow = null;
					ifrdcaRow = (GISADataset.IndexFRDCARow)item.Tag;

					if (changedCaRow == ifrdcaRow.ControloAutRow)
					{
						// actualizar a interface com a forma autorizada do CA em causa
						foreach (GISADataset.ControloAutDicionarioRow cadRow in GisaDataSetHelper.GetInstance().ControloAutDicionario.Select(string.Format("IDControloAut={0}", changedCaRow.ID)))
						{
							if (cadRow.TipoControloAutFormaRow.ID == Convert.ToInt64(TipoControloAutForma.FormaAutorizada))
							{
								lstVwIndexacao.BeginUpdate();
								item.SubItems[0].Text = cadRow.DicionarioRow.Termo;
								lstVwIndexacao.EndUpdate();
								break;
							}
						}
					}
				}
			}
		}
Exemple #3
0
		private void AddControloAut(object Sender, ListViewItem ListViewItem)
		{
			GISADataset.IndexFRDCARow IndexFRDCARow = null;
			IndexFRDCARow = (GISADataset.IndexFRDCARow)ListViewItem.Tag;
			ListViewItem.SubItems.Add(IndexFRDCARow.ControloAutRow. TipoNoticiaAutRow.Designacao.ToString());
			ListViewItem.SubItems.Add(TranslationHelper.FormatBoolean(IndexFRDCARow.ControloAutRow.Autorizado));
			ListViewItem.SubItems.Add(TranslationHelper.FormatBoolean(IndexFRDCARow.ControloAutRow.Completo));
		}
Exemple #4
0
		private void FilterControloAut(GISADataset.IndexFRDCARow IndexFRDCA)
		{
			if (IndexFRDCA.ControloAutRow.IDTipoNoticiaAut == Convert.ToInt64(TipoNoticiaAut.Ideografico) || IndexFRDCA.ControloAutRow.IDTipoNoticiaAut == Convert.ToInt64(TipoNoticiaAut.Onomastico) || IndexFRDCA.ControloAutRow.IDTipoNoticiaAut == Convert.ToInt64(TipoNoticiaAut.ToponimicoGeografico) )
			{
				TempIndexFRDCA = IndexFRDCA;
				GisaDataSetHelper.VisitControloAutDicionario(IndexFRDCA.ControloAutRow, DisplayEntidadeProdutora);
			}
		}
 private void FilterControloAut(GISADataset.IndexFRDCARow IndexFRDCA)
 {
     if (IndexFRDCA.ControloAutRow.IDTipoNoticiaAut == FilterTipoNoticiaAut)
     {
         //if ((FilterIndexFRDCASelector == -1 && IndexFRDCA.IsNull("Selector")) || (! (FilterIndexFRDCASelector == -1) && ! (IndexFRDCA.IsNull("Selector")) && IndexFRDCA.Selector == FilterIndexFRDCASelector))
         if ((FilterIndexFRDCASelector == -1 && IndexFRDCA.IsNull("Selector")) || (!(IndexFRDCA.IsNull("Selector")) && IndexFRDCA.Selector == FilterIndexFRDCASelector))
         {
             TmpIndexFRDCA = IndexFRDCA;
             GisaDataSetHelper.VisitControloAutDicionario(IndexFRDCA.ControloAutRow, DisplayControloAut);
         }
     }
 }
        private void AddControloAut(object Sender, ListViewItem ListViewItem)
        {
            GISADataset.IndexFRDCARow IndexFRDCARow = null;
            IndexFRDCARow = (GISADataset.IndexFRDCARow)ListViewItem.Tag;
            if (ListViewItem.ListView == lstVwSubTipoInformacional)
            {
                IndexFRDCARow.Selector = 1;
            }
            else if (ListViewItem.ListView == lstVwTipoInformacional)
            {
                IndexFRDCARow.Selector = -1;
            }

            ListViewItem.SubItems.Add(TranslationHelper.FormatBoolean(IndexFRDCARow.ControloAutRow.Autorizado));
            ListViewItem.SubItems.Add(TranslationHelper.FormatBoolean(IndexFRDCARow.ControloAutRow.Completo));

            // se se tratar de uma tipologia informacional garantir que existe apenas um item
            if (ListViewItem.ListView == lstVwTipoInformacional)
            {
                if (lstVwTipoInformacional.Items.Count > 1)
                {
                    GISADataset.IndexFRDCARow idxCARow = null;
                    switch (MessageBox.Show("Não pode existir mais que uma tipologia informacional. Deseja substituir a existente?", "Tipologia informacional", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
                    {
                    case DialogResult.OK:
                        // eliminar todos as tipologias informacionais excepto a que acaba de ser adicionada
                        foreach (ListViewItem item in lstVwTipoInformacional.Items)
                        {
                            if (!(item == ListViewItem))
                            {
                                idxCARow = (GISADataset.IndexFRDCARow)item.Tag;
                                item.Remove();
                                idxCARow.Delete();
                            }
                        }
                        break;

                    case DialogResult.Cancel:
                        // eliminar a tipologia informacional que acaba de ser adicionada
                        idxCARow = (GISADataset.IndexFRDCARow)ListViewItem.Tag;
                        ListViewItem.Remove();
                        idxCARow.Delete();
                        break;
                    }
                }

                // Mandar actualizar o PanelConteudoInformacional
                this.TheGenericDelegate.Invoke();
            }
        }
Exemple #7
0
		private void CADataRowChangedHandler(object sender, DataRowChangeEventArgs e)
		{			
			if (e.Action == DataRowAction.Delete)
			{		
				Trace.Assert(e.Row is GISADataset.ControloAutRow);

				GISADataset.ControloAutRow changedCaRow = null;
				changedCaRow = (GISADataset.ControloAutRow)e.Row;

				foreach (ListViewItem item in lstVwIndexacao.Items)
				{
					GISADataset.IndexFRDCARow ifrdcaRow = null;
					ifrdcaRow = (GISADataset.IndexFRDCARow)item.Tag;

					// prever os que ainda nao tivessem sido persistidos e os que tinham sido persistidos mas foram agora eliminados
					if (ifrdcaRow.RowState == DataRowState.Detached || System.Convert.ToInt32(changedCaRow["ID", DataRowVersion.Original]) == System.Convert.ToInt32(ifrdcaRow["IDControloAut", DataRowVersion.Original]))
					{
						//GisaDataSetHelper.GetInstance().IndexFRDCA.Rows.Remove(ifrdcaRow)
						// a row ja foi eliminada no modelo de dados. elimina-se agora da interface
						item.Remove();
					}
				}
			}
		}
		private void FilterControloAut(GISADataset.IndexFRDCARow IndexFRDCA)
		{
			if (IndexFRDCA.ControloAutRow.IDTipoNoticiaAut == FilterTipoNoticiaAut)
			{
				//if ((FilterIndexFRDCASelector == -1 && IndexFRDCA.IsNull("Selector")) || (! (FilterIndexFRDCASelector == -1) && ! (IndexFRDCA.IsNull("Selector")) && IndexFRDCA.Selector == FilterIndexFRDCASelector))
                if ((FilterIndexFRDCASelector == -1 && IndexFRDCA.IsNull("Selector")) || ( !(IndexFRDCA.IsNull("Selector")) && IndexFRDCA.Selector == FilterIndexFRDCASelector))
				{
					TmpIndexFRDCA = IndexFRDCA;
					GisaDataSetHelper.VisitControloAutDicionario(IndexFRDCA.ControloAutRow, DisplayControloAut);
				}
			}
		}