public void OpenRecord(Int64 Id) { try { DB.RPT_Report rptReport = BL.RPT.RPT_Report.Load(Id, DataContext); Templates.BaseReportTemplate report = new Templates.BaseReportTemplate(); report.LoadLayoutFromXml(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data))); report.Tag = String.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}", rptReport.Id, rptReport.Code, rptReport.Name, rptReport.Description, rptReport.Category, rptReport.SubCategory, rptReport.SecurityLevel); //report.Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "Period", Type = typeof(DateTime), }); //if (report.DataSource is DevExpress.DataAccess.Sql.SqlDataSource) // ((DevExpress.DataAccess.Sql.SqlDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; //else if (report.DataSource is DevExpress.DataAccess.EntityFramework.EFDataSource) // ((DevExpress.DataAccess.EntityFramework.EFDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; //else // throw new Exception("Data Source type not implemented in reports"); reportDesigner1.OpenReport(report); foreach (var componenet in report.Container.Components) { if (!(componenet is DevExpress.DataAccess.Native.DataComponentBase)) { continue; } if (componenet is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(componenet)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else if (componenet is DevExpress.DataAccess.EntityFramework.EFDataSource) { if (((DevExpress.DataAccess.EntityFramework.EFDataSource)(componenet)).Connection != null) { ((DevExpress.DataAccess.EntityFramework.EFDataSource)(componenet)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; } } } while (xrDesignDockManager1.HiddenPanels.Count > 0) { xrDesignDockManager1.HiddenPanels[0].Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; } //if (reportDesigner1.ActiveDesignPanel.Report.Scripts.OnParametersRequestBeforeShow == string.Empty) //{ // reportDesigner1.ActiveDesignPanel.Report.Scripts.OnParametersRequestBeforeShow = "XtraReport_ParametersRequestBeforeShow"; // reportDesigner1.ActiveDesignPanel.Report.ScriptsSource = xtraReport_ParametersRequestBeforeShow; //} } catch (Exception ex) { if (CDS.Shared.Exception.UserInterfaceExceptionHandler.HandleException(ref ex)) { throw ex; } } }
public override byte[] GetData(string url) { string[] urlvalues = url.Split(new char[] { '|' }); DB.RPT_Report rpt_report = BL.RPT.RPT_Report.Load(Convert.ToInt64(urlvalues[0]), DataContext); if (rpt_report != null) { return(System.Text.Encoding.UTF8.GetBytes(rpt_report.Data)); } return(new byte[] { }); }
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { DB.RPT_Report rptReport = BL.RPT.RPT_Report.Load(1, DataContext); //this.Text = rptReport.Name; System.IO.Stream xmlstream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data)); //XtraReport report = new XtraReport(); DevExpress.XtraReports.UI.XtraReport report = new DevExpress.XtraReports.UI.XtraReport(); report.LoadLayoutFromXml(xmlstream); //report.CurrentPrintControl = PrintControl; //SqlDataAdapter adp = (SqlDataAdapter)report.DataAdapter; if (report.DataSource is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else if (report.DataSource is DevExpress.DataAccess.EntityFramework.EFDataSource) { ((DevExpress.DataAccess.EntityFramework.EFDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; } else { throw new Exception("Data Source type not implemented in reports"); } //adp.SelectCommand.Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; DevExpress.XtraReports.Parameters.ParameterCollection Parameters = new DevExpress.XtraReports.Parameters.ParameterCollection(); Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "Code_Main_starts_with", Value = "00100" }); if (Parameters.Count != 0) { foreach (var extparam in Parameters) { foreach (var param in report.Parameters) { if (extparam.Name == param.Name) { param.Value = extparam.Value; break; } } } } report.ExportToPdf(@"C:\accounts_report.pdf"); }
public override void SetData(XtraReport report, string url) { //DevExpress.XtraReports.Extensions.ReportDesignExtension.RegisterExtension(Program.DesignExtension, "Custom"); DevExpress.XtraReports.Extensions.ReportDesignExtension.AssociateReportWithExtension(report, "Custom"); string[] urlvalues = url.Split(new char[] { '|' }); DB.RPT_Report rpt_report = BL.RPT.RPT_Report.Load(Convert.ToInt64(urlvalues[0]), DataContext); if (rpt_report == null) { rpt_report = BL.RPT.RPT_Report.New; } rpt_report.Code = urlvalues[1]; rpt_report.Name = urlvalues[2]; rpt_report.Description = urlvalues[3]; rpt_report.Category = urlvalues[4]; rpt_report.SubCategory = urlvalues[5]; rpt_report.SecurityLevel = Convert.ToInt16(urlvalues[6]); rpt_report.Data = GetData(report); //using (new Essential.UTL.WaitCursor()) { try { using (TransactionScope transaction = DataContext.GetTransactionScope()) { BL.EntityController.SaveRPT_Report(rpt_report, DataContext); DataContext.SaveChangesEntityReportContext(); urlvalues[0] = rpt_report.Id.ToString(); report.Tag = String.Join("|", urlvalues); DataContext.CompleteTransaction(transaction); } DataContext.EntityReportContext.AcceptAllChanges(); DataContext.EntitySystemContext.AcceptAllChanges(); } catch (Exception ex) { DataContext.EntityReportContext.RejectChanges(); DataContext.EntitySystemContext.RejectChanges(); if (CDS.Shared.Exception.UserInterfaceExceptionHandler.HandleException(ref ex)) { throw ex; } } } }
internal static String Save(DB.RPT_Report entry, DataContext dataContext) { try { if (dataContext.EntityReportContext.GetEntityState(entry) == System.Data.Entity.EntityState.Detached) { dataContext.EntityReportContext.RPT_Report.Add(entry); } else { } } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { return(dataContext.PackageValidationException()); } return("Success"); }
private bool ProcessStatementEmail(long statementId) { bool HasMailed; using (var uow = new DevExpress.Xpo.UnitOfWork()) { XDB.GLX_Statement statement = uow.Query <XDB.GLX_Statement>().SingleOrDefault(n => n.Id == statementId); var account = uow.Query <XDB.GLX_Account>().SingleOrDefault(n => n.EntityId.Id == statement.EntityId.Id); XDB.ORG_Company company = null; if (account.EntityId.CodeMain == BL.ApplicationDataContext.Instance.SiteAccounts.DebtorsEntity.CodeMain) { company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Customer && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub); } else if (account.EntityId.CodeMain == BL.ApplicationDataContext.Instance.SiteAccounts.CreditorsEntity.CodeMain) { company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Supplier && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub); } if (!System.Text.RegularExpressions.Regex.IsMatch(company.AccountsContactEmail, @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$", System.Text.RegularExpressions.RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250))) { return(false); } try { DB.RPT_Report rptReport = BL.RPT.RPT_Report.LoadByName("Account Statement", DataContext); System.IO.Stream xmlstream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data)); DevExpress.XtraReports.UI.XtraReport report = new DevExpress.XtraReports.UI.XtraReport(); report.LoadLayoutFromXml(xmlstream); if (report.DataSource is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else { throw new Exception("Data Source type not implemented in reports"); } DevExpress.XtraReports.Parameters.ParameterCollection Parameters = new DevExpress.XtraReports.Parameters.ParameterCollection(); Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "Account", Value = statement.EntityId.Id }); Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "Period", Value = statement.PeriodId.Id }); if (Parameters.Count != 0) { foreach (var extparam in Parameters) { foreach (var param in report.Parameters) { if (extparam.Name == param.Name) { param.Value = extparam.Value; break; } } } } // Create a new memory stream and export the report into it as PDF. System.IO.MemoryStream mem = new System.IO.MemoryStream(); report.ExportToPdf(mem); // Create a new attachment and put the PDF report into it. mem.Seek(0, System.IO.SeekOrigin.Begin); System.Net.Mail.Attachment att = new System.Net.Mail.Attachment(mem, account.EntityId.CodeMain + ".pdf", "application/pdf"); // Create a new message and attach the PDF report to it. System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); mail.Attachments.Add(att); report.ExportOptions.Email.RecipientAddress = company.AccountsContactEmail; report.ExportOptions.Email.RecipientName = company.AccountsContactName; report.ExportOptions.Email.Subject = "Statement of Account for ACC# " + account.EntityId.CodeSub; report.ExportOptions.Email.Body = string.Format("Please see attached Statement of Account for ACC# {0} ({1:N2})", account.EntityId.CodeSub, account.EntityId.AccountBalance); // Specify sender and recipient options for the e-mail message. mail.From = new System.Net.Mail.MailAddress(BL.ApplicationDataContext.Instance.CompanySite.AccountEmailAddress, BL.ApplicationDataContext.Instance.LoggedInUser.DisplayName); mail.To.Add(new System.Net.Mail.MailAddress(report.ExportOptions.Email.RecipientAddress, report.ExportOptions.Email.RecipientName)); // Specify other e-mail options. mail.Subject = report.ExportOptions.Email.Subject; mail.Body = report.ExportOptions.Email.Body; // Send the e-mail message via the specified SMTP server. System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient(BL.ApplicationDataContext.Instance.CompanySite.SMTPServerLocation, 587); if (BL.ApplicationDataContext.Instance.CompanySite.AccountEmailPassword != null && BL.ApplicationDataContext.Instance.CompanySite.AccountEmailPassword != string.Empty) { System.Net.NetworkCredential credential = new System.Net.NetworkCredential(BL.ApplicationDataContext.Instance.CompanySite.AccountEmailUsername, BL.ApplicationDataContext.Instance.CompanySite.AccountEmailPassword); if (BL.ApplicationDataContext.Instance.CompanySite.AccountEmailDomain != string.Empty) { credential.Domain = BL.ApplicationDataContext.Instance.CompanySite.AccountEmailDomain; } smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = credential; smtpClient.EnableSsl = true; } smtpClient.Send(mail); // Close the memory stream. mem.Close(); mem.Flush(); statement.HasMailed = HasMailed = true; } catch (Exception ex) { statement.HasMailed = HasMailed = false; } uow.CommitChanges(); } return(HasMailed); }
private void PrintReportDocument(string location, string jobName, byte typeId, long documentId) { DB.RPT_Report rptReport = null; switch (typeId) { case (byte)BL.SYS.SYS_DOC_Type.Quote: case (byte)BL.SYS.SYS_DOC_Type.CreditNote: case (byte)BL.SYS.SYS_DOC_Type.BackOrder: case (byte)BL.SYS.SYS_DOC_Type.SalesOrder: case (byte)BL.SYS.SYS_DOC_Type.TAXInvoice: rptReport = BL.RPT.RPT_Report.LoadByName("Sales Document Template", DataContext); break; case (byte)BL.SYS.SYS_DOC_Type.PickingSlip: rptReport = BL.RPT.RPT_Report.LoadByName("Picking Slip Document Template", DataContext); break; case (byte)BL.SYS.SYS_DOC_Type.PurchaseOrder: case (byte)BL.SYS.SYS_DOC_Type.GoodsReceived: case (byte)BL.SYS.SYS_DOC_Type.GoodsReturned: rptReport = BL.RPT.RPT_Report.LoadByName("Purchase Document Template", DataContext); break; case (byte)BL.SYS.SYS_DOC_Type.TransferRequest: case (byte)BL.SYS.SYS_DOC_Type.TransferShipment: case (byte)BL.SYS.SYS_DOC_Type.TransferReceived: rptReport = BL.RPT.RPT_Report.LoadByName("Transfer Document Template", DataContext); break; case (byte)BL.SYS.SYS_DOC_Type.InventoryAdjustment: rptReport = BL.RPT.RPT_Report.LoadByName("Stock Document Template", DataContext); break; case (byte)BL.SYS.SYS_DOC_Type.Job: rptReport = BL.RPT.RPT_Report.LoadByName("Work Document Template", DataContext); break; case (byte)BL.SYS.SYS_DOC_Type.BOMAssemblyStarted: case (byte)BL.SYS.SYS_DOC_Type.BOMDisassemblyStarted: case (byte)BL.SYS.SYS_DOC_Type.BOMCanceled: case (byte)BL.SYS.SYS_DOC_Type.BOMComplete: rptReport = BL.RPT.RPT_Report.LoadByName("Work Document Template", DataContext); break; } System.IO.Stream xmlstream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data)); DevExpress.XtraReports.UI.XtraReport report = new DevExpress.XtraReports.UI.XtraReport(); report.LoadLayoutFromXml(xmlstream); foreach (object oObject in report.ObjectStorage) { if (oObject is DevExpress.XtraReports.Parameters.LookUpSettings) { object dataSource = (oObject as DevExpress.XtraReports.Parameters.LookUpSettings).DataSource; if (dataSource is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(dataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else if (dataSource is DevExpress.DataAccess.EntityFramework.EFDataSource) { ((DevExpress.DataAccess.EntityFramework.EFDataSource)(dataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; } else { throw new Exception("Data Source type not implemented in reports"); } } } foreach (object oObject in report.ComponentStorage) { if (oObject is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(oObject)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else if (oObject is DevExpress.DataAccess.EntityFramework.EFDataSource) { ((DevExpress.DataAccess.EntityFramework.EFDataSource)(oObject)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; } else { throw new Exception("Data Source type not implemented in reports"); } } if (report.Parameters.Count != 0) { foreach (var extparam in report.Parameters) { if (extparam.Name == "DocumentId") { extparam.Value = documentId; } } } try { report.CreateDocument(false); report.PrintingSystem.Document.Name = jobName; using (DevExpress.XtraReports.UI.ReportPrintTool printTool = new DevExpress.XtraReports.UI.ReportPrintTool(report)) { // Send the report to the specified printer. printTool.Print(location); } } catch (Exception ex) { DataContext.EntityOrganisationContext.RejectChanges(); if (CDS.Shared.Exception.UserInterfaceExceptionHandler.HandleException(ref ex)) { throw ex; } } }
public static void EmailtoPDF(Essential.BaseForm.ReportTemplateType reportTemplate, long id, string filename, BL.DataContext dataContext) { string reportName = null; //rptReport = BL.RPT.RPT_Report.LoadByName("Sales Document Template", DataContext); // //rptReport = BL.RPT.RPT_Report.LoadByName("Picking Slip Document Template", DataContext); // //rptReport = BL.RPT.RPT_Report.LoadByName("Purchase Document Template", DataContext); // //rptReport = BL.RPT.RPT_Report.LoadByName("Transfer Document Template", DataContext); // //rptReport = BL.RPT.RPT_Report.LoadByName("Stock Document Template", DataContext); // //rptReport = BL.RPT.RPT_Report.LoadByName("Work Document Template", DataContext); // //rptReport = BL.RPT.RPT_Report.LoadByName("Work Document Template", DataContext); switch (reportTemplate) { case Essential.BaseForm.ReportTemplateType.None: reportName = ""; break; case Essential.BaseForm.ReportTemplateType.SalesDocument: reportName = "Sales Document Template"; break; case Essential.BaseForm.ReportTemplateType.PurchaseDocument: reportName = "Purchase Document Template"; break; case Essential.BaseForm.ReportTemplateType.PickerDocument: reportName = "Picking Slip Document Template"; break; case Essential.BaseForm.ReportTemplateType.StockDocument: reportName = "Stock Document Template"; break; case Essential.BaseForm.ReportTemplateType.WorkDocument: reportName = "Work Document Template"; break; case Essential.BaseForm.ReportTemplateType.TransferDocument: reportName = "Transfer Document Template"; break; } DB.RPT_Report rptReport = BL.RPT.RPT_Report.LoadByName(reportName, dataContext); if (rptReport == null) { return; } System.IO.Stream xmlstream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data)); DevExpress.XtraReports.UI.XtraReport report = new DevExpress.XtraReports.UI.XtraReport(); report.LoadLayoutFromXml(xmlstream); if (report.DataSource is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else if (report.DataSource is DevExpress.DataAccess.EntityFramework.EFDataSource) { ((DevExpress.DataAccess.EntityFramework.EFDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; } else { throw new Exception("Data Source type not implemented in reports"); } //adp.SelectCommand.Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; DevExpress.XtraReports.Parameters.ParameterCollection Parameters = new DevExpress.XtraReports.Parameters.ParameterCollection(); Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "DocumentId", Value = id }); if (Parameters.Count != 0) { foreach (var extparam in Parameters) { foreach (var param in report.Parameters) { if (extparam.Name == param.Name) { param.Value = extparam.Value; break; } } } } System.IO.MemoryStream ms = new System.IO.MemoryStream(); report.ExportToPdf(ms); CDS.Client.Desktop.Essential.UTL.SendMailForm mail = new CDS.Client.Desktop.Essential.UTL.SendMailForm(); mail.AttachFile(ms, filename); mail.ShowDialog(); }
public static DB.RPT_Report GetPreviousItem(DB.RPT_Report rpt_analytic, DataContext dataContext) { return(dataContext.EntityReportContext.RPT_Report.OrderByDescending(o => o.Name).Where(n => n.Name.CompareTo(rpt_analytic.Name) < 0 && n.Name.CompareTo(rpt_analytic.Name) != 0).FirstOrDefault()); }
private void LoadReport(Int64 Id) { try { DB.RPT_Report rptReport = BL.RPT.RPT_Report.Load(Id, DataContext); this.Text = rptReport.Name; Stream xmlstream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data)); //XtraReport report = new XtraReport(); CDS.Client.Desktop.Reporting.Report.Design.Templates.BaseReportTemplate report = new CDS.Client.Desktop.Reporting.Report.Design.Templates.BaseReportTemplate(); report.LoadLayoutFromXml(xmlstream); //report.CurrentPrintControl = PrintControl; //SqlDataAdapter adp = (SqlDataAdapter)report.DataAdapter; foreach (object oObject in report.ObjectStorage) { if (oObject is DevExpress.XtraReports.Parameters.LookUpSettings) { object dataSource = (oObject as DevExpress.XtraReports.Parameters.LookUpSettings).DataSource; if (dataSource is DevExpress.DataAccess.Sql.SqlDataSource) { ((DevExpress.DataAccess.Sql.SqlDataSource)(dataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; } else if (dataSource is DevExpress.DataAccess.EntityFramework.EFDataSource) { ((DevExpress.DataAccess.EntityFramework.EFDataSource)(dataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.EntityViewConnectionString.ConnectionString; } else { throw new Exception("Data Source type not implemented in reports"); } } } //adp.SelectCommand.Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString; dvReport.PrintingSystem = report.PrintingSystem; if (Parameters.Count != 0) { report.RequestParameters = false; foreach (var extparam in Parameters) { foreach (var param in report.Parameters) { if (extparam.Name == param.Name) { param.Visible = false; param.Value = extparam.Value; break; } } } } dvReport.DocumentSource = report; report.CreateDocument(true); //new DevExpress.XtraReports.UI.ReportPrintTool(report).ShowPreview(); report.PrintingSystem.ExecCommand(DevExpress.XtraPrinting.PrintingSystemCommand.Parameters, new object[] { true }); //printRibbonController1.PrintControl.PrintingSystem.AddCommandHandler(new ExportToExcel()); } catch (Exception ex) { if (CDS.Shared.Exception.UserInterfaceExceptionHandler.HandleException(ref ex)) { throw ex; } } }