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); } }
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; } } } } } }
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)); }
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(); } }
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); } } }