private void MenuItemPrint_Click(object sender, System.EventArgs e) { try { // relatorios em que o contexto actual é importante if (sender == MenuItemPrintInventarioResumido || sender == MenuItemPrintInventarioDetalhado || sender == MenuItemPrintCatalogoResumido || sender == MenuItemPrintCatalogoDetalhado) { GISADataset.RelacaoHierarquicaRow rhRow = null; if (this.nivelNavigator1.PanelToggleState == NivelNavigator.ToggleState.Estrutural && this.nivelNavigator1.SelectedNode != null) rhRow = ((GISATreeNode)this.nivelNavigator1.SelectedNode).RelacaoHierarquicaRow; else if (this.nivelNavigator1.PanelToggleState == NivelNavigator.ToggleState.Documental) rhRow = ((GISADataset.NivelRow)(this.nivelNavigator1.SelectedNivel)).GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0]; bool IsTopDown = true; if (rhRow != null) { ArrayList parameters = new ArrayList(); parameters.Add(rhRow.ID); parameters.Add( ((GISADataset.TipoNivelRelacionadoRow) GisaDataSetHelper.GetInstance().TipoNivelRelacionado.Select("ID="+rhRow.IDTipoNivelRelacionado.ToString())[0]).Designacao ); if (sender == MenuItemPrintInventarioResumido) { Reports.InventarioResumido report = new Reports.InventarioResumido(getFilename("InventarioResumido"), parameters, IsTopDown, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID); object o = new Reports.BackgroundRunner(TopLevelControl, report, 1); // ToDo: obter estimativa de nós a serem apresentados no relatório e substituir '1' } else if (sender == MenuItemPrintCatalogoResumido) { Reports.CatalogoResumido report = new Reports.CatalogoResumido(getFilename("CatalogoResumido"), parameters, IsTopDown, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID); object o = new Reports.BackgroundRunner(TopLevelControl, report, 1); // ToDo: obter estimativa de nós a serem apresentados no relatório e substituir '1' } else { FormCustomizableReports frm = new FormCustomizableReports(); frm.AddParameters(DBAbstractDataLayer.DataAccessRules.RelatorioRule.Current.BuildParamListInventCat(SessionHelper.AppConfiguration.GetCurrentAppconfiguration().IsLicObrEnable())); switch (frm.ShowDialog()) { case DialogResult.OK: { ArrayList fields = new ArrayList(); if (sender == MenuItemPrintInventarioDetalhado) { Reports.InventarioDetalhado report = new Reports.InventarioDetalhado(getFilename("InventarioDetalhado"), parameters, frm.GetSelectedParameters(), IsTopDown, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID); object o = new Reports.BackgroundRunner(TopLevelControl, report, 1); // ToDo: obter estimativa de nós a serem apresentados no relatório e substituir '1' } else if (sender == MenuItemPrintCatalogoDetalhado) { Reports.CatalogoDetalhado report = new Reports.CatalogoDetalhado(getFilename("CatalogoDetalhado"), parameters, frm.GetSelectedParameters(), IsTopDown, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID); object o = new Reports.BackgroundRunner(TopLevelControl, report, 1); // ToDo: obter estimativa de nós a serem apresentados no relatório e substituir '1' } break; } case DialogResult.Cancel: break; } } } } else // relatorios em que o contexto actual não é importante { if (sender == MenuItemPrintAutoEliminacao || sender == MenuItemPrintAutoEliminacaoPortaria) { if (((frmMain)TopLevelControl).SlavePanel is MultiPanelControl) ((frmMain)TopLevelControl).SlavePanel.Recontextualize(); else Debug.Assert(false, "Wrong slavepanel found"); FormAutoEliminacaoPicker form = new FormAutoEliminacaoPicker(); GISADataset.AutoEliminacaoRow aeRow = null; form.LoadData(true); form.lvwAutosEliminacao.MultiSelect = false; if (form.ShowDialog(this) == DialogResult.OK) { object o; aeRow = form.SelectedAutoEliminacao; if (sender == MenuItemPrintAutoEliminacao) o = new Reports.BackgroundRunner(TopLevelControl, new Reports.AutoEliminacao(getFilename("AutoEliminacao"), aeRow, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID), 1); else if (sender == MenuItemPrintAutoEliminacaoPortaria) o = new Reports.BackgroundRunner(TopLevelControl, new Reports.AutoEliminacaoPortaria(getFilename("AutoEliminacaoPortaria"), aeRow, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID), 1); } } } } catch (Reports.OperationAbortedException) { // User canceled } catch (Exception ex) { Trace.WriteLine(ex); throw; } }
private void btnAdd_Click(object sender, System.EventArgs e) { FormAutoEliminacaoPicker form = new FormAutoEliminacaoPicker(); form.LoadData(); if (form.ShowDialog(this) == DialogResult.Cancel) return; GISADataset.AutoEliminacaoRow[] aeRows = null; aeRows = form.SelectedAutosEliminacao; GISADataset.FRDBaseRow frdBaseUFRow = null; ArrayList frdBaseUFRowsList = new ArrayList(); GISADataset.NivelRow nivelUFRow = null; GISADataset.SFRDUFAutoEliminacaoRow[] sfrdaeRows = null; GISADataset.SFRDUFAutoEliminacaoRow sfrdaeRow = null; foreach (ListViewItem item in lvwSeleccaoUnidadesFisicas.SelectedItems) { NivelRule.UnidadeFisicaAssociada uf = (NivelRule.UnidadeFisicaAssociada)UnidadesFisicasAssociadas[(long)item.Tag]; GISADataset.NivelRow[] nRows = (GISADataset.NivelRow[])GisaDataSetHelper.GetInstance().Nivel.Select("ID=" + uf.IDNivel); Debug.Assert(nRows.Length == 1); nivelUFRow = nRows[0]; frdBaseUFRow = getFRDUnidadeFisica(nivelUFRow.GetFRDBaseRows()); if (frdBaseUFRow == null) { frdBaseUFRow = GisaDataSetHelper.GetInstance().FRDBase.NewFRDBaseRow(); frdBaseUFRow.NivelRow = nivelUFRow; frdBaseUFRow.TipoFRDBaseRow = (GISADataset.TipoFRDBaseRow)(GisaDataSetHelper.GetInstance().TipoFRDBase.Select(string.Format("ID={0:d}", TipoFRDBase.FRDUnidadeFisica))[0]); frdBaseUFRow.NotaDoArquivista = string.Empty; GisaDataSetHelper.GetInstance().FRDBase.AddFRDBaseRow(frdBaseUFRow); } foreach (GISADataset.AutoEliminacaoRow aeRow in aeRows) { // criar uma nova associação apenas caso ainda não exista if (GisaDataSetHelper.GetInstance().SFRDUFAutoEliminacao.Select(string.Format("IDFRDBase={0} AND IDAutoEliminacao={1}", frdBaseUFRow.ID, aeRow.ID)).Length == 0) { sfrdaeRows = (GISADataset.SFRDUFAutoEliminacaoRow[])(GisaDataSetHelper.GetInstance().SFRDUFAutoEliminacao.Select(string.Format("IDFRDBase={0} AND IDAutoEliminacao={1}", frdBaseUFRow.ID, aeRow.ID), string.Empty, DataViewRowState.Deleted)); if (sfrdaeRows.Length > 0) { sfrdaeRow = sfrdaeRows[0]; sfrdaeRow.RejectChanges(); } else { sfrdaeRow = GisaDataSetHelper.GetInstance().SFRDUFAutoEliminacao.NewSFRDUFAutoEliminacaoRow(); sfrdaeRow.FRDBaseRow = frdBaseUFRow; sfrdaeRow.AutoEliminacaoRow = aeRow; GisaDataSetHelper.GetInstance().SFRDUFAutoEliminacao.AddSFRDUFAutoEliminacaoRow(sfrdaeRow); } } } item.SubItems[chSelUFAutosEliminacaoRestantes.Index].Text = CollectTextAutosEliminacaoRestantes(uf); refreshSelUFItem(item, chSelUFAutosEliminacaoRestantes.Index); } }