예제 #1
0
		private void MenuItemPrint_Click(object sender, System.EventArgs e)
		{
            //TODO: verificar se esta variável é precisa uma vez que nunca é preenchida neste método..
            ArrayList searchResults = null;
			try
			{
                if (PesquisaList1.Items.Count == 0)
					MessageBox.Show("Não foram encontrados resultados na última pesquisa " + Environment.NewLine + 
                        "a partir dos quais possa ser construído um relatório.", "Relatório", MessageBoxButtons.OK, MessageBoxIcon.Warning);
				else
				{
					if (sender == MenuItemPrintInventarioResumido)
					{
						Reports.InventarioResumido report = new Reports.InventarioResumido(string.Format("InventarioResumido_{0}", DateTime.Now.ToString("yyyyMMdd")), searchResults, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID);
						object o = new Reports.BackgroundRunner(TopLevelControl, report, resultNumber);
					}
					else if (sender == MenuItemPrintInventarioDetalhado)
					{

					}
					else if (sender == MenuItemPrintCatalogoResumido)
					{
						Reports.CatalogoResumido report = new Reports.CatalogoResumido(string.Format("CatalogoResumido_{0}", DateTime.Now.ToString("yyyyMMdd")), searchResults, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID);
						object o = new Reports.BackgroundRunner(TopLevelControl, report, resultNumber);
					}
					else if (sender == MenuItemPrintCatalogoDetalhado)
					{
						FormCustomizableReports frm = new FormCustomizableReports();
                        frm.AddParameters(DBAbstractDataLayer.DataAccessRules.RelatorioRule.Current.BuildParamListInventCat(SessionHelper.AppConfiguration.GetCurrentAppconfiguration().IsLicObrEnable()));
						switch (frm.ShowDialog())
						{
							case DialogResult.OK:
								Reports.CatalogoDetalhado report = new Reports.CatalogoDetalhado(string.Format("CatalogoDetalhado_{0}", DateTime.Now.ToString("yyyyMMdd")), searchResults, frm.GetSelectedParameters(), false, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID);
								object o = new Reports.BackgroundRunner(TopLevelControl, report, resultNumber);
								break;
							case DialogResult.Cancel:
							break;
						}
					}
					else if (sender == MenuItemPrintResultadosPesquisaResumidos)
					{
                        Dictionary<string, string> criteriosDePesquisa = GetCriteriosDePesquisa();
						Reports.ResultadosPesquisa report = new Reports.ResultadosPesquisa(
                            string.Format("ResultadosPesquisaResumido_{0}", 
                            DateTime.Now.ToString("yyyyMMdd")), 
                            searchResults, 
                            SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID,
                            SessionHelper.AppConfiguration.GetCurrentAppconfiguration().IsLicObrEnable(),
                            SessionHelper.AppConfiguration.GetCurrentAppconfiguration().IsReqEnable());
                        report.CriteriosDePesquisa = criteriosDePesquisa;
                        object o = new Reports.BackgroundRunner(TopLevelControl, report, resultNumber);

					}
					else if (sender == MenuItemPrintResultadosPesquisaDetalhados)
					{
                        Dictionary<string, string> criteriosDePesquisa = GetCriteriosDePesquisa();
						FormCustomizableReports frm = new FormCustomizableReports();
                        frm.AddParameters(DBAbstractDataLayer.DataAccessRules.RelatorioRule.Current.BuildParamListInventCat(SessionHelper.AppConfiguration.GetCurrentAppconfiguration().IsLicObrEnable()));
						switch (frm.ShowDialog())
						{
							case DialogResult.OK:
								Reports.ResultadosPesquisaDetalhados report = new Reports.ResultadosPesquisaDetalhados(string.Format("ResultadosPesquisaDetalhado_{0}", DateTime.Now.ToString("yyyyMMdd")), searchResults, frm.GetSelectedParameters(), false, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID);
                                report.CriteriosDePesquisa = criteriosDePesquisa;
								object o = new Reports.BackgroundRunner(TopLevelControl, report, resultNumber);
								break;
							case DialogResult.Cancel:
							break;
						}
					}
				}
			}
			catch (Reports.OperationAbortedException)
			{
				// Cancelado pelo utilizador
			}
		}
예제 #2
0
		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;
			}
		}