private void UpdateEditedItem(ListViewItem item) { // prever a situação de se ter tentado editar uma relação entretanto apagada por // outro utilizador (nesse caso, a interface não é actualizada) if (((DataRow)item.Tag).RowState == DataRowState.Detached) { return; } if (item.Tag is GISADataset.ControloAutRelRow) { GISADataset.ControloAutRelRow carRow = null; carRow = (GISADataset.ControloAutRelRow)item.Tag; if (carRow.ControloAutRowByControloAutControloAutRelAlias.IsChaveColectividadeNull()) { item.SubItems[colIdentificador.Index].Text = string.Empty; } else { item.SubItems[colIdentificador.Index].Text = carRow.ControloAutRowByControloAutControloAutRelAlias.ChaveColectividade; } item.SubItems[colCategoria.Index].Text = carRow.TipoControloAutRelRow.Designacao; item.SubItems[colDataInicio.Index].Text = GISA.Utils.GUIHelper.FormatDate(carRow.InicioAno, carRow.InicioMes, carRow.InicioDia); item.SubItems[colDataFim.Index].Text = GISA.Utils.GUIHelper.FormatDate(carRow.FimAno, carRow.FimMes, carRow.FimDia); item.SubItems[colDescricao.Index].Text = GUIHelper.GUIHelper.ClipText(carRow.Descricao); txtDescricaoRelacao.Text = carRow.Descricao; } else if (item.Tag is GISADataset.RelacaoHierarquicaRow) { GISADataset.RelacaoHierarquicaRow rhRow = null; rhRow = (GISADataset.RelacaoHierarquicaRow)item.Tag; GISADataset.ControloAutRow relatedCA = null; relatedCA = rhRow.NivelRowByNivelRelacaoHierarquica.GetNivelControloAutRows()[0].ControloAutRow; GISADataset.TipoControloAutRelRow tcarHierarquicaRow = null; tcarHierarquicaRow = (GISADataset.TipoControloAutRelRow)(GisaDataSetHelper.GetInstance().TipoControloAutRel.Select(string.Format("ID={0:d}", TipoControloAutRel.Hierarquica))[0]); if (relatedCA.IsChaveColectividadeNull()) { item.SubItems[colIdentificador.Index].Text = string.Empty; } else { item.SubItems[colIdentificador.Index].Text = relatedCA.ChaveColectividade; } // nao actualizar a categoria uma vez que este valor nunca poderá ser editado nas relações hierarquicas item.SubItems[colDataInicio.Index].Text = GISA.Utils.GUIHelper.FormatDate(rhRow.InicioAno, rhRow.InicioMes, rhRow.InicioDia); item.SubItems[colDataFim.Index].Text = GISA.Utils.GUIHelper.FormatDate(rhRow.FimAno, rhRow.FimMes, rhRow.FimDia); item.SubItems[colDescricao.Index].Text = GUIHelper.GUIHelper.ClipText(rhRow.Descricao); txtDescricaoRelacao.Text = rhRow.Descricao; } }
private void AddRelacaoHierarquicaToList(ListViewItem ListViewItem) { GISADataset.RelacaoHierarquicaRow rhRow = null; rhRow = (GISADataset.RelacaoHierarquicaRow)ListViewItem.Tag; GISADataset.ControloAutRow caRow = null; GISADataset.ControloAutRow caUpperRow = null; caRow = rhRow.NivelRowByNivelRelacaoHierarquica.GetNivelControloAutRows()[0].ControloAutRow; caUpperRow = rhRow.NivelRowByNivelRelacaoHierarquicaUpper.GetNivelControloAutRows()[0].ControloAutRow; GISADataset.TipoControloAutRelRow tcarHierarquicaRow = null; tcarHierarquicaRow = (GISADataset.TipoControloAutRelRow)(GisaDataSetHelper.GetInstance().TipoControloAutRel.Select(string.Format("ID={0:d}", TipoControloAutRel.Hierarquica))[0]); if (caRow.ID != CurrentControloAut.ID) { if (caRow.IsChaveColectividadeNull()) { ListViewItem.SubItems.Add(string.Empty); } else { ListViewItem.SubItems.Add(caRow.ChaveColectividade); } } else { if (caUpperRow.IsChaveColectividadeNull()) { ListViewItem.SubItems.Add(string.Empty); } else { ListViewItem.SubItems.Add(caUpperRow.ChaveColectividade); } } string tipoRelacao = null; if (caRow.ID != CurrentControloAut.ID) { tipoRelacao = string.Format("{0} ({1})", tcarHierarquicaRow.DesignacaoInversa, rhRow.TipoNivelRelacionadoRow.Designacao); } else { tipoRelacao = string.Format("{0} ({1})", tcarHierarquicaRow.Designacao, rhRow.TipoNivelRelacionadoRow.Designacao); } ListViewItem.SubItems.Add(tipoRelacao); ListViewItem.SubItems.Add(GUIHelper.GUIHelper.FormatStartDate(rhRow)); ListViewItem.SubItems.Add(GUIHelper.GUIHelper.FormatEndDate(rhRow)); ListViewItem.SubItems.Add(GUIHelper.GUIHelper.ClipText(GISA.Model.GisaDataSetHelper.GetDBNullableText(rhRow, "Descricao"))); }