示例#1
0
        private void IpostaRpt()
        {
            DsGestioneSpazi ds = new DsGestioneSpazi();

            ds = recuperaDataSet(ds);
            bindReport(ds);
        }
示例#2
0
        private void bindReport(DsGestioneSpazi dsRpt)
        {
            string pathRptSource = Server.MapPath(Request.ApplicationPath + ConfigurationSettings.AppSettings["SourceReports"]);

            string rptPath = Server.MapPath("../report/" + GetReportSource());

            crReportDocument.Load(rptPath);
            crReportDocument.SetDataSource(dsRpt);
            crReportDocument.SetParameterValue("tipo", tipoDocumento);

            switch (tipoDocumento)
            {
            case  "PDF":
                string Fname = pathRptSource + Session.SessionID.ToString() + ".pdf";
                crDiskFileDestinationOptions = new DiskFileDestinationOptions();
                crDiskFileDestinationOptions.DiskFileName = Fname;
                crExportOptions = crReportDocument.ExportOptions;
                crExportOptions.DestinationOptions    = crDiskFileDestinationOptions;
                crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
                crExportOptions.ExportFormatType      = ExportFormatType.PortableDocFormat;
                crReportDocument.Export();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.AddHeader("Content-Disposition",
                                   "attachment;filename=\"" + new System.IO.FileInfo(Fname).Name + "\"");
                Response.ContentType = "application/pdf";
                Response.WriteFile(Fname);
                Response.Flush();
                Response.Close();
                System.IO.File.Delete(Fname);
                break;

            case "HTML":
                rptEngineOra.DisplayGroupTree = false;
                rptEngineOra.DisplayToolbar   = true;
                rptEngineOra.SeparatePages    = false;
                rptEngineOra.ReportSource     = crReportDocument;
                break;

            default:
                // non fai nulla
                break;
            }
        }
示例#3
0
        private DsGestioneSpazi recuperaDataSet(DsGestioneSpazi ds)
        {
            try
            {
                int index = 0;
                Classi.AnalisiStatistiche.wrapDb            _IODB        = new TheSite.Classi.AnalisiStatistiche.wrapDb();
                S_Controls.Collections.S_ControlsCollection _Scollection = new S_Controls.Collections.S_ControlsCollection();

                S_Controls.Collections.S_Object p_Id_Edificio = new S_Controls.Collections.S_Object();
                p_Id_Edificio.ParameterName = "p_Id_Edificio";
                p_Id_Edificio.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                p_Id_Edificio.Direction     = ParameterDirection.Input;
                p_Id_Edificio.Size          = 300;
                p_Id_Edificio.Index         = index++;
                p_Id_Edificio.Value         = stringaEdifici;
                _Scollection.Add(p_Id_Edificio);

                S_Controls.Collections.S_Object p_Id_Piano = new S_Controls.Collections.S_Object();
                p_Id_Piano.ParameterName = "p_Id_Piano";
                p_Id_Piano.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
                p_Id_Piano.Direction     = ParameterDirection.Input;
                p_Id_Piano.Index         = index++;
                if (piano == "")
                {
                    p_Id_Piano.Value = 0;
                }
                else
                {
                    p_Id_Piano.Value = Convert.ToInt32(piano);
                }
                _Scollection.Add(p_Id_Piano);

                S_Controls.Collections.S_Object p_Id_Stanza = new S_Controls.Collections.S_Object();
                p_Id_Stanza.ParameterName = "p_Id_Stanza";
                p_Id_Stanza.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                p_Id_Stanza.Direction     = ParameterDirection.Input;
                p_Id_Stanza.Size          = 255;
                p_Id_Stanza.Index         = index++;
                p_Id_Stanza.Value         = stanza;
                _Scollection.Add(p_Id_Stanza);

                S_Controls.Collections.S_Object p_Str_Dest_Uso = new S_Controls.Collections.S_Object();
                p_Str_Dest_Uso.ParameterName = "p_Str_Dest_Uso";
                p_Str_Dest_Uso.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                p_Str_Dest_Uso.Direction     = ParameterDirection.Input;
                p_Str_Dest_Uso.Size          = 256;
                p_Str_Dest_Uso.Index         = index++;
                p_Str_Dest_Uso.Value         = stringaDestinazione;
                _Scollection.Add(p_Str_Dest_Uso);

                S_Controls.Collections.S_Object p_Str_Reparto = new S_Controls.Collections.S_Object();
                p_Str_Reparto.ParameterName = "p_Str_Reparto";
                p_Str_Reparto.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                p_Str_Reparto.Direction     = ParameterDirection.Input;
                p_Str_Reparto.Size          = 255;
                p_Str_Reparto.Index         = index++;
                p_Str_Reparto.Value         = stringaReparto;
                _Scollection.Add(p_Str_Reparto);

                S_Controls.Collections.S_Object p_Str_Cat = new S_Controls.Collections.S_Object();
                p_Str_Cat.ParameterName = "p_Str_Cat";
                p_Str_Cat.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                p_Str_Cat.Direction     = ParameterDirection.Input;
                p_Str_Cat.Size          = 255;
                p_Str_Cat.Index         = index++;
                p_Str_Cat.Value         = idCategoria;
                _Scollection.Add(p_Str_Cat);

                S_Controls.Collections.S_Object p_Operatore_Area = new S_Controls.Collections.S_Object();
                p_Operatore_Area.ParameterName = "p_Operatore_Area";
                p_Operatore_Area.DbType        = ApplicationDataLayer.DBType.CustomDBType.VarChar;
                p_Operatore_Area.Direction     = ParameterDirection.Input;
                p_Operatore_Area.Size          = 255;
                p_Operatore_Area.Index         = index++;
                p_Operatore_Area.Value         = operatoreMq;
                _Scollection.Add(p_Operatore_Area);

                S_Controls.Collections.S_Object p_Int_MQ2 = new S_Controls.Collections.S_Object();
                p_Int_MQ2.ParameterName = "p_Int_MQ2";
                p_Int_MQ2.DbType        = ApplicationDataLayer.DBType.CustomDBType.Integer;
                p_Int_MQ2.Direction     = ParameterDirection.Input;
                p_Int_MQ2.Index         = index++;
                if (valoreMq == "")
                {
                    p_Int_MQ2.Value = 0;
                }
                else
                {
                    p_Int_MQ2.Value = Convert.ToInt32(valoreMq);
                }
                _Scollection.Add(p_Int_MQ2);

                S_Controls.Collections.S_Object IO_CURSOR = new S_Controls.Collections.S_Object();
                IO_CURSOR.ParameterName = "IO_CURSOR";
                IO_CURSOR.DbType        = ApplicationDataLayer.DBType.CustomDBType.Cursor;
                IO_CURSOR.Direction     = ParameterDirection.Output;
                IO_CURSOR.Index         = index++;
                _Scollection.Add(IO_CURSOR);

                _IODB.s_storedProcedureName = "PACK_RPT_GESTIONE_SPAZI." + GetNomeStrPrd();
                DataSet _MyDataset = _IODB.GetData(_Scollection).Copy();

                SchemiXSD.DsGestioneSpazi.parametriRow rigaParametri = (SchemiXSD.DsGestioneSpazi.parametriRow)ds.parametri.NewRow();
                rigaParametri.edifici   = stringaEdifici.Replace("','", " ");
                rigaParametri.piano     = stringaPiano;
                rigaParametri.stanza    = stringaStanza;
                rigaParametri.categoria = stringaCategoria;
                rigaParametri.destUso   = stringaDestinazione;
                rigaParametri.reparto   = stringaReparto;
                rigaParametri.opMq      = operatoreMq;
                rigaParametri.Mq        = valoreMq;
                ds.Tables["parametri"].Rows.Add(rigaParametri);

                int    i   = 0;
                string xml = "";
                for (i = 0; i <= _MyDataset.Tables[0].Rows.Count - 1; i++)
                {
                    if (!Convert.ToBoolean(S_Misure))
                    {
                        ds.Tables["tabellina"].ImportRow(_MyDataset.Tables[0].Rows[i]);
                    }
                    else
                    {
                        ds.Tables["tabellina2"].ImportRow(_MyDataset.Tables[0].Rows[i]);
                    }
                }
                if (i == 0)
                {
                    throw new Eccezioni.NoDataForReportFoundException();
                }
                xml = ds.GetXml();
                return(ds);
            }
            catch (Eccezioni.NoDataForReportFoundException ex)
            {
                LabelMessaggio.Text  = "Nono sono presenti dati per i criteri di ricerca selezionati " + ex.Message;
                rptEngineOra.Visible = false;
                return(null);
            }
            catch (Exception ex)
            {
                //Server.Transfer("Error.aspx?msgErr=" + ex.Message);
                throw ex;
                //return null;
            }
        }