Crystal Reports : How to add an external assembly class?

Posted by Sunil on Stack Overflow See other posts from Stack Overflow or by Sunil
Published on 2012-04-02T13:15:53Z Indexed on 2012/04/02 17:29 UTC
Read the original article Hit count: 170

I am using VS2010, CrystalReport13 & MVC3. My problem is unable to add an external assembly in Crystal Report using "Database Expert" Option.

I have a class named WeeklyReportModel in an external assembly. In my web project, data retrieving from DB as IEnumerable collection of WeeklyReportModel.

I tried ProjectData -> .NetObjects in Crystal Report for adding the WeeklyReportModel. But this external assembly is not showing under ".NetObjects".
Then I tried other option as Create New Connection -> ADO.Net –> Make New Connection and pointed this External Assembly. It has been added under Ado.Net node, but while expanding displays as "...no items found..."
Totally frustrated. Please help.

External Assembly Class:

namespace SMS.Domain
{
    public class WeeklyReportModel
    {
        public int StoreId { get; set; }
        public string StoreName{ get; set; }
        public decimal Saturday { get; set; }
        public decimal Sunday { get; set; }
        public decimal Monday { get; set; }
        public decimal Tuesday { get; set; }
        public decimal Wednesday { get; set; }
        public decimal Thurday { get; set; }
        public decimal Friday { get; set; }
        public decimal Average { get; set; }
        public string DateRange { get; set; }
    }
}

In Controller->action[Data retrieving as Collection Of WeeklyReportModel]

    namespace SMS.UI.Controllers
    {
    public class ReportController : Controller
    {
        public ActionResult StoreWeeklyReport(string id)
        {
                DateTime weekStart, weekClose;
                string[] dateArray = id.Split('_');
                weekStart = Convert.ToDateTime(dateArray[0].ToString());
                weekClose = Convert.ToDateTime(dateArray[1].ToString());

                SMS.Infrastructure.Report.AuditReport weeklyReport 
= new SMS.Infrastructure.Report.AuditReport();

                IEnumerable<SMS.Domain.WeeklyReportModel> weeklyRpt = 
                    weeklyReport.ReportByStore().WeeklyReport(weekStart, weekClose); 

                Session["WeeklyData"] = weeklyRpt;

                Response.Redirect("~/Reports/Weekly/StoreWeekly.aspx");
                return View();
            }
       }
   }

Thanks in advance.

© Stack Overflow or respective owner

Related posts about asp.net-mvc-3

Related posts about crystal-reports