public ActionResult Print() { ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/Reports"), "ProfitabilityReport.rpt")); DataSet ds = new DataSet(); ds.Tables.Add("Head"); ds.Tables.Add("Items"); // //-------HEAD ds.Tables["Head"].Columns.Add("OrganizationName"); ds.Tables["Head"].Columns.Add("Image1"); //-------DT ds.Tables["Items"].Columns.Add("SaleOrderRefNo"); ds.Tables["Items"].Columns.Add("SaleOrderDate"); ds.Tables["Items"].Columns.Add("CustomerName"); ds.Tables["Items"].Columns.Add("OrderAmount"); ds.Tables["Items"].Columns.Add("Purchase"); ds.Tables["Items"].Columns.Add("Expense"); ds.Tables["Items"].Columns.Add("Labour"); ds.Tables["Items"].Columns.Add("SalesInvoice"); OrganizationRepository repo = new OrganizationRepository(); var Head = repo.GetOrganization(OrganizationId); DataRow dr = ds.Tables["Head"].NewRow(); dr["OrganizationName"] = Head.OrganizationName; dr["Image1"] = Server.MapPath("~/App_images/") + Head.Image1; ds.Tables["Head"].Rows.Add(dr); ProfitabilityReportRepository repo1 = new ProfitabilityReportRepository(); var Items = repo1.GetProfitabilityReportDTPrint(); foreach (var item in Items) { var SupplyOrderRegItem = new ProfitabilityReport { SaleOrderRefNo = item.SaleOrderRefNo, SaleOrderDate = item.SaleOrderDate, ItemName = item.ItemName, OrderAmount = item.OrderAmount, Purchase = item.Purchase, Expense = item.Expense, Labour = item.Labour, SalesInvoice = item.SalesInvoice, }; DataRow dri = ds.Tables["Items"].NewRow(); dri["SaleOrderRefNo"] = SupplyOrderRegItem.SaleOrderRefNo; dri["SaleOrderDate"] = SupplyOrderRegItem.SaleOrderDate.ToString("dd-MMM-yyyy"); dri["CustomerName"] = SupplyOrderRegItem.ItemName; dri["OrderAmount"] = SupplyOrderRegItem.OrderAmount; dri["Purchase"] = SupplyOrderRegItem.Purchase; dri["Expense"] = SupplyOrderRegItem.Expense; dri["Labour"] = SupplyOrderRegItem.Labour; dri["SalesInvoice"] = SupplyOrderRegItem.SalesInvoice; ds.Tables["Items"].Rows.Add(dri); } ds.WriteXml(Path.Combine(Server.MapPath("~/XML"), "ProfitabilityReport.xml"), XmlWriteMode.WriteSchema); rd.SetDataSource(ds); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); try { Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "application/pdf", String.Format("ProfitabilityReport.pdf"))); } catch (Exception ex) { throw; } }
// GET: ProfitabilityReport public ActionResult Index() { ProfitabilityReportRepository repo = new ProfitabilityReportRepository(); return(View(repo.GetProfitabilityReport())); }