コード例 #1
0
        private ListViewItem DmToItem(MovimentoRule.DocumentoMovimentado dm)
        {
            //ListViewItem item = new ListViewItem(dm.Designacao);
            ListViewItem item = new ListViewItem(dm.IDNivel.ToString());

            item.Tag = GisaDataSetHelper.GetInstance().DocumentosMovimentados.Select(string.Format("IDMovimento={0} AND IDNivel={1}", CurrentMovimento.ID, dm.IDNivel))[0];

            //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, dm.IDNivel.ToString()));
            item.SubItems.Add(new ListViewItem.ListViewSubItem(item, dm.Designacao));
            item.SubItems.Add(new ListViewItem.ListViewSubItem(item, dm.CodigoCompleto));
            item.SubItems.Add(new ListViewItem.ListViewSubItem(item, dm.NivelDescricao));
            item.SubItems.Add(new ListViewItem.ListViewSubItem(item, GISA.Utils.GUIHelper.FormatDateInterval(dm.AnoInicio, dm.MesInicio, dm.DiaInicio, dm.AnoFim, dm.MesFim, dm.DiaFim)));

            return(item);
        }
コード例 #2
0
        private void AcceptItem(ListViewItem item)
        {
            GISADataset.NivelRow nRow = (GISADataset.NivelRow)(((ListViewItem)item).Tag);

            LoadNivelDocumental(nRow.ID);

            // validar a associação: só se pode associar documentos e subdocumentos
            if (!(nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].IDTipoNivelRelacionado == TipoNivelRelacionado.D ||
                  nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].IDTipoNivelRelacionado == TipoNivelRelacionado.SD))
            {
                MessageBox.Show("Só é permitido associar documentos e subdocumentos.", "Requisição/Devolução de documentos", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            GISADataset.DocumentosMovimentadosRow[] docMovRows = (GISADataset.DocumentosMovimentadosRow[])
                                                                     (GisaDataSetHelper.GetInstance().DocumentosMovimentados.Select(string.Format("IDMovimento={0} AND IDNivel={1}", CurrentMovimento.ID, nRow.ID)));

            // aceitar o drop apenas se se tratar de um Nivel ainda não associado
            if (docMovRows.Length == 0)
            {
                MovimentoRule.DocumentoMovimentado dm = new MovimentoRule.DocumentoMovimentado();

                GISADataset.DocumentosMovimentadosRow[] docMovDelRows = (GISADataset.DocumentosMovimentadosRow[])
                                                                            (GisaDataSetHelper.GetInstance().DocumentosMovimentados.Select(string.Format("IDMovimento={0} AND IDNivel={1}", CurrentMovimento.ID, nRow.ID), "", DataViewRowState.Deleted));

                string nCod = GetCodigoCompleto(item);

                if (docMovDelRows.Length > 0)
                {
                    if (docMovDelRows[0].NivelRow.GetFRDBaseRows().Length > 0 &&
                        docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows().Length > 0)
                    {
                        dm.AnoFim = GisaDataSetHelper.GetDBNullableText(docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimAno");
                        dm.MesFim = GisaDataSetHelper.GetDBNullableText(docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimMes");
                        dm.DiaFim = GisaDataSetHelper.GetDBNullableText(docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimDia");

                        dm.AnoInicio = GisaDataSetHelper.GetDBNullableText(docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "InicioAno");
                        dm.MesInicio = GisaDataSetHelper.GetDBNullableText(docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "InicioMes");
                        dm.DiaInicio = GisaDataSetHelper.GetDBNullableText(docMovDelRows[0].NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimDia");
                    }

                    dm.CodigoCompleto = nCod;
                    dm.NivelDescricao = docMovDelRows[0].NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].TipoNivelRelacionadoRow.Designacao;
                    dm.IDNivel        = docMovDelRows[0].NivelRow.ID;
                    dm.Designacao     = docMovDelRows[0].NivelRow.GetNivelDesignadoRows()[0].Designacao;

                    docMovDelRows[0].RejectChanges();
                }
                else
                {
                    GISADataset.DocumentosMovimentadosRow newDocMovRow =
                        GisaDataSetHelper.GetInstance().DocumentosMovimentados.NewDocumentosMovimentadosRow();

                    newDocMovRow.NivelRow     = nRow;
                    newDocMovRow.MovimentoRow = CurrentMovimento;
                    newDocMovRow.Versao       = new byte[] { };

                    GisaDataSetHelper.GetInstance().DocumentosMovimentados.AddDocumentosMovimentadosRow(newDocMovRow);

                    if (newDocMovRow.NivelRow.GetFRDBaseRows().Length > 0 &&
                        newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows().Length > 0)
                    {
                        dm.AnoFim = GisaDataSetHelper.GetDBNullableText(newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimAno");
                        dm.MesFim = GisaDataSetHelper.GetDBNullableText(newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimMes");
                        dm.DiaFim = GisaDataSetHelper.GetDBNullableText(newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimDia");

                        dm.AnoInicio = GisaDataSetHelper.GetDBNullableText(newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "InicioAno");
                        dm.MesInicio = GisaDataSetHelper.GetDBNullableText(newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "InicioMes");
                        dm.DiaInicio = GisaDataSetHelper.GetDBNullableText(newDocMovRow.NivelRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0], "FimDia");
                    }

                    dm.CodigoCompleto = nCod;
                    dm.NivelDescricao = newDocMovRow.NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].TipoNivelRelacionadoRow.Designacao;
                    dm.IDNivel        = newDocMovRow.NivelRow.ID;
                    dm.Designacao     = newDocMovRow.NivelRow.GetNivelDesignadoRows()[0].Designacao;
                }

                ListViewItem newItem = this.DmToItem(dm);
                this.lstVwNiveisAssoc.Items.Insert(0, newItem);
                newItem.EnsureVisible();
            }
        }