public DashboardExporter(DashboardViewer viewer)
 {
     this.viewer = viewer;
     ps.Links.AddRange(new object[] { componentLink });
     ps.AfterChange         += ps_AfterChange;
     componentLink.Component = this;
 }
コード例 #2
0
        public void AddDataSource2Dashboard(List <DataSource> dataSources, DashboardViewer viewver)
        {
            try
            {
                if (tryCount > 6)
                {
                    return;
                }

                viewver.Dashboard.DataSources.AddRange((IEnumerable <DataSource>)dataSources);
                viewver.Dashboard.BeginInit();
                viewver.Dashboard.EndInit();
            }
            catch (Exception ex)
            {
                return;

                tryCount++;
                viewver.Dashboard.DataSources.Clear();
                viewver.Invoke(new MethodInvoker(() => AddDataSource2Dashboard(dataSources, viewver)));

                //ასდფსადფ
                //dfg
            }
        }
コード例 #3
0
 protected override void CustomizeDashboardViewer(DashboardViewer dashboardViewer)
 {
     dashboardViewer.ConfigureDataConnection  += DashboardViewer_ConfigureDataConnection;
     dashboardViewer.AllowPrintDashboardItems  = true;
     dashboardViewer.DashboardLoaded          += DashboardViewer_DashboardLoaded;
     dashboardViewer.PopulateUnusedDataSources = true;
 }
コード例 #4
0
 protected override void CustomizeDashboardViewer(DashboardViewer dashboardViewer)
 {
     if (SaveDashboardParametersEnabled)
     {
         dashboardViewer.DashboardChanged += DashboardViewer_DashboardChanged;
     }
 }
コード例 #5
0
        public void PutDashboardInLayoutGroup(LayoutControlGroup editor)
        {
            var os      = ObjectSpace as XPObjectSpace;
            var session = os?.Session;

            var template = session.Query <DoSoDashboard>().FirstOrDefault(x => x.Name.ToLower() == "default");

            if (template == null)
            {
                return;
            }
            var dashboard = template.CreateDashBoard();

            var parameters = dashboard.Parameters.Where(x => x.Name.ToLower() == "currentobject");

            editor.Items.Clear();
            viewver = new DashboardViewer {
                Dock = DockStyle.Fill
            };


            //var dss = new List<DataSource>();
            ////dss.AddRange(dashboard.DataSources);
            //dashboard.DataSources.Clear();

            editor.Add(new LayoutControlItem()
            {
                Control = viewver, TextVisible = false
            });

            viewver.Dashboard = dashboard;

            //Task.Run(() => AddDataSource2Dashboard(dss, viewver));
        }
コード例 #6
0
        public ActionResult pcmDash()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\Post Campaign Assessment.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #7
0
        public ActionResult Missedchildren()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\WHO\\\\Missed children.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #8
0
        public ActionResult VitaminADash()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\Child immunization Vitamin A.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #9
0
        public ActionResult adminnpage()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\WHO\\\\Administrative coverage-number.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #10
0
        public ActionResult icncpage()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\UNICEF\\\\ICN Records cluster and period.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #11
0
        public ActionResult recruitmentpage()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\UNICEF\\\\ICN Deployment.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #12
0
        public ActionResult opv()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\Campaign analysis.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #13
0
        public ActionResult lqasAcceptance()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\WHO\\\\LQAS survey acceptance.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #14
0
        public ActionResult SurvDash()
        {
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\Surveillance.sydx";
            DashboardViewer dashboardViewer = new DashboardViewer();

            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            return(View());
        }
コード例 #15
0
 public DashboardsPresenter(DashboardViewer view, DashboardsViewModel viewModel)
     : base(viewModel)
 {
     // should consider wiring UI elements from Dashboards
     // into this presenter instance in a more granular way
     View = view;
     BindDashboard();
     Messenger.Default.Register <DashboardMessage>(this, OnDashboardMessage);
 }
コード例 #16
0
        protected override object CreateControlCore()
        {
            var viewer = new DashboardViewer {
                Margin = new Padding(0), Padding = new Padding(0)
            };

            viewer.AllowPrintDashboardItems = true;
            return(viewer);
        }
コード例 #17
0
        public void GenerateDashboard(DoSoEmail email, bool prevewOnly = false)
        {
            var dashboardXml = Dashboard?.Xml;

            if (string.IsNullOrEmpty(dashboardXml))
            {
                return;
            }

            var width  = DashboardWidth ?? 1000;
            var height = DashboardHeight ?? 1000;

            using (var viewver = new DashboardViewer())
            {
                viewver.Dock = System.Windows.Forms.DockStyle.Fill;
                using (var ms = new MemoryStream())
                {
                    using (var sr = new StreamWriter(ms, Encoding.UTF8))
                    {
                        var doc = new XmlDocument();
                        doc.LoadXml(dashboardXml);
                        var definitionXml = doc.OuterXml;
                        sr.Write(definitionXml);
                        sr.Flush();
                        ms.Position = 0;
                        try
                        {
                            viewver.LoadDashboard(ms);
                        }
                        catch (Exception e)
                        {
                            throw;
                        }

                        viewver.Size = new System.Drawing.Size(width, height);

                        if (!prevewOnly)
                        {
                            var path = Path.Combine(email.FolderPath, "Dashboard" + ".png");
                            viewver.ExportToImage(path);
                            //email.SourceFilePath += path + ";";
                        }
                        else
                        {
                            using (var form = new DevExpress.XtraEditors.XtraForm())
                            {
                                form.Width     = width;
                                form.Height    = height;
                                viewver.Parent = form;
                                form.ShowDialog();
                            }
                        }
                    }
                }
            }
        }
        private void DashboardViewer1_MasterFilterSet(object sender, MasterFilterSetEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;

            // If the Master Filter includes Anne Dodsworth as Sales Person, disable print and export.
            if (e.DashboardItemName.Contains("grid"))
            {
                viewer.AllowPrintDashboard = e.SelectedValues.Select(value => value[1].ToString()).Contains("Anne Dodsworth") ? false : true;
            }
        }
コード例 #19
0
        private void DashboardViewer1_MasterFilterCleared(object sender, MasterFilterClearedEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;

            foreach (var p in viewer.Parameters.ToList())
            {
                p.SelectedValues = null;
            }
            ;
        }
コード例 #20
0
        protected virtual DashboardViewer CreateDashboardViewer(Action <MemoryStream> exported)
        {
            var dashboardViewer = new DashboardViewer {
                Width  = ((Form)Application.MainWindow.Template).Width,
                Height = ((Form)Application.MainWindow.Template).Height
            };

            ((Control)Frame.Template).BeginInvoke(new Action(() => dashboardViewer.Show(Application, (IDashboardDefinition)View.CurrentObject)));
            return(dashboardViewer);
        }
        private void DashboardViewer1_CustomizeDashboardTitle(object sender, CustomizeDashboardTitleEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;

            // Create the command button to set Master Filter.
            DashboardToolbarItem setMasterFilterItem = new DashboardToolbarItem("Set Master Filter",
                                                                                new Action <DashboardToolbarItemClickEventArgs>((args) => { SetMasterFilterMethod(); }));

            setMasterFilterItem.Caption = "Set Master Filter";
            e.Items.Insert(0, setMasterFilterItem);
        }
コード例 #22
0
        private void dashboardViewer1_DashboardItemSelectionChanged(object sender, DashboardItemSelectionChangedEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;

            if (e.DashboardItemName == "gridDashboardItem1")
            {
                selectionState = e.CurrentSelection.Select(tuple => tuple.GetAxisPoint(DashboardDataAxisNames.DefaultAxis)).ToList();
                IEnumerable <string> stringSelection = selectionState.Select(p => p.Value).Cast <string>();
                viewer.Parameters["ParamSalesPerson"].SelectedValues = stringSelection;
            }
        }
コード例 #23
0
ファイル: Extensions.cs プロジェクト: xyyhqq/eXpand
        public static void Show(this DashboardViewer dashboardViewer, XafApplication application, IDashboardDefinition dashboardDefinition)
        {
            var dashboardCollectionDataSourceFillService = (IXpandDashboardDataSourceFillService)((XpandDashboardDataProvider)DashboardsModule.DataProvider)
                                                           .AttachViewService(dashboardViewer.ServiceContainer, (IDashboardData)dashboardDefinition);

            dashboardCollectionDataSourceFillService.FillService.LoadBeforeParameters += (sender, args) =>
                                                                                         args.Handled = new[] { RuleMode.Always, RuleMode.Runtime }.Contains(dashboardDefinition.EditParameters);
            dashboardDefinition.GetDashboard(application, RuleMode.Runtime, dashboardCollectionDataSourceFillService, null, null, () => {});

            dashboardViewer.Dashboard = dashboardDefinition.GetDashboard(application, RuleMode.Runtime, dashboardCollectionDataSourceFillService, dashboardViewer.DataSourceOptions,
                                                                         dashboard => dashboardViewer.DashboardChanged += (_, args) => dashboardViewer.ShowDashboardParametersForm());
        }
        private void DashboardViewer1_CustomizeDashboardItemCaption(object sender, CustomizeDashboardItemCaptionEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;

            if (e.DashboardItemName == "pieDashboardItem1")
            {
                DashboardToolbarItem infoButton = new DashboardToolbarItem();
                MultiDimensionalData mData      = viewer.GetItemData(e.DashboardItemName);
                var orderCount = mData.GetValue(mData.GetMeasures().Where(m => m.DataMember == "OrderID").First()).Value ?? 0;
                e.FilterText += string.Format("{0:N0} distinct orders are displayed", orderCount);
            }
        }
コード例 #25
0
 public void Attach(DashboardViewer viewer, string chartItemName)
 {
     if (designer != null || viewer != null)
     {
         Detach();
     }
     chartStorage       = new List <ChartControl>();
     this.viewer        = viewer;
     this.chartItemName = chartItemName;
     viewer.DashboardItemControlCreated        += DashboardItemControlCreated;
     viewer.DashboardItemControlUpdated        += DashboardItemControlUpdated;
     viewer.DashboardItemBeforeControlDisposed += DashboardItemBeforeControlDisposed;
 }
コード例 #26
0
        private void DashboardViewer1_CustomizeDashboardTitle(object sender, DevExpress.DashboardWin.CustomizeDashboardTitleEventArgs e)
        {
            DashboardViewer dashboardViewer = (DashboardViewer)sender;

            DashboardToolbarItem commandButton = new DashboardToolbarItem(dashboardViewer.UseNeutralFilterMode, "NEUTRAL FILTER MODE",
                                                                          new Action <DashboardToolbarItemClickEventArgs>((args) => {
                dashboardViewer.UseNeutralFilterMode = !dashboardViewer.UseNeutralFilterMode;
                dashboardViewer1.DashboardSource     = typeof(Dashboard1);
            }));

            commandButton.Caption = "NEUTRAL FILTER MODE";
            e.Items.Add(commandButton);
        }
コード例 #27
0
        public string AddDashboardToMail(MailMessage mail, DashboardDefinition dashboard, DoSoDoSoEmailSchedule schedule)
        {
            try
            {
                var template = dashboard.CreateDashBoard();
                var fileName = DateTime.Now.ToString("yyyMMddHHmmssfff");
                var tempPath = Path.GetTempPath();
                var path     = Path.Combine(tempPath, fileName);

                using (var viewwer = new DashboardViewer())
                {
                    var width    = Convert.ToInt32(schedule?.DashboardWidth.IsNull(1600));
                    var height   = Convert.ToInt32(schedule?.DashboardHeight.IsNull(1000));
                    var fileType = schedule?.ExportFileFormat;

                    viewwer.Size      = new Size(width, height);
                    viewwer.Dashboard = template;

                    if (fileType == ReportExportFileFormatEnum.HTML)
                    {
                        path += ".png";
                        viewwer.ExportToImage(path);
                        mail.IsBodyHtml = true;

                        var inlineLogo = new Attachment(path);
                        mail.Attachments.Add(inlineLogo);
                        inlineLogo.ContentId = fileName;
                        mail.Body           += Environment.NewLine + "<htm><body> <img src=\"cid:" + fileName + "\"> </body></html>";
                        Console.WriteLine("Body Assigned");

                        return(path);
                    }

                    if (fileType == ReportExportFileFormatEnum.PDF)
                    {
                        path += ".pdf";
                        viewwer.ExportToPdf(path);
                        var attachment = new Attachment(path);
                        mail.Attachments.Add(attachment);
                        return(path);
                    }
                    return(string.Empty);
                }
            }
            catch (Exception ex)
            {
                GeneratorHelper.CreateLogFileWithException(ex.ToString());
                return("");
            }
        }
コード例 #28
0
        private void dashboardViewer1_MasterFilterSet(object sender, MasterFilterSetEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;

            if (e.DashboardItemName == "gridDashboardItem1")
            {
                var stringValues = e.SelectedValues.Select(value => value[1].ToString());
                viewer.Parameters["ParamSalesPerson"].SelectedValues = stringValues;
            }
            if (e.DashboardItemName == "rangeFilterDashboardItem1")
            {
                viewer.Parameters["ParamRangeStart"].SelectedValue = e.SelectedRange.Minimum;
                viewer.Parameters["ParamRangeEnd"].SelectedValue   = e.SelectedRange.Maximum;
            }
        }
コード例 #29
0
 public void Detach()
 {
     this.chartItemName = string.Empty;
     if (this.designer != null)
     {
         designer.DashboardItemControlCreated        -= DashboardItemControlCreated;
         designer.DashboardItemControlUpdated        -= DashboardItemControlUpdated;
         designer.DashboardItemBeforeControlDisposed -= DashboardItemBeforeControlDisposed;
         this.designer = null;
     }
     if (this.viewer != null)
     {
         viewer.DashboardItemControlCreated        -= DashboardItemControlCreated;
         viewer.DashboardItemControlUpdated        -= DashboardItemControlUpdated;
         viewer.DashboardItemBeforeControlDisposed -= DashboardItemBeforeControlDisposed;
         this.viewer = null;
     }
     chartStorage = null;
 }
コード例 #30
0
        public void ShowDashBoard(DashboardViewer dbv, bool canRead)
        {
            if (canRead)
            {
                if (dbv.Dashboard == null)
                {
                    dbv.LoadDashboard(@"UmitechDashBoard.xml");
                    dbv.Show();
                }

                else
                {
                    dbv.Show();
                }
            }

            else
            {
                dbv.Hide();
                XtraMessageBox.Show("You need to have administrative rights to have a look the dashboard of the comapany", "You Cant View Dashbord", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
コード例 #31
0
 public DashboardViewPresenter(DashboardViewer viewer, DashboardsViewModel viewModel)
 {
     ViewModel = viewModel;
     _viewer = viewer;
     Messenger.Default.Register<DashboardMessage>(this, OnDashboardMessage);
 }
コード例 #32
0
 protected override object CreateControlCore()
 {
     var viewer = new DashboardViewer{ Margin = new Padding(0), Padding = new Padding(0) };
     viewer.AllowPrintDashboardItems = true;
     return viewer;
 }