public override string SetNewData(DevExpress.XtraReports.UI.XtraReport report, string defaultUrl)
        {
            // Save a report to the storage under a new URL.
            // The defaultUrl parameter contains the report display name specified by a user.
            string reportname = report.ToString();
            string language   = "ar-EG";
            string menuname   = "OtherReports";
            string icon       = "7.png";

            var orgReport = db.HReports.Where(r => r.ReportName == reportname && r.OrgReportId == null).Select(r => new { Id = r.Id, Icon = r.Icon, MenuName = r.MenuName, Language = r.Language }).FirstOrDefault();

            if (orgReport != null)
            { // get info from original report
                menuname = orgReport.MenuName;
                icon     = orgReport.Icon;
                language = orgReport.Language;
            }
            else
            { // read info from sessions
                if (HttpContext.Current.Session["Language"] != null)
                {
                    language = HttpContext.Current.Session["Language"].ToString();
                }
                if (HttpContext.Current.Session["Icon"] != null)
                {
                    icon = HttpContext.Current.Session["Icon"].ToString();
                }
                if (HttpContext.Current.Session["MenuName"] != null)
                {
                    menuname = HttpContext.Current.Session["MenuName"].ToString();
                }
                //int menuId = 0;
                //if (HttpContext.Current.Session["MenuId"] != null) int.TryParse(HttpContext.Current.Session["MenuId"].ToString(), out menuId);
                //if (menuId > 0) menuname = db.Menus.Where(m => m.Id == menuId).Select(m => m.Name).FirstOrDefault();
            }


            var hreport = new HReport
            {
                CreatedTime = DateTime.Now,
                CreatedUser = HttpContext.Current.User.Identity.Name,
                MenuName    = menuname,
                OrgReportId = (orgReport == null ? (int?)null : orgReport.Id),
                Icon        = icon,
                ReportName  = reportname,
                ReportTitle = defaultUrl,
                Language    = language
            };

            using (MemoryStream ms = new MemoryStream())
            {
                report.SaveLayoutToXml(ms);
                hreport.ReportData = ms.GetBuffer();
            }

            db.HReports.Add(hreport);
            db.SaveChanges();

            return(hreport.Id.ToString());
        }
示例#2
0
 public override void SetData(DevExpress.XtraReports.UI.XtraReport report, string url)
 {
     url += url.EndsWith(".repx") ? "" : ".repx";
     using (var fileStream = File.OpenWrite(Path.Combine(workingDirectory, url))) {
         report.SaveLayoutToXml(fileStream);
     }
 }
        public override void SetData(DevExpress.XtraReports.UI.XtraReport report, string url)
        {
            // Write a report to the storage under the specified URL.
            var hreport = db.HReports.Find(int.Parse(url));

            if (hreport != null)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    report.SaveLayoutToXml(ms);
                    hreport.ReportData = ms.GetBuffer();
                }

                db.HReports.Attach(hreport);
                db.Entry(hreport).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }

            //base.SetData(report, url);
        }