void CustomizePieTotalLabel(string componentName, MultiDimensionalData data, CustomizePieTotalLabelEventArgs e)
        {
            PieTotalSettings settings   = PieTotalSettings.FromJson(dashboardControl.Dashboard.Items[componentName].CustomProperties[customPropertyName]);
            string           resultText = string.Empty;

            if (!string.IsNullOrEmpty(settings.Prefix))
            {
                resultText += settings.Prefix + Environment.NewLine;
            }



            MeasureDescriptor measure = data.GetMeasures().First();

            if (!string.IsNullOrEmpty(settings.MeasureId) ||
                data.GetMeasures().Where(m => m.ID == settings.MeasureId).Any())
            {
                measure = data.GetMeasures().FirstOrDefault(m => m.ID == settings.MeasureId);
            }
            if (measure != null)
            {
                AxisPoint axisPoint = e.Series.Tag as AxisPoint;
                resultText += data.GetSlice(axisPoint).GetValue(measure).DisplayText;
            }
            if (!string.IsNullOrEmpty(settings.Postfix))
            {
                resultText += Environment.NewLine + settings.Postfix;
            }
            e.Text = resultText;
        }
 public PieTotalSettingsDialog(string settings, List <Measure> measures)
 {
     InitializeComponent();
     _settings = PieTotalSettings.FromJson(settings);
     _measures = measures;
     SetupEditors(measures);
 }
 void UpdateTotalSettingsBarItem()
 {
     if (dashboardDesigner.SelectedDashboardItem is PieDashboardItem)
     {
         PieTotalSettings settings = PieTotalSettings.FromJson(dashboardDesigner.SelectedDashboardItem.CustomProperties[customPropertyName]);
         totalSettingsBarItem.Enabled = settings.Enabled;
     }
 }
        private void OnShowTotalsClick(object sender, ItemClickEventArgs e)
        {
            DashboardItem    dashboardItem = dashboardDesigner.SelectedDashboardItem;
            PieTotalSettings settings      = PieTotalSettings.FromJson(dashboardItem.CustomProperties.GetValue(customPropertyName));

            settings.Enabled = !settings.Enabled;
            string status = settings.Enabled == true ? "enabled" : "disabled";
            CustomPropertyHistoryItem historyItem = new CustomPropertyHistoryItem(dashboardItem, customPropertyName, settings.ToJson(), $"Totals for {dashboardItem.ComponentName} is {status}");

            dashboardDesigner.AddToHistory(historyItem);
            UpdateTotalSettingsBarItem();
        }
 private void DashboardItemControlUpdated(object sender, DashboardItemControlEventArgs e)
 {
     if (e.ChartControl != null)
     {
         PieDashboardItem pieItem = dashboardControl.Dashboard.Items[e.DashboardItemName] as PieDashboardItem;
         if (pieItem == null || e.ChartControl.Diagram == null)
         {
             return;
         }
         e.ChartControl.Diagram.Tag = e.DashboardItemName;
         PieTotalSettings settings = PieTotalSettings.FromJson(pieItem.CustomProperties.GetValue(customPropertyName));
         if (settings.Enabled)
         {
             foreach (Series series in e.ChartControl.Series)
             {
                 (series.View as PieSeriesView).TotalLabel.Visible = true;
             }
         }
     }
 }