Exemplo n.º 1
0
        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;
                }
            }
        }
Exemplo n.º 2
0
        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[] { });
        }
Exemplo n.º 3
0
        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");
        }
Exemplo n.º 4
0
        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;
                    }
                }
            }
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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;
                }
            }
        }
Exemplo n.º 8
0
        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();
        }
Exemplo n.º 9
0
 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());
 }
Exemplo n.º 10
0
        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;
                }
            }
        }