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()));
        }