Esempio n. 1
0
        private void DeleteItem()
        {
            ListViewItem item = this.lstVwNiveisAssoc.SelectedItems[0];

            GISADataset.DocumentosMovimentadosRow dmRow = (GISADataset.DocumentosMovimentadosRow)item.Tag;

            var args = new PersistencyHelper.ValidateMovimentoDeleteItemPreConcArguments();

            args.IDMovimento = dmRow.IDMovimento;
            args.IDNivel     = dmRow.IDNivel;
            args.CatCode     = dmRow.MovimentoRow.CatCode.Equals("REQ") ? "DEV" : "REQ";

            dmRow.Delete();

            PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(ValidateMovimentoDelete, args);
            PersistencyHelper.cleanDeletedData();

            if (!args.continueSave)
            {
                var message = dmRow.MovimentoRow.CatCode.Equals("REQ")
                    ? "Não é permitido eliminar a associação de documentos a requisições com devolução posterior"
                    : "Não é permitido eliminar a associação de documentos a devoluções com requisições posteriores mas sem devolução";
                MessageBox.Show(message, "Eliminar a associação de documento com a requisição/devolução", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            this.lstVwNiveisAssoc.Items.Remove(item);
            UpdateListButtonsState();
        }
Esempio n. 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();
            }
        }