예제 #1
0
        public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
        {
            rptMonthlyInvoice rpt = new rptMonthlyInvoice();

            rpt.Site = this.Site;
            return(rpt);
        }
        protected void Page_Init(object sender, EventArgs e)
        {
            string cachedReports = "rptMonthlyInvoice_ByCompany";

            //int rptCacheTimeout = Convert.ToInt32(ConfigurationManager.AppSettings.Get("rptCacheTimeout").ToString());

            if (Session[cachedReports] == null)
            {
                ReportDocument         rd = new rptMonthlyInvoice();
                string                 connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                SqlConnection          connection       = new SqlConnection(connectionString);
                SqlDataAdapter         adapter          = new SqlDataAdapter();
                DataSet                ds         = new DataSet();
                string                 startdate  = Request.QueryString["st"].ToString();
                string                 enddate    = Request.QueryString["ed"].ToString();
                string                 companies  = Request.QueryString["comps"].ToString();
                ParameterValues        parameters = new ParameterValues();
                ParameterDiscreteValue sdate      = new ParameterDiscreteValue();
                ParameterDiscreteValue edate      = new ParameterDiscreteValue();
                sdate.Value = startdate;
                edate.Value = enddate;
                adapter     = new SqlDataAdapter("spGetMonthlyInvoiceByCompany", connection);
                adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
                adapter.SelectCommand.Parameters.Add("@companies", SqlDbType.VarChar).Value  = companies;
                adapter.SelectCommand.Parameters.Add("@startdate", SqlDbType.DateTime).Value = startdate;
                adapter.SelectCommand.Parameters.Add("@enddate", SqlDbType.DateTime).Value   = enddate;
                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }
                adapter.Fill(ds, "vwMonthlyInvoice");
                //rd.Load(Server.MapPath("rptDailyInvoice.rpt"));
                rd.SetDataSource(ds);
                parameters.Add(sdate);
                rd.DataDefinition.ParameterFields["Startdate"].ApplyCurrentValues(parameters);
                parameters.Add(edate);
                rd.DataDefinition.ParameterFields["Enddate"].ApplyCurrentValues(parameters);
                adapter.Dispose();
                connection.Dispose();
                //Cache.Insert(cachedReports, rd, null, DateTime.MaxValue, TimeSpan.FromMinutes(rptCacheTimeout));
                Session[cachedReports] = rd;
                MonthlyInvoiceReport_ByCompany.ReportSource = rd;
            }
            else
            {
                MonthlyInvoiceReport_ByCompany.ReportSource = Session[cachedReports];
            }
        }