Quantcast
Channel: Crystal Reports
Viewing all articles
Browse latest Browse all 1507

I am using crystal report with visual studio 2010 ,report is not working when deployed to server ?

$
0
0

I installed SAP crystal report setup n generate a report whic is working fine on my PC but When I merge the code on website running on server it shows error :

system.runtime.interopservices.comexception error on crystal report load

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using DataAccessLayer;
using System.Data;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
using CrystalDecisions.Shared;


public partial class Pages_PM_revenuesummary : System.Web.UI.Page
{
    SAM_ERPEntities context = new SAM_ERPEntities();
    public DateTime today = DateTime.Today.Date;

    ReportDocument report = new ReportDocument();
    ReportDocument subreport = new ReportDocument();

    int PortalId;
    int ProjectStatusId;
    int ProjectTypeId;

    DateTime StartDate;
    DateTime EndDate;

    string projectStatus;
    string projectType;
    string projectPortal;
    

    protected void Page_Load(object sender, EventArgs e)
    {
        
        lblMessage.Text = "";
        CrystalReportViewer1.Visible = false;

        if (!IsPostBack)
        {
            CrystalReportViewer1.Visible = false;
            txtEndDate.Text = today.Date.ToString("MM/dd/yyyy");
            txtStartDate.Text = DateTime.Now.Date.AddMonths(-1).ToString("MM/dd/yyyy");

            BindPortals();
            BindProjectType();
            BindProjectStatus();
        }

        if (hd_ReportVisible.Value =="true")
        {
            Load_Report();
        }
    }


    public void BindPortals()
    {
        var portals = new SAM_ERPEntities().Portals.Where(c => c.IsActive == true).OrderBy(c => c.PortalName)
                                .Select(c => new
                                {
                                    PortalId = c.PortalId,
                                    PortalName = c.PortalName
                                });
        BindDropDown(ddlPortal, portals, "PortalName", "PortalId", true, false);
    }

    public void BindProjectType()
    {
        var projectType = new SAM_ERPEntities().ProjectTypes.Where(c => c.IsActive == true).OrderBy(c => c.ProjectTypeId)
                                .Select(c => new
                                {
                                    ProjectTypeId = c.ProjectTypeId,
                                    ProjectTypeName = c.ProjectTypeName
                                });
        BindDropDown(ddlProjectType, projectType, "ProjectTypeName", "ProjectTypeId", true, false);
    }

    public void BindProjectStatus()
    {
        var projectStatus = new SAM_ERPEntities().ProjectStatus.Where(c => c.IsActive == true).OrderBy(c => c.ProjectStatusId)
                                .Select(c => new
                                {
                                    ProjectStatusId = c.ProjectStatusId,
                                    ProjectStatusName = c.ProjectStatusName
                                });
        BindDropDown(ddlProjectStatus, projectStatus, "ProjectStatusName", "ProjectStatusId", true, false);
    }

    protected void btnShowRevenueSummary_Click(object sender, EventArgs e)
    {
        DateTime startdate = Convert.ToDateTime(txtStartDate.Text);
        DateTime enddate = Convert.ToDateTime(txtEndDate.Text);

        if (enddate == startdate)
        {
            lblMessage.Text = "Start Date & End Date can't be same!";
        }
        else if (enddate < startdate)
        {
            lblMessage.Text = "End Date must be greated than Start Date!";
        }
        else
        {
            lblMessage.Text = "";
            Load_Report();
        }
        //string PType = "RevenueSummary";
        //Response.Redirect("reportviewer.aspx?sdate=" + StartDate + "&edate=" + EndDate + "&PtId" + ProjectTypeId + "&PsId" + ProjectStatusId + "&PoId" + PortalId + "&PType" + PType);
    }
    public void Load_Report()
    {

        CrystalReportViewer1.Visible = true;
        hd_ReportVisible.Value = "true";

        PortalId = Convert.ToInt16(ddlPortal.SelectedItem.Value);
        ProjectStatusId = Convert.ToInt16(ddlProjectStatus.SelectedItem.Value);
        ProjectTypeId = Convert.ToInt16(ddlProjectType.SelectedItem.Value);

        StartDate = Convert.ToDateTime(txtStartDate.Text);
        EndDate = Convert.ToDateTime(txtEndDate.Text);

        projectPortal = ddlPortal.SelectedItem.Text;
        projectStatus = ddlProjectStatus.SelectedItem.Text;
        projectType = ddlProjectType.SelectedItem.Text;


        DateTime sdate = StartDate.Date;
        DateTime edate = EndDate.Date;
        var selectData = context.USP_PM_GetRevenueSummaryDetails(ProjectStatusId, ProjectTypeId, PortalId, StartDate, EndDate);

        DataTable dtdata = new DataTable();

        DataColumn dtcolumn = dtdata.Columns.Add("Id", typeof(int));
        dtcolumn.AutoIncrement = true;

        dtdata.Columns.Add("ProjectTypeName", typeof(string));
        dtdata.Columns.Add("CurrencyCode", typeof(string));
        dtdata.Columns.Add("TotalBudget", typeof(decimal));
        dtdata.Columns.Add("TotalReceivedPayment", typeof(decimal));
        dtdata.Columns.Add("TotalEscrowedPayment", typeof(decimal));
        dtdata.Columns.Add("TotalRemainingPayment", typeof(decimal));
        dtdata.Columns.Add("TotalProjects", typeof(decimal));
        dtdata.Columns.Add("ProjectCreated", typeof(decimal));
        dtdata.Columns.Add("ScriptApproved", typeof(decimal));
        dtdata.Columns.Add("StoryBoardApproved", typeof(decimal));
        dtdata.Columns.Add("VoiceOverApproved", typeof(decimal));
        dtdata.Columns.Add("IllustrationApproved", typeof(decimal));
        dtdata.Columns.Add("AnimationApproved", typeof(decimal));


        foreach (var item in selectData)
        {
            DataRow dr = dtdata.NewRow();

            string name = item.ProjectTypeName.ToString();

            dr["ProjectTypeName"] = (item.ProjectTypeName).ToString();
            dr["CurrencyCode"] = (item.CurrencyCode).ToString();
            dr["TotalBudget"] = Convert.ToDecimal(item.TotalBudget);
            dr["TotalReceivedPayment"] = Convert.ToDecimal(item.Received);
            dr["TotalEscrowedPayment"] = Convert.ToDecimal(item.Escrowed);
            dr["TotalRemainingPayment"] = Convert.ToDecimal(item.Remaining);
            dr["TotalProjects"] = Convert.ToDecimal(item.TotalProject);
            dr["ProjectCreated"] = Convert.ToDecimal(item.TotalProjectCreated);
            dr["ScriptApproved"] = Convert.ToDecimal(item.ScriptApproved);
            dr["StoryBoardApproved"] = Convert.ToDecimal(item.StoryboardApproved);
            dr["VoiceOverApproved"] = Convert.ToDecimal(item.VoiceOverApproved);
            dr["IllustrationApproved"] = Convert.ToDecimal(item.IllustrationApproved);
            dr["AnimationApproved"] = Convert.ToDecimal(item.AnimationApproved);

            dtdata.Rows.Add(dr);
        }
        dtdata.AcceptChanges();


        report.Load(Server.MapPath("~/Pages/PM/Reports/revenuesummaryRpt.rpt"));
        report.SetDataSource(dtdata);
        report.OpenSubreport("revenuesummaryTotalRpt.rpt").SetDataSource(RevenueSummaryTotal());

        report.SetParameterValue("FromDate", edate);
        report.SetParameterValue("ToDate", sdate);
        report.SetParameterValue("ProjectType",projectType);
        report.SetParameterValue("ProjectStatus", projectStatus);
        report.SetParameterValue("Portal", projectPortal);

        CrystalReportViewer1.ReportSource = report;
        //btn_Close.Visible = true;

       
       

        
    }

    public DataTable RevenueSummaryTotal()
    {
        var subData = context.USP_PM_GetRevenueSummaryTotal(ProjectStatusId, ProjectTypeId, PortalId, StartDate, EndDate);

        DataTable dtsubdata = new DataTable();

        DataColumn dtsubcolumn = dtsubdata.Columns.Add("Id", typeof(int));
        dtsubcolumn.AutoIncrement = true;
        dtsubdata.Columns.Add("CurrencyCode", typeof(string));
        dtsubdata.Columns.Add("TotalBudget", typeof(decimal));
        dtsubdata.Columns.Add("TRemaining", typeof(decimal));
        dtsubdata.Columns.Add("TEscrowed", typeof(decimal));
        dtsubdata.Columns.Add("TReceived", typeof(decimal));
        dtsubdata.Columns.Add("Total_Projects", typeof(int));

        foreach (var item in subData)
        {
            DataRow dr = dtsubdata.NewRow();

            dr["CurrencyCode"] = (item.CurrencyCode).ToString();
            dr["TotalBudget"] = Convert.ToDecimal(item.TotalBudget);
            dr["TRemaining"] = Convert.ToDecimal(item.TRemaining);
            dr["TReceived"] = Convert.ToDecimal(item.TReceived);
            dr["TEscrowed"] = Convert.ToDecimal(item.TEscrowed);
            dr["Total_Projects"] = Convert.ToInt16(item.TotalProjects);

            dtsubdata.Rows.Add(dr);
        }
        dtsubdata.AcceptChanges();


        return dtsubdata;
    }

    protected void Page_Unload(object sender, EventArgs e)
    {

        report.Close();
        report.Dispose();
        
        
    }

    public void BindDropDown(DropDownList ddlGeneral, Object dataSource, string dataTextField, string dataValueField, bool hasSelectItem, bool hasOtherItem)
    {
        ddlGeneral.DataSource = dataSource;
        ddlGeneral.DataTextField = dataTextField;
        ddlGeneral.DataValueField = dataValueField;
        ddlGeneral.DataBind();

        if (hasSelectItem == true)
        {
            ddlGeneral.Items.Insert(0, new ListItem("All", "0"));
        }

        if (hasOtherItem == true)
        {
            ddlGeneral.Items.Add(new ListItem("-OTHER-", "-100"));
        }
    }

}

I run the same setuo on server machine,I tryed the code on server machine but still the same error on 

 report.Load(Server.MapPath("~/Pages/PM/Reports/revenuesummaryRpt.rpt"));


The same server path run without error on my Pc .kindly help me out








Viewing all articles
Browse latest Browse all 1507

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>