Skip to main content

ASP.NET MVC Generate Crystal report to pdf

See the code sample:

   public ActionResult GenerateReport(CustomerPackageReportViewModel CustomerPackageReportViewModel)  
     {  
       List<CustomerPackageDetailsReportViewModel> _customerList = (List<CustomerPackageDetailsReportViewModel>)Session["CustomerPackageInfo"];  
       DataTable tableObj = new DataTable();  
       if (_customerList!=null)  
       {  
         tableObj = Converter.ToDataTable(_customerList);  
       }  
       else  
       {  
         tableObj = Converter.ToDataTable(ArchitectureList);  
       }  
         ReportDocument reportDoc = new ReportDocument();  
         string rptPath = "";  
         rptPath = Server.MapPath("~/Reports/Billing/Crystal/rptCustomerPackage.rpt");  
         reportDoc.Load(rptPath);  
         reportDoc.SetDataSource(tableObj);  
         Stream reportStream = this.ConvertReportToPDF(reportDoc);  
         return new FileStreamResult(reportStream, "application/pdf");  
     }  
  [NonAction]  
     public Stream ConvertReportToPDF(ReportDocument DocReport)  
     {  
       if (DocReport == null)  
       {  
         return null;  
       }  
       return DocReport.ExportToStream(ExportFormatType.PortableDocFormat);  
     }            


Comments

Popular posts from this blog

WPF datagrid cell textbox change event

Entity/Class: public class FeesDetails : INotifyPropertyChanged { public int Id { get; set; } public string FeesName { get; set;} public string FeesDetailsName { get; set; } public int? PaidAmount { get; set; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(System.String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public int feesAmount { get; set; } public int FeesAmount { get { return this.feesAmount; } set { if (value != this.feesAmount) { this.feesAmount = value; NotifyPropertyChanged("FeesAmount"); } } } } XAML: <DataGrid AutoGenerateColumns="False" Height="21

ASP.NET MVC razor SAP Crystal report

Crete a new project: Add a aspx Master Page Create a new folder Reports and 2 sub folder crystal & crystalviewer Now add a web form page in crystalviewer  folder. Add the master page namespace in your web form page. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > Now go to design mode of your web form drag & drop the crystal report viewer in your web form. After that your page will be look look like this. Replace the code: < CR : CrystalReportViewer ID ="EmployeeList" runat ="server"   HasCrystalLogo ="False"     AutoDataBind ="True"   Height ="50px"   EnableParameterPrompt ="false" EnableDatabaseLogonPrompt

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St