private void BuildChart(RadChart chart, DataTable seriesData)
        {
            // Handle Legend Labels
            chart.Series.Clear();
            var nSeries = new ChartSeries();
            var nSeries2 = new ChartSeries();
            
            nSeries.Name = "School %";
            nSeries2.Name = "District %";
            chart.Legend.Appearance.ItemTextAppearance.AutoTextWrap = AutoTextWrap.False;

            //double minval = 100;
            //double maxval = 0;

            ChartAxisItemsCollection caic = new ChartAxisItemsCollection();

            var year_list = new List<String>();
            // Begin Experience tab
            foreach (DataRow dr in seriesData.Rows)
            {
                var myItem = new ChartSeriesItem(DataIntegrity.ConvertToDouble(dr["SuspensionRate"]), dr["LevelLabel"].ToString()) { Name = dr["SchoolYear"].ToString() };
                if (String.IsNullOrEmpty(dr["SuspensionRate"].ToString())) myItem.Appearance.Visible = false;   // hide bar and text if the value is null (no data)
                //myItem.Label.Appearance.LabelLocation = StyleSeriesItemLabel.ItemLabelLocation.Auto;
                if (dr["Level"].Equals("District"))
                {
                    nSeries2.AddItem(myItem);
                }
                else
                {
                    nSeries.AddItem(myItem);
                }
                
                year_list.Add(dr["SchoolYear"].ToString());
                
                //if (minval > DataIntegrity.ConvertToDouble(dr["SuspensionRate"])) minval = DataIntegrity.ConvertToDouble(dr["SuspensionRate"]);
                //if (maxval < DataIntegrity.ConvertToDouble(dr["SuspensionRate"])) maxval = DataIntegrity.ConvertToDouble(dr["SuspensionRate"]);
            }
            foreach (var yl in year_list.Distinct())
            {
                ChartAxisItem ai = new ChartAxisItem();
                ai.TextBlock.Text = yl;
                caic.Add(ai);    
            }
            
            chart.PlotArea.XAxis.AddItem(caic);

            chart.PlotArea.YAxis.MinValue = 0;
            //chart.PlotArea.YAxis.Step = (maxval - (minval - 5)) / 2;
            chart.PlotArea.YAxis.Step = 5;
            chart.PlotArea.YAxis.AutoScale = true;
            //chart.PlotArea.YAxis.MaxValue = maxval == 100 ? maxval : maxval + 5;
            //chart.PlotArea.YAxis.a = maxval == 100 ? maxval : maxval + 5;

            chart.Series.Add(nSeries);
            chart.Series.Add(nSeries2);

            chart.ChartTitle.Visible = false;

            chart.SetSkin("SuspensionRate");
        }
        private void iniChart(AriClinicContext ctx1)
        {
            ctx1 = new AriClinicContext("AriClinicContext");
            IList<Professional> prof = CntAriCli.GetProfessionalTickets(fromDate, toDate, ctx1);
            chart1.PlotArea.XAxis.AutoScale = true;
            chart1.PlotArea.XAxis.Items.Clear();
            chart1.AutoLayout = true;
            chart1.ChartTitle.TextBlock.Visible=false;//.Text = "Servicios por profesional.";
            chart1.PlotArea.Appearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid;
            chart1.PlotArea.Appearance.FillStyle.MainColor = Color.Transparent;
            ChartSeries chartSeries1 = new ChartSeries();
            chartSeries1.Type = ChartSeriesType.Pie;
            chartSeries1.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.ItemLabels;

            foreach (Professional item in prof)
            {
                ChartSeriesItem serieItem = new ChartSeriesItem();
                serieItem.YValue = (from tic in item.Tickets
                                    where tic.TicketDate >= fromDate && tic.TicketDate <= toDate
                                    select tic).ToList<Ticket>().Count();
                serieItem.Name = item.FullName;
                serieItem.Label.TextBlock.Text = item.Tickets.Count.ToString();
                serieItem.Appearance.Exploded = true;
                chartSeries1.Items.Add(serieItem);
            }

            chart1.Series.Clear();
            chart1.Series.AddRange(new Telerik.Reporting.Charting.ChartSeries[] { chartSeries1 });  
        }
Exemple #3
0
        private void iniChart(AriClinicContext ctx1)
        {
            ctx1 = new AriClinicContext("AriClinicContext");
            IList<Professional> prof = CntAriCli.GetSurgeonTickets(fromDate, toDate, ctx1);
            chart1.PlotArea.XAxis.AutoScale = true;
            chart1.PlotArea.XAxis.Items.Clear();
            chart1.AutoLayout = true;
            chart1.ChartTitle.TextBlock.Visible=false;//.Text = "Servicios por profesional.";
            chart1.PlotArea.Appearance.FillStyle.FillType = Telerik.Reporting.Charting.Styles.FillType.Solid;
            chart1.PlotArea.Appearance.FillStyle.MainColor = Color.Transparent;
            ChartSeries chartSeries1 = new ChartSeries();
            chartSeries1.Type = ChartSeriesType.Pie;
            chartSeries1.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.ItemLabels;

            foreach (Professional item in prof)
            {
                ChartSeriesItem serieItem = new ChartSeriesItem();
                int num = CntAriCli.GetTicketsByCirujano(fromDate, toDate, item.PersonId.ToString(), ctx1).Count;
                if (num > 0)
                {
                    serieItem.YValue = num;
                    serieItem.Name = item.FullName;
                    serieItem.Label.TextBlock.Text = num.ToString();
                    serieItem.Appearance.Exploded = true;
                    chartSeries1.Items.Add(serieItem);
                }
            }

            chart1.Series.Clear();
            chart1.Series.AddRange(new Telerik.Reporting.Charting.ChartSeries[] { chartSeries1 });  
        }
 protected override Image DoCreateChartImage()
 {
     var radChart = new RadChart {Width = Parameters.ChartWidth, Height = Parameters.ChartHeight};
     var tmpSeries = new ChartSeries() { Type = ChartSeriesType.Line };
     foreach (var point in Parameters.SeriaData)
         tmpSeries.Items.Add(new ChartSeriesItem(point.Key, point.Value));
     radChart.AddChartSeries(tmpSeries);
     return radChart.GetBitmap();
 }
 public void Assign(ChartSeries[] items, int firstFrame, int firstSelectableFrame)
 {
   this.charts = items;
   this.firstFrame = firstFrame;
   this.firstSelectableFrame = firstSelectableFrame;
   if (this.chartOrder != null && this.chartOrder.Length == items.Length)
     return;
   this.chartOrder = new int[items.Length];
   for (int index = 0; index < this.chartOrder.Length; ++index)
     this.chartOrder[index] = this.chartOrder.Length - 1 - index;
 }
 public void Generate(BudgetDTO[] budget, Int32 money)
 {
     Chart = new ChartType() { Type = "areaspline" };
     Title = new Title() { Text = "Budget report" };
     Subtitle = new Title() { Text = "Current session" };
     XAxis = new XAxis() { Categories = budget.Select(x => x.Name).ToArray() };
     YAxis = new YAxis() { Title = new Title() { Text = "Budget" } };
     Tooltip = new Tooltip() { Shared = true, ValueSuffix = " money" };
     Series = new ChartSeries[] {
         new ChartSeries() { Name = "Current", Data = budget.Select(x => (Int32)(x.Value)).ToArray() }
     };
 }
    private void BuildInscriptionDayChart()
    {
        radChartInscriptionDay.ChartTitle.TextBlock.Text = ResourceManager.GetString("lblEvolutionByDay");
        radChartInscriptionDay.Chart.Series.Clear();

        radChartInscriptionDay.PlotArea.Appearance.Dimensions.Margins.Left = 80;
        radChartInscriptionDay.PlotArea.Appearance.Dimensions.Margins.Right = 80;
        radChartInscriptionDay.PlotArea.Appearance.Dimensions.Margins.Top = 60;
        radChartInscriptionDay.PlotArea.Appearance.Dimensions.Margins.Bottom = 60;
        radChartInscriptionDay.PlotArea.YAxis.AxisLabel.TextBlock.Text = ResourceManager.GetString("lblStatisticsNbrOfCandidates");
        radChartInscriptionDay.PlotArea.YAxis.AxisLabel.TextBlock.Appearance.TextProperties.Font = new Font("Arial", 12, FontStyle.Bold);
        radChartInscriptionDay.PlotArea.YAxis.AxisLabel.Visible = true;
        radChartInscriptionDay.PlotArea.YAxis.VisibleValues = ChartAxisVisibleValues.Positive;

        radChartInscriptionDay.PlotArea.XAxis.AxisLabel.TextBlock.Text = ResourceManager.GetString("dayText");
        radChartInscriptionDay.PlotArea.XAxis.AxisLabel.TextBlock.Appearance.TextProperties.Font = new Font("Arial", 12, FontStyle.Bold);
        radChartInscriptionDay.PlotArea.XAxis.AxisLabel.Visible = true;

        radChartInscriptionDay.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Font = new Font("Arial", 10);
        radChartInscriptionDay.PlotArea.XAxis.AutoScale = false;
        radChartInscriptionDay.PlotArea.XAxis.LayoutMode = ChartAxisLayoutMode.Between;

        ChartSeries daySeries = new ChartSeries("Day", ChartSeriesType.Bar);
        daySeries.Appearance.FillStyle.MainColor = Color.LightBlue;
        daySeries.Appearance.FillStyle.FillType = FillType.Solid;
        daySeries.Appearance.TextAppearance.Visible = true;
        radChartInscriptionDay.AddChartSeries(daySeries);

        radChartInscriptionDay.PlotArea.XAxis.AddItem("D - 4");
        radChartInscriptionDay.PlotArea.XAxis.AddItem("D - 3");
        radChartInscriptionDay.PlotArea.XAxis.AddItem("D - 2");
        radChartInscriptionDay.PlotArea.XAxis.AddItem("D - 1");
        radChartInscriptionDay.PlotArea.XAxis.AddItem("Today");

        DateTime currentDay = DateTime.Today;
        //currentDay = currentDay.AddYears(-3);
        int day4No = NeosDAO.GetNumberOfCandiatesInscription(
            currentDay.AddDays(-4), currentDay.AddDays(-3).AddSeconds(-1));
        int day3No = NeosDAO.GetNumberOfCandiatesInscription(
            currentDay.AddDays(-3), currentDay.AddDays(-2).AddSeconds(-1));
        int day2No = NeosDAO.GetNumberOfCandiatesInscription(
            currentDay.AddDays(-2), currentDay.AddDays(-1).AddSeconds(-1));
        int day1No = NeosDAO.GetNumberOfCandiatesInscription(
            currentDay.AddDays(-1), currentDay.AddSeconds(-1));
        int dayNo = NeosDAO.GetNumberOfCandiatesInscription(
            currentDay, DateTime.Now);

        daySeries.AddItem(day4No);
        daySeries.AddItem(day3No);
        daySeries.AddItem(day2No);
        daySeries.AddItem(day1No);
        daySeries.AddItem(dayNo);
    }
    private void BuildCandidateLocationChart()
    {
        radChartCandidateLocation.ChartTitle.TextBlock.Text = ResourceManager.GetString("hypCandidateLocation");
        radChartCandidateLocation.Chart.Series.Clear();

        radChartCandidateLocation.PlotArea.Appearance.Dimensions.Margins.Left = 80;
        radChartCandidateLocation.PlotArea.Appearance.Dimensions.Margins.Right = 100;
        radChartCandidateLocation.PlotArea.Appearance.Dimensions.Margins.Top = 60;
        radChartCandidateLocation.PlotArea.Appearance.Dimensions.Margins.Bottom = 200;
        radChartCandidateLocation.PlotArea.YAxis.AxisLabel.TextBlock.Text = ResourceManager.GetString("lblStatisticsNbrOfCandidates");
        radChartCandidateLocation.PlotArea.YAxis.AxisLabel.TextBlock.Appearance.TextProperties.Font = new Font("Arial", 12, FontStyle.Bold);
        radChartCandidateLocation.PlotArea.YAxis.AxisLabel.Visible = true;
        radChartCandidateLocation.PlotArea.YAxis.VisibleValues = ChartAxisVisibleValues.Positive;

        radChartCandidateLocation.PlotArea.XAxis.AxisLabel.TextBlock.Text = ResourceManager.GetString("lblStatisticsLocation");
        radChartCandidateLocation.PlotArea.XAxis.AxisLabel.TextBlock.Appearance.TextProperties.Font = new Font("Arial", 12, FontStyle.Bold);
        radChartCandidateLocation.PlotArea.XAxis.AxisLabel.Visible = true;

        radChartCandidateLocation.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Font = new Font("Arial", 10);
        radChartCandidateLocation.PlotArea.XAxis.AutoScale = false;
        radChartCandidateLocation.PlotArea.XAxis.LayoutMode = ChartAxisLayoutMode.Between;

        radChartCandidateLocation.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 90;
        radChartCandidateLocation.PlotArea.XAxis.Appearance.LabelAppearance.Position.AlignedPosition = AlignedPositions.Top;
        radChartCandidateLocation.PlotArea.XAxis.Appearance.LabelAppearance.Position.Auto = false;
        radChartCandidateLocation.PlotArea.XAxis.Appearance.LabelAppearance.Position.X = 0;
        radChartCandidateLocation.PlotArea.XAxis.Appearance.LabelAppearance.Position.Y = 0;
        ChartSeries locationSeries = new ChartSeries("Location", ChartSeriesType.Bar);
        locationSeries.Appearance.FillStyle.MainColor = Color.LightSteelBlue;
        locationSeries.Appearance.FillStyle.FillType = FillType.Solid;
        locationSeries.Appearance.TextAppearance.Visible = true;
        radChartCandidateLocation.AddChartSeries(locationSeries);

        IList<ParamLocations> locationList = new ParamLocationsRepository().GetAllLocations();
        foreach (ParamLocations location in locationList)
        {
            radChartCandidateLocation.PlotArea.XAxis.AddItem(location.Location.Trim());
            int number = NeosDAO.GetNumberOfCandiateByLocation(location.Location.Trim(),
                location.LocationUk.Trim(), location.LocationNL.Trim());
            locationSeries.AddItem(number);
        }
    }
Exemple #9
0
        private void BindReportGrid()
        {
            DataTable reportData = ReportProvider.GetReportByAccounts(SessionManager.CurrentUser.Id);

            DataTable xAxisItems = DataTableUtility.SelectDistinct(reportData, "Date");
            rcReport.XAxis.Clear();
            foreach (DataRow row in xAxisItems.Rows)
            {
                DateTime date = (DateTime) row["Date"];
                rcReport.XAxis.AddItem(date.ToString("MM/dd/yyyy"));
            }

            DataTable accounts = DataTableUtility.SelectDistinct(reportData, "AccountId");
            foreach (DataRow accountRow in accounts.Rows)
            {
                int accountId = (int) accountRow["AccountId"];
                Account account = AccountProvider.Get<Account>(accountId);

                ChartSeries series = new ChartSeries(account.Name, _currentColor, ChartSeriesType.Line);
                series.PointMark = ChartPointMark.None;
                series.ShowLabels = false;

                DataTable dates = DataTableUtility.SelectDistinct(reportData, "Date");
                foreach (DataRow dateRow in dates.Rows)
                {
                    DateTime date = (DateTime) dateRow["Date"];
                    double balance = 0;
                    string expression = string.Format("AccountId='{0}' and Date='{1}'", accountId, date);
                    DataRow[] founded = reportData.Select(expression);
                    if (founded.Length > 0)
                    {
                        balance = Convert.ToDouble(founded[0]["Balance"]);
                    }
                    series.AddItem(balance);
                }

                rcReport.AddChartSeries(series);
                SetNextColor();
            }
        }
Exemple #10
0
		private void Draw()
		{
			try
			{
				chartControl1.Series.Clear();

				ChartSeries seriesFail = new ChartSeries("Fail", ChartSeriesType.StackingColumn);
				ChartSeries seriesSuccess = new ChartSeries("Success", ChartSeriesType.StackingColumn);
				foreach (DataRow dr in dsHistory.Tables[0].Rows)
				{
					if (dr["Name"].ToString().Equals(cboTypes.Text))
					{
						seriesSuccess.Points.Add(Convert.ToDateTime(dr["Date"]), Convert.ToDouble(dr["TotalSuccess"]));
						seriesFail.Points.Add(Convert.ToDateTime(dr["Date"]), Convert.ToDouble(dr["TotalFail"]));
					}
				}
				chartControl1.Series.Add(seriesFail);
				chartControl1.Series.Add(seriesSuccess);

				chartControl1.PrimaryXAxis.RangeType = ChartAxisRangeType.Auto;
				chartControl1.PrimaryYAxis.RangeType = ChartAxisRangeType.Auto;

				chartControl1.PrimaryXAxis.AutoSize = true;
				chartControl1.PrimaryYAxis.AutoSize = true;
				
				chartControl1.PrimaryXAxis.Font = new Font("Arial", 9F, System.Drawing.FontStyle.Regular);
				chartControl1.PrimaryYAxis.Font = new Font("Arial", 9F, System.Drawing.FontStyle.Regular);
				
				chartControl1.PrimaryXAxis.TickLabelsDrawingMode = ChartAxisTickLabelDrawingMode.BothUserAndAutomaticMode;
				chartControl1.PrimaryXAxis.DateTimeFormat = "MM/dd/yyyy";
				chartControl1.PrimaryXAxis.LabelRotate = true;
				chartControl1.PrimaryXAxis.LabelRotateAngle = 45;
			}
			catch (Exception ex)
			{
				Console.Write(ex);
			}
		}
        private void cbQuestao_SelectedIndexChanged(object sender, EventArgs e)
        {
            GraficoController gc = new GraficoController();
            ChartSeries cs = new ChartSeries();
            GraficoModel gm = new GraficoModel();
            int questao, max;
            chartQuest.Series.Clear();
            chartQuest.Text = cbQuestao.Text;
            questao = cbQuestao.SelectedIndex + 1;

            max = gm.tamanhoAlternativas(questao);
            limiteAxisX(max);
            cs = gc.gerarGrafico(questao);
            cs.Type = ChartSeriesType.Column;

            chartQuest.Legend.Visible = false;
            this.chartQuest.Series.Add(cs);
            this.chartQuest.PrimaryXAxis.RangeType = Syncfusion.Windows.Forms.Chart.ChartAxisRangeType.Set;
            this.chartQuest.PrimaryXAxis.Range.Interval = 1;

            Estilo();
            chartQuest.ChartFormatAxisLabel += new ChartFormatAxisLabelEventHandler(chartQuest_ChartFormatAxisLabel);
        }
Exemple #12
0
 protected void BindChartDataSource()
 {
     List<Calced> source;
     if (CurrentRights.Contains(HomoryCoreConstant.RightGlobal))
     {
         source = HomoryContext.Value.ViewQueryTaught.GroupBy(o => o.课程名称).Select(o => new Calced { Name = o.Key, Num = o.Count() }).ToList();
     }
     else
     {
         var campus = CurrentCampus.Name;
         source = HomoryContext.Value.ViewQueryTaught.Where(o => o.学校 == campus).GroupBy(o => o.课程名称).Select(o => new Calced { Name = o.Key, Num = o.Count() }).ToList();
     }
     c.Series.Clear();
     var cs = new ChartSeries { DataLabelsColumn = "Name", DataYColumn = "Num", Type = ChartSeriesType.Pie };
     cs.Appearance.ShowLabelConnectors = true;
     c.Series.Add(cs);
     c.Series[0].Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.ItemLabels;
     c.DataSource = source;
     c.DataBind();
     foreach (var p in c.Series[0].Items)
     {
         p.Label.TextBlock.Text = string.Format("{0} ({1})", p.Label.TextBlock.Text , p.YValue.ToString());
     }
 }
        private void rptChartInboxMonthly_NeedDataSource(object sender, EventArgs e)
        {
            //Get Month and Year of all surat masuk
            //SuratkeluarQuery skq = new SuratkeluarQuery();
            //skq.Select(skq.Tanggal);
            //skq.es.Distinct = true;
            SuratkeluarQuery skQ = new SuratkeluarQuery("a");
            NomorQuery nQ = new NomorQuery("b");
            skQ.Select(nQ.Keterangan,skQ.Nomorid, skQ.Nomor.Count().As("jumlahsurat"));
            skQ.InnerJoin(nQ).On(skQ.Nomorid == nQ.Format);
            skQ.GroupBy(skQ.Nomorid);
            SuratkeluarCollection skC = new SuratkeluarCollection();
            skC.Load(skQ);
            if (skC.Count > 0)
            {
                foreach (Suratkeluar sk in skC)
                {
                    try
                    {
                        string jumlahSurat = sk.GetColumn("jumlahsurat").ToString();
                        //string Keterangan = sk.GetColumn(NomorMetadata.ColumnNames.Keterangan).ToString();
                        double JumlahSurat = 0;
                        if (!double.TryParse(jumlahSurat, out JumlahSurat))
                            JumlahSurat = 0;

                        ChartSeries cs = new ChartSeries();
                        cs.Name = "Surat Keluar";
                        cs.Type = ChartSeriesType.Bar;
                        cs.AddItem(JumlahSurat, sk.Nomorid);
                        this.chartSuratMasuk.Series.Add(cs);
                    }
                    catch (Exception ex)
                    { Ext.Net.X.Msg.Alert("error",ex.Message).Show(); }
                }
            }
        }
        private static bool HasDataPointsInPlotRange(ChartSeries series)
        {
            IList<DataPoint> dataPoints = GetDataPoints(series);

            foreach (DataPoint dp in dataPoints)
            {
                if (dp.IsInPlotRange)
                {
                    return true;
                }
            }

            return false;
        }
 private static void DispatchRunSeriesAnimations(ChartSeries series)
 {
     series.Dispatcher.BeginInvoke((Action)(() => TryRunSeriesAnimation(series)));
 }
Exemple #16
0
        public void InitialiseData()
        {
            chartControl1.Series.Clear();

            Random      random  = new Random();
            ChartSeries series1 = new ChartSeries();

            series1.Name = "Year 2006";
            series1.Text = series1.Name;
            series1.Points.Add(0, 20);
            series1.Points.Add(2, 18);
            series1.Points.Add(3, 21);
            series1.Points.Add(4, 23);
            series1.Points.Add(5, 18);
            SeriesSettings(series1);
            this.chartControl1.Series.Add(series1);

            ChartSeries series2 = new ChartSeries();

            series2.Name = "Year 2007";
            series2.Text = series2.Name;
            series2.Points.Add(0, 12);
            series2.Points.Add(2, 21);
            series2.Points.Add(3, 18);
            series2.Points.Add(4, 25);
            series2.Points.Add(5, 24);
            SeriesSettings(series2);
            this.chartControl1.Series.Add(series2);

            ChartSeries series3 = new ChartSeries();

            series3.Name = "Year 2008";
            series3.Text = series3.Name;
            series3.Points.Add(0, 18);
            series3.Points.Add(2, 12);
            series3.Points.Add(3, 18);
            series3.Points.Add(4, 21);
            series3.Points.Add(5, 31);
            SeriesSettings(series3);
            this.chartControl1.Series.Add(series3);

            //Enable MultiplePies property to enable this feature.
            chartControl1.ChartArea.MultiplePies = true;
            this.chartControl1.ShowLegend        = true;

            series1.Type = ChartSeriesType.Pie;
            series2.Type = ChartSeriesType.Pie;
            series3.Type = ChartSeriesType.Pie;

            //Each series must have DoughnutCoEfficient value [except the most inner series example: series1], to get the complete functionality of this feature.
            series2.ConfigItems.PieItem.DoughnutCoeficient = 0.7f;
            series3.ConfigItems.PieItem.DoughnutCoeficient = 0.8f;

            series3.ConfigItems.PieItem.AngleOffset = 130f;
            series2.ConfigItems.PieItem.AngleOffset = 130f;
            series1.ConfigItems.PieItem.AngleOffset = 130f;

            ChartLegend chartLegend = new ChartLegend();

            chartLegend.Name = "Legend 1";
            string[] label = new string[] { "Engineering-13.33%", "Medical Sciences-16.67%", "BioTechnology-30%", "Information Services-23%", "Economics -27%" };
            List <ChartLegendItem> items = new List <ChartLegendItem>();

            for (int i = 0; i < 5; i++)
            {
                ChartLegendItem legendItem = new ChartLegendItem(label[i]);
                legendItem.Font = new Font("Segoe UI", 9, FontStyle.Regular);
                legendItem.RepresentationSize = new Size(16, 16);
                items.Add(legendItem);
            }

            chartControl1.Legend.RepresentationType = ChartLegendRepresentationType.SeriesType;
            chartControl1.Legend.CustomItems        = items.ToArray();
            chartControl1.Legend.RowsCount          = 5;
            this.chartControl1.LegendAlignment      = ChartAlignment.Center;
            this.chartControl1.SmoothingMode        = SmoothingMode.AntiAlias;
            this.chartControl1.Legend.DrawItemText += new LegendDrawItemTextEventHandler(Legend_DrawItemText);

            if (ckBxEnable3D.Checked)
            {
                this.lblPieHeight.Visible     = true;
                this.nUpDownPieHeight.Visible = true;
            }
            else
            {
                this.lblPieHeight.Visible     = false;
                this.nUpDownPieHeight.Visible = false;
            }
        }
Exemple #17
0
 private void updateRssiChart()
 {
     if (this.chartRssi != null)
     {
         ChartSeries[] seriesArray = new ChartSeries[this._maxLineCount];
         for (int i = 0; i < this._maxLineCount; i++)
         {
             int num4 = i + 1;
             seriesArray[i] = new ChartSeries(this._linePrefix + num4.ToString(), ChartSeriesType.Line);
             seriesArray[i].Style.GdipPen.Width = 1f;
             seriesArray[i].Style.GdipPen.Color = Color.DarkBlue;
         }
         this.chartRssi.Series.Clear();
         for (int j = 0; j < this._maxLineCount; j++)
         {
             for (int k = 0; k < this._rssiLines[j].Count; k++)
             {
                 seriesArray[j].Points.Add((double) k, this._rssiLines[j][k]);
             }
             this.chartRssi.Series.Add(seriesArray[j]);
         }
     }
 }
Exemple #18
0
        private void ChartControlData()
        {
            this.chartControl1.Series.Clear();
            this.chartControl1.Dock = DockStyle.Fill;
            ChartAxis axis  = this.chartControl1.PrimaryYAxis;
            ChartAxis axis0 = new ChartAxis(ChartOrientation.Vertical);
            ChartAxis axis1 = new ChartAxis(ChartOrientation.Vertical);
            ChartAxis axis2 = new ChartAxis(ChartOrientation.Vertical);
            ChartAxis axis3 = new ChartAxis(ChartOrientation.Vertical);
            ChartAxis axis4 = new ChartAxis(ChartOrientation.Vertical);

            ChartAxisLayout layout1 = new ChartAxisLayout();
            ChartAxisLayout layout2 = new ChartAxisLayout();

            chartControl1.Axes.Add(axis0);
            chartControl1.Axes.Add(axis1);
            chartControl1.Axes.Add(axis2);
            chartControl1.Axes.Add(axis3);
            chartControl1.Axes.Add(axis4);

            layout1.Spacing = 12;
            layout2.Spacing = 12;
            layout2.Axes.Add(axis);
            layout2.Axes.Add(axis0);
            layout2.Axes.Add(axis1);
            layout1.Axes.Add(axis2);
            layout1.Axes.Add(axis3);
            layout1.Axes.Add(axis4);
            chartControl1.ChartArea.YLayouts.Add(layout1);
            chartControl1.ChartArea.YLayouts.Add(layout2);

            ChartSeries population = new ChartSeries("Population", ChartSeriesType.Column);

            population.Points.Add(0, 1.3);
            population.Points.Add(1, 1);
            population.Points.Add(2, 0.5);
            population.Points.Add(3, 0.3);

            ChartSeries Growth = new ChartSeries("Growth[%]", ChartSeriesType.Column);

            Growth.Points.Add(0, 0.7);
            Growth.Points.Add(1, 1.6);
            Growth.Points.Add(2, 0.7);
            Growth.Points.Add(3, 0.4);

            ChartSeries Birthrate = new ChartSeries("BirthRate", ChartSeriesType.Column);

            Birthrate.Points.Add(0, 15);
            Birthrate.Points.Add(1, 27);
            Birthrate.Points.Add(2, 17);
            Birthrate.Points.Add(3, 24);

            population.YAxis = axis;
            Growth.YAxis     = axis0;
            Birthrate.YAxis  = axis1;
            axis.Title       = "Population (Million)";
            axis.TitleFont   = new Font("Segeo UI", 12F);
            axis0.Title      = "Growth [%]";
            axis0.TitleFont  = new Font("Segeo UI", 12F);
            axis1.Title      = "Birthrate";
            axis1.TitleFont  = new Font("Segeo UI", 12F);
            ChartSeries GDP = new ChartSeries("GDP in 2000 ", ChartSeriesType.Line);

            GDP.Points.Add(0, 10);
            GDP.Points.Add(1, 5);
            GDP.Points.Add(2, 85);
            GDP.Points.Add(3, 5);
            GDP.Style.Interior     = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(0xFF, 0xA2, 0xC1, 0x39));
            GDP.Style.Border.Width = 2;

            ChartSeries Lifeexpect = new ChartSeries("Life Expect", ChartSeriesType.Spline);

            Lifeexpect.Points.Add(0, 70);
            Lifeexpect.Points.Add(1, 65);
            Lifeexpect.Points.Add(2, 85);
            Lifeexpect.Points.Add(3, 65);
            Lifeexpect.Style.Interior     = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(0xFF, 0xA0, 0x50, 0x00));
            Lifeexpect.Style.Border.Width = 2;

            ChartSeries Literacy = new ChartSeries("Literacy", ChartSeriesType.SplineArea);

            Literacy.Points.Add(0, 85);
            Literacy.Points.Add(1, 55);
            Literacy.Points.Add(2, 35);
            Literacy.Points.Add(3, 95);
            Literacy.Style.Border.Color = Color.Transparent;
            Literacy.Style.Interior     = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(0xFF, 0xE6, 0x71, 0xB8));

            this.chartControl1.Title.Visible = false;

            ChartAxis Xaxis = new ChartAxis();

            Xaxis.Orientation        = ChartOrientation.Horizontal;
            Xaxis.OpposedPosition    = true;
            Xaxis.Range              = new MinMaxInfo(-1, 4, 1);
            Xaxis.DrawGrid           = false;
            Xaxis.LineType.Width     = 1F;
            Xaxis.LineType.ForeColor = Color.Black;
            this.chartControl1.Axes.Add(Xaxis);

            GDP.YAxis        = axis2;
            GDP.XAxis        = Xaxis;
            Lifeexpect.YAxis = axis3;
            Lifeexpect.XAxis = Xaxis;
            Literacy.YAxis   = axis4;
            Literacy.XAxis   = Xaxis;
            axis2.Title      = "GDP pc in 1000";
            axis2.TitleFont  = new Font("Segeo UI", 12F);
            axis3.Title      = "Lifeexpect";
            axis3.TitleFont  = new Font("Segeo UI", 12F);
            axis4.Title      = "Literacy";
            axis4.TitleFont  = new Font("Segeo UI", 12F);

            this.chartControl1.Series.Add(population);
            this.chartControl1.Series.Add(Growth);
            this.chartControl1.Series.Add(Birthrate);
            this.chartControl1.Series.Add(GDP);
            this.chartControl1.Series.Add(Lifeexpect);
            this.chartControl1.Series.Add(Literacy);
            this.chartControl1.Skins = Skins.Metro;

            axis1.OpposedPosition       = true;
            axis1.DrawGrid              = false;
            axis.EdgeLabelsDrawingMode  = ChartAxisEdgeLabelsDrawingMode.Shift;
            axis0.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift;
            axis1.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift;
            axis2.OpposedPosition       = true;
            axis0.DrawGrid              = true;
            axis.DrawGrid  = false;
            axis2.DrawGrid = false;
            axis2.DrawGrid = true;
            axis3.DrawGrid = false;
            axis4.DrawGrid = false;
            axis2.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift;
            axis3.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift;
            axis4.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift;
        }
Exemple #19
0
        protected void CreateParetoChart()
        {
            this.chartControl.Title.Text = "Pareto Chart";
            this.chartControl.Series.Clear();

            ChartSeries series1 = new ChartSeries("Defects");

            series1.Type = ChartSeriesType.Column;
            series1.Points.Add(1, 120);
            series1.Points.Add(2, 60);
            series1.Points.Add(3, 50);
            series1.Points.Add(4, 40);
            series1.Points.Add(5, 20);
            series1.Points.Add(6, 10);
            //series1.Style.Interior = new BrushInfo(Color.FromArgb(200, 140, 198, 62));
            //series1.Style.Border.Color = Color.Transparent;
            this.chartControl.Series.Add(series1);
            this.chartControl.PrimaryXAxis.FormatLabel      += new ChartFormatAxisLabelEventHandler(PrimaryXAxis_FormatLabel);
            this.chartControl.PrimaryXAxis.HidePartialLabels = true;
            this.chartControl.PrimaryXAxis.Title             = "Defects";
            this.chartControl.Skins = Skins.Metro;

            ChartSeries ser = new ChartSeries("Frequency", ChartSeriesType.Line);

            ser.Style.Border.Width = 3;
            //ser.Style.Interior = new BrushInfo(Color.FromArgb(0xFF, 0x1B, 0xA1, 0xE2));
            ser.Points.Add(0, 0);

            double val = 0;

            // To get the Total of all points.
            for (int j = 0; j < this.chartControl.Series[0].Points.Count; j++)
            {
                val += this.chartControl.Series[0].Points[j].YValues[0];
            }

            int i = 0;

            // To get the cumulative points [ Y Values ] for line series.
            for (; i < this.chartControl.Series[0].Points.Count; i++)
            {
                double val1 = 0;
                for (int k = 0; k <= i; k++)
                {
                    val1 += this.chartControl.Series[0].Points[k].YValues[0];
                }

                ser.Points.Add(i + 1, (val1 / val) * 100); // calculates percentage of cumulative values
            }

            this.chartControl.PrimaryYAxis.Range.Max = val;
            this.chartControl.PrimaryYAxis.Title     = "Frequency";

            ser.Style.Symbol.Shape = ChartSymbolShape.Diamond;
            ser.Style.Symbol.Color = Color.Yellow;
            ser.Style.Symbol.Size  = new Size(7, 7);
            this.chartControl.Series.Add(ser);
            this.chartControl.PrimaryYAxis.Range.Max = val;

            secYAxis.DrawGrid          = false;
            secYAxis.HidePartialLabels = false;

            secYAxis.OpposedPosition = true;
            secYAxis.Title           = "Cumulative Frequency";
            secYAxis.ForeColor       = Color.Black;
            secYAxis.TitleFont       = new Font("Segoe UI", 13F, FontStyle.Regular);
            secYAxis.ValueType       = ChartValueType.Double;
            secYAxis.Orientation     = ChartOrientation.Vertical;
            secYAxis.TickSize        = new Size(5, 1);

            this.chartControl.Series[1].YAxis           = secYAxis;
            this.chartControl.ChartArea.YAxesLayoutMode = ChartAxesLayoutMode.Stacking;
            this.chartControl.Axes.Add(secYAxis);

            // Set ranges
            secYAxis.Range = new MinMaxInfo(0, 100, 20);
            this.chartControl.PrimaryXAxis.Range     = new MinMaxInfo(0, 7, 1);
            this.chartControl.PrimaryYAxis.Range.Min = 0;
            secYAxis.FormatLabel += new ChartFormatAxisLabelEventHandler(secYAxis_FormatLabel);
        }
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            var           Collection   = new ObservableCollection <ChartItem>();
            string        Title        = "";
            string        SubTitle     = "";
            List <double> listContents = new List <double>();
            List <string> names        = new List <string>();
            int           chartType    = 0;


            //get GH input data
            DA.GetDataList <double>("Data", listContents);
            DA.GetDataList <string>("Names", names);
            bool hasTitle    = DA.GetData <string>("Title", ref Title);
            bool hasSubTitle = DA.GetData <string>("SubTitle", ref SubTitle);

            DA.GetData <int>("Chart Type", ref chartType);
            ChartBase ChartElem = null;

            switch (chartType)
            {
            case 0:
                var pieElem = new PieChart();
                ChartElem = pieElem;
                break;

            case 1:
                var barElem = new ClusteredBarChart();
                ChartElem = barElem;
                break;

            case 2:
                var columnElem = new ClusteredColumnChart();
                ChartElem = columnElem;
                break;

            case 3:
                var doughnutElem = new DoughnutChart();
                ChartElem = doughnutElem;
                break;

            case 4:
                var gaugeElem = new RadialGaugeChart();
                ChartElem = gaugeElem;

                break;

            default:
                var defaultElem = new PieChart();
                ChartElem = defaultElem;
                break;
            }
            //Create the chart and give it a name

            ChartElem.ChartTitle           = Title;
            ChartElem.ChartTitleVisibility = hasTitle ? Visibility.Visible : Visibility.Collapsed;
            ChartElem.ChartSubTitle        = SubTitle;



            //package the data into a custom chart model and series
            SeriesModel vm = new SeriesModel(names.ToList(), listContents.ToList());

            ChartElem.DataContext = vm;


            ChartSeries series = new ChartSeries();

            series.SeriesTitle   = " ";
            series.DisplayMember = "Category";
            series.ValueMember   = "Number";

            //set up the data binding for the series - this is useful so it can be reset later without redrawing the whole Chart
            Binding seriesBinding = new Binding();

            seriesBinding.Source = vm;
            seriesBinding.Path   = new PropertyPath("Chart");
            BindingOperations.SetBinding(series, ChartSeries.ItemsSourceProperty, seriesBinding);



            // series.ItemsSource = vm.Chart;

            //Pass data to the chart
            ChartElem.Series.Add(series);
            ChartElem.ToolTipFormat = "{}Caption: {0}, Value: '{1}', Series: '{2}', Percentage: {3:P2}";


            ChartElem.MinWidth  = 10;
            ChartElem.MinHeight = 10;

            DA.SetData("Chart", new UIElement_Goo(ChartElem, "Chart Elem", InstanceGuid, DA.Iteration));
        }
        protected void LoadPieChart()
        {
            teacherCountChart.DataSource = _countData;
            teacherCountChart.DataBind();

            // Handle Legend Labels
            teacherCountChart.Series.Clear();
            var nSeries = new ChartSeries();

            teacherCountChart.PlotArea.Appearance.FillStyle.MainColor = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
            teacherCountChart.PlotArea.Appearance.FillStyle.FillType = FillType.Solid;
            teacherCountChart.PlotArea.Appearance.Border.Color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");

            teacherCountChart.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Arial", 8);
            teacherCountChart.PlotArea.YAxis.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Arial", 8);

            nSeries.Appearance.TextAppearance.TextProperties.Color = System.Drawing.Color.Black;
            nSeries.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Arial", 8);     

           

            nSeries.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.ItemLabels;
            var count = 0;

            foreach (DataRow dr in _countData.Rows)
            {
                var value = DataIntegrity.ConvertToDouble(dr["TeacherCount"]);
                var myItem = new ChartSeriesItem(value) { Name = dr["Label"].ToString() };
                myItem.Appearance.FillStyle.MainColor = System.Drawing.ColorTranslator.FromHtml(StyleController.GetPieChartColor(dr["Label"].ToString(), count++));
                myItem.Appearance.FillStyle.FillType = Telerik.Charting.Styles.FillType.Solid;

                if (value <= 0) myItem.Label.Visible = false;
                nSeries.Type = ChartSeriesType.Pie;
                nSeries.AddItem(myItem);
            }

            teacherCountChart.Series.Add(nSeries);
        }
Exemple #22
0
        /// <summary>
        /// Initializes the ChartControl's data and sets the Chart type
        /// </summary>
        protected void InitializeChartData()
        {
            ChartSeries series1 = new ChartSeries();

            series1.Type = ChartSeriesType.StackingColumn;
            series1.Name = "Banana";
            series1.Text = "Banana";

            series1.Points.Add(1, 35);
            series1.Points.Add(2, 30);
            series1.Points.Add(3, 25);
            series1.Points.Add(4, 20);
            series1.Points.Add(5, 15);
            series1.Points.Add(6, 10);
            series1.Points.Add(7, 5);
            series1.Points.Add(8, 15);
            series1.Points.Add(9, 20);
            series1.Points.Add(10, 25);
            series1.Points.Add(11, 30);
            series1.Points.Add(12, 35);
            this.chartControl1.Series.Add(series1);
            ///////

            ChartSeries series2 = new ChartSeries();

            series2.Type = ChartSeriesType.StackingColumn;
            series2.Name = "Apple";
            series2.Text = "Apple";

            series2.Points.Add(1, 25);
            series2.Points.Add(2, 20);
            series2.Points.Add(3, 18);
            series2.Points.Add(4, 17);
            series2.Points.Add(5, 15);
            series2.Points.Add(6, 10);
            series2.Points.Add(7, 5);
            series2.Points.Add(8, 7);
            series2.Points.Add(9, 10);
            series2.Points.Add(10, 15);
            series2.Points.Add(11, 20);
            series2.Points.Add(12, 25);
            this.chartControl1.Series.Add(series2);


            ChartSeries series3 = new ChartSeries();

            series3.Type = ChartSeriesType.StackingColumn;
            series3.Name = "Orange";
            series3.Text = "Orange";
            series3.Points.Add(1, 40);
            series3.Points.Add(2, 35);
            series3.Points.Add(3, 30);
            series3.Points.Add(4, 25);
            series3.Points.Add(5, 20);
            series3.Points.Add(6, 15);
            series3.Points.Add(7, 10);
            series3.Points.Add(8, 15);
            series3.Points.Add(9, 20);
            series3.Points.Add(10, 25);
            series3.Points.Add(11, 30);
            series3.Points.Add(12, 35);
            this.chartControl1.Series.Add(series3);
        }
Exemple #23
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            LicenseManager.Key = License.Key;

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // get chart from view
            chart = FindViewById <FlexChart>(Resource.Id.flexchart);

            // set title/footer
            chart.Header             = "FlexChart Sales";
            chart.Footer             = "GrapeCity Xuni";
            chart.Legend.BorderWidth = 1;
            chart.Legend.BorderColor = System.Drawing.Color.Gray.ToArgb();

            // set palette
            chart.SetPalette(Palettes.Modern);

            // bind X axis to display category names
            chart.BindingX = "Date";

            // create series with binding
            ChartSeries sales     = new ChartSeries(chart, "Sales", "Sales"); // new Series(chart, legend name, binding property)
            ChartSeries expenses  = new ChartSeries(chart, "Expenses", "Expenses");
            ChartSeries downloads = new ChartSeries(chart, "Downloads", "Downloads");

            downloads.ChartType = ChartType.Line;
            chart.Series.Add(sales);
            chart.Series.Add(expenses);
            chart.Series.Add(downloads);

            // set data source
            chart.ItemsSource = SalesData.GetSalesDataList();

            // configure default axes
            chart.AxisX.LabelAngle = 45;
            chart.AxisX.Format     = "d";
            chart.AxisY.Format     = "c0";
            chart.AxisY.Title      = "Dollars";

            // add second Y axis
            ChartAxis y2 = new ChartAxis(chart, ChartPositionType.Right);

            y2.Name             = "y2";
            y2.Format           = "n0";
            y2.MajorGridVisible = false;
            y2.MinorGridVisible = false;
            y2.LabelsVisible    = true;
            y2.Title            = "Downloads";
            chart.Axes.Add(y2);

            downloads.AxisY = "y2";

            // customize tooltip
            chart.Tooltip.Content = new MyTooltip(chart, chart.Context);

            // customize plot element
            chart.PlotElementLoading += chart_PlotElementLoading;

            // configure animation
            chart.LoadAnimation.AnimationMode = AnimationMode.Point;
        }
        public static SeeSeriesOptions GetSeriesOptions(ChartSeries cSeries)
        {
            SeeSeriesOptions sOptions = null;

            switch (cSeries)
            {
                #region VSE
            case ChartSeries.Program_Checks:
                sOptions = new SeeSeriesOptions("VSE_Stats", cSeries.ToString(), "Program Checks", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Phase_Loads:
                sOptions = new SeeSeriesOptions("VSE_Stats", cSeries.ToString(), "Phase Loads", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Subchannel_Starts:
                sOptions = new SeeSeriesOptions("VSE_Stats", cSeries.ToString(), "Subchannel Starts", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Supervisor_Interrupts:
                sOptions = new SeeSeriesOptions("VSE_Stats", cSeries.ToString(), "SVC Interrupts", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.IO_Interrupts:
                sOptions = new SeeSeriesOptions("VSE_Stats", cSeries.ToString(), "IO Interrupts", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.External_Interrupts:
                sOptions = new SeeSeriesOptions("VSE_Stats", cSeries.ToString(), "EXT Interrupts", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Nof_Active_Tasks:
                sOptions = new SeeSeriesOptions("VSE_Summary", cSeries.ToString(), "VSE Tasks", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Nof_Allocated_Partitions:
                sOptions = new SeeSeriesOptions("VSE_Summary", cSeries.ToString(), "Allocated Partitions", Gallery.Lines, ChartScales.Count, false, 1);
                break;

                #endregion
                #region CPU
            case ChartSeries.Dispatch_Cycles:
                sOptions = new SeeSeriesOptions("CPU_Stats", cSeries.ToString(), "Dispatch Cycles", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.NonVSE_sec:
                sOptions = new SeeSeriesOptions("CPU_Stats", cSeries.ToString(), "Non-VSE", Gallery.Bar, ChartScales.Percent, true, 1);
                break;

            case ChartSeries.Spin_sec:
                sOptions = new SeeSeriesOptions("CPU_Stats", cSeries.ToString(), "Spinning", Gallery.Bar, ChartScales.Percent, true, 1);
                break;

            case ChartSeries.Waiting_sec:
                sOptions = new SeeSeriesOptions("CPU_Stats", cSeries.ToString(), "Waiting", Gallery.Bar, ChartScales.Percent, true, 1);
                break;

            case ChartSeries.Busy_P_sec:
                sOptions = new SeeSeriesOptions("CPU_Stats", cSeries.ToString(), "Busy-Para", Gallery.Bar, ChartScales.Percent, true, 1);
                break;

            case ChartSeries.Busy_NonP_sec:
                sOptions = new SeeSeriesOptions("CPU_Stats", cSeries.ToString(), "Busy-NonP", Gallery.Bar, ChartScales.Percent, true, 1);
                break;

                #endregion
                #region TCP/IP
            case ChartSeries.FTP_Clients:
                sOptions = new SeeSeriesOptions("TCPIP_Clients", cSeries.ToString(), "Int-FTP Clients", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Telnet_Clients:
                sOptions = new SeeSeriesOptions("TCPIP_Clients", cSeries.ToString(), "Telnet Clients", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.LPR_Clients:
                sOptions = new SeeSeriesOptions("TCPIP_Clients", cSeries.ToString(), "LPR Clients", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.HTTP_Clients:
                sOptions = new SeeSeriesOptions("TCPIP_Clients", cSeries.ToString(), "HTTP Clients", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.FTP_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "FTP Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Active_FTP_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Active FTP Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Max_FTP_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Max FTP Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Telnet_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Telnet Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Active_Telnet_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Active Telnet Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Max_Telnet_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Max Telnet Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Active_Telnet_Buffers:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Active Telnet Buffers", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Max_Telnet_Buffers:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "Max Telnet Buffers", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.LP_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "LP Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.HTTP_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "HTTP Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.SMTP_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "SMTP Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.POP3_Daemons:
                sOptions = new SeeSeriesOptions("TCPIP_Daemons", cSeries.ToString(), "POP3 Daemons", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Total_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Total Dispatches", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Active_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Active Dispatches", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Fixed_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Fixed Dispatches", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Quick_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Quick Dispatches", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Persistent_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Persistant Dispatches", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Complete_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Complete Dispatches", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Passed_Dispatches:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Passed Dispatches", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Total_Dispatcher_Time:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Dispatch Time(sec)", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Dispatcher_Waits:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Dispatcher Waits", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Storage_Releases:
                sOptions = new SeeSeriesOptions("TCPIP_Dispatcher", cSeries.ToString(), "Storage Releases", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.TCP_Checksum_Errors:
                sOptions = new SeeSeriesOptions("TCPIP_Errors", cSeries.ToString(), "TCP Checksum Errors", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.IP_Checksum_Errors:
                sOptions = new SeeSeriesOptions("TCPIP_Errors", cSeries.ToString(), "IP Checksum Errors", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.UDP_Checksum_Errors:
                sOptions = new SeeSeriesOptions("TCPIP_Errors", cSeries.ToString(), "UDP Checksum Errors", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.ICMP_Checksum_Errors:
                sOptions = new SeeSeriesOptions("TCPIP_Errors", cSeries.ToString(), "ICMP Checksum Errors", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Datagram_Length_Errors:
                sOptions = new SeeSeriesOptions("TCPIP_Errors", cSeries.ToString(), "Datagram Length Errors", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Non_IP:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Non-IP", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Miss_Routed_IP:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Miss-routed IP", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Discarded_UDP:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Discarded UDP", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Unsupported_ICMP:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Unsupported ICMP", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Unsupported_IGMP:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Unsupported IGMP", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Unsupported_Protocol:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Unsupported Protocol", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Connect_Rejections:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "Connect Rejections", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Inbound_TCP_Rejections:
                sOptions = new SeeSeriesOptions("TCPIP_Other", cSeries.ToString(), "TCP Rejections", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Nof_TCPIP_Connections:
                sOptions = new SeeSeriesOptions("TCPIP_Summary", cSeries.ToString(), "Active Connections", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Nof_TCPIP_PseudoTasks:
                sOptions = new SeeSeriesOptions("TCPIP_Summary", cSeries.ToString(), "Pseudo Tasks", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Int_FTP_Files_Sent:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Int-FTP Files Sent", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Int_FTP_Files_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Int-FTP Files Rcvd", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Int_FTP_Bytes_Sent:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Int-FTP Sent", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Int_FTP_Bytes_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Int-FTP Rcvd", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Telnet_Bytes_Sent:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Telnet Sent", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Telnet_Bytes_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Telnet Rcvd", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.TCP_Bytes_Sent:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "TCP Sent", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.TCP_Bytes_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "TCP Rcvd", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.UDP_Bytes_Sent:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "UDP Sent", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.UDP_Bytes_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "UDP Rcvd", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.IP_Bytes_Sent:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "IP Sent", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.IP_Bytes_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "IP Rcvd", Gallery.Lines, ChartScales.Bytes, false, 1);
                break;

            case ChartSeries.Arps_In:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Arps In", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Arp_Requests_Inbound:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Arp Requests In", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Arp_Requests_Outbound:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Arp Requests Out", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.Arp_Replies_Outbound:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "Arp Replies Out", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.IPNL3172_Blocks_Received:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "IPNL3172 Blocks Rcvd", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.IPNL3172_Blocks_Transmitted:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "IPNL3172 Blocks Trans", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.IPNL3172_Datagrams_Inbound:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "IPNL3172 Datagrams In", Gallery.Lines, ChartScales.Count, false, 1);
                break;

            case ChartSeries.IPNL3172_Datagrams_Outbound:
                sOptions = new SeeSeriesOptions("TCPIP_Traffic", cSeries.ToString(), "IPNL3172 Datagrams Out", Gallery.Lines, ChartScales.Count, false, 1);
                break;

                #endregion
                #region Partitions
            case ChartSeries.CPU_Time_sec:
                sOptions = new SeeSeriesOptions("Partition_Job_Step", cSeries.ToString(), "CPU Time", Gallery.Bar, ChartScales.Percent, true, 1);
                break;

            case ChartSeries.SIO_Count:
                sOptions = new SeeSeriesOptions("Partition_Job_Step", cSeries.ToString(), "SIO", Gallery.Bar, ChartScales.Count, true, 1);
                break;

                #endregion
                #region Connections
            case ChartSeries.Inbound_Data:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Dgrams Received",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Inbound_Bytes:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Received",
                                                Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.Inbound_Data_Dup:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Dgram Duplicates",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Inbound_Bytes_Dup:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Duplicates",
                                                Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.Inbound_Eff:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Inbound Efficiency",
                                                Gallery.Lines, ChartScales.Percent, false, 1);
                break;

            case ChartSeries.Outbound_Data:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Dgrams Sent",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Outbound_Bytes:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Sent",
                                                Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.Outbound_Data_Retr:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Dgram Retransmits",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Outbound_Bytes_Retr:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Retransmits",
                                                Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.Outbound_Eff:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Outbound Efficiency",
                                                Gallery.Lines, ChartScales.Percent, false, 1);
                break;

            case ChartSeries.SWS_Count:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "SWS",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Recvs_Issued:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "RECVs Issued",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Sends_Issued:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "SENDs Issued",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Retransmits:
                sOptions = new SeeSeriesOptions("Connection_Stats", cSeries.ToString(), "Retransmits Issued",
                                                Gallery.Bar, ChartScales.Count, true, 1);
                break;

                #endregion
                #region Foreign IPs
            case ChartSeries.TCP_Inbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "TCP Received", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.IP_Inbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "IP Received", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.UDP_Inbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "UDP Received", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.ICMP_Inbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ICMP Received", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.ARP_Inbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ARP Received", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.Misdirected_IP_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "Misdirected IP", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.NonIP_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "Non-IP Received", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.TCP_Outbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "TCP Sent", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.IP_Outbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "IP Sent", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.UDP_Outbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "UDP Sent", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.ICMP_Outbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ICMP Sent", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.ARP_Outbound_Bytes:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ARP Sent", Gallery.Bar, ChartScales.Bytes, true, 1);
                break;

            case ChartSeries.TCP_Inbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "TCP Received", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.IP_Inbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "IP Received", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.UDP_Inbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "UDP Received", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.ICMP_Inbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ICMP Received", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.ARP_Inbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ARP Received", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.Misdirected_IP_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "Misdirected IP", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.NonIP_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "Non-IP Received", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.TCP_Outbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "TCP Sent", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.IP_Outbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "IP Sent", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.UDP_Outbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "UDP Sent", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.ICMP_Outbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ICMP Sent", Gallery.Bar, ChartScales.Count, true, 1);
                break;

            case ChartSeries.ARP_Outbound_Datagrams:
                sOptions = new SeeSeriesOptions("ForeignIP_Stats", cSeries.ToString(), "ARP Sent", Gallery.Bar, ChartScales.Count, true, 1);
                break;

                #endregion
            default:
                System.Diagnostics.Debug.WriteLine("Invalid ChartSeries in SeeChartParams.GetSeriesOptions()...");
                break;
            }
            return(sOptions);
        }
        public void PopulateCommissionBonusesChartXml()
        {
            // Establish our chart variables
            var xAxisLabels      = new List <string>();
            var seriesCollection = new List <ChartSeries>();


            // Group our data to ensure that we show accurate data.
            var groupedData = CommissionBonusesDetails
                              .GroupBy(c => new { c.BonusDescription, c.AcceptedDate }, (key, group) => new
            {
                key.BonusDescription,
                key.AcceptedDate,
                BonusAmount = group.Sum(a => a.BonusAmount)
            });


            // Loop through each row and define our variables from the data
            foreach (var detail in groupedData)
            {
                // X-axis
                var monthDescription = detail.AcceptedDate.ToString("MMMM yyyy");
                if (!xAxisLabels.Contains(monthDescription))
                {
                    xAxisLabels.Add(monthDescription);
                }

                // ConnectionStrings series
                var seriesName     = detail.BonusDescription;
                var existingSeries = seriesCollection.Where(c => c.SeriesName == seriesName).Select(c => c).FirstOrDefault();
                if (existingSeries == null)
                {
                    var newSeries = new ChartSeries();
                    newSeries.SeriesName = seriesName;
                    newSeries.Values.Add(detail.BonusAmount);
                    seriesCollection.Add(newSeries);
                }
                else
                {
                    existingSeries.Values.Add(detail.BonusAmount);
                }
            }


            // Compile the individual sections. Let's start with the categories.
            var categoriesXml = string.Empty;

            foreach (var label in xAxisLabels)
            {
                categoriesXml += string.Format(@"<category label='{0}' />", label);
            }
            categoriesXml = "<categories>" + categoriesXml + "</categories>";


            // Next, compile the datasets
            var datasetXml = string.Empty;

            foreach (var series in seriesCollection)
            {
                // Dataset Values
                var datasetValuesJson = string.Empty;
                foreach (var value in series.Values)
                {
                    datasetValuesJson += string.Format("<set value='{0}' />", value);
                }
                datasetXml += string.Format("<dataset seriesName='{0}'>", series.SeriesName) + datasetValuesJson + "</dataset>";
            }


            // Compile the Json
            var json = new StringBuilder();

            json.AppendFormat("<chart caption='' xAxisName='' yAxisName='Payouts' bgcolor='FFFFFF, FFFFFF' showBorder='0' showValues='0' labelDisplay='auto' showvalues='0' showSum='1' decimals='2' formatNumberScale='0' numberprefix='$'>{0}{1}</chart>",
                              categoriesXml,
                              datasetXml);


            // Set the Json to the corresponding property
            CommissionBonusesChartXml = json.ToString();
        }
Exemple #26
0
        public void InitializeChartData()
        {
            ChartSeries series = new ChartSeries();

            series.Type = ChartSeriesType.Spline;
            series.Name = "Series 0";
            series.Text = "News and Media";
            series.Points.Add(new DateTime(2007, 1, 1), 13);
            series.Points.Add(new DateTime(2007, 2, 1), 8);
            series.Points.Add(new DateTime(2007, 3, 1), 21);
            series.Points.Add(new DateTime(2007, 4, 1), 13);
            series.Points.Add(new DateTime(2007, 5, 1), 15);
            series.Style.Images = new ChartImageCollection(this.imageListAdv1.Images);
            //series.Style.DisplayShadow = true;
            series.Style.ImageIndex = 0;
            this.chartControl1.Series.Add(series);

            ChartSeries series1 = new ChartSeries();

            series1.Type = ChartSeriesType.Spline;
            series1.Name = "Series 1";
            series1.Text = "Finance Sector";
            series1.Points.Add(new DateTime(2007, 1, 1), 18);
            series1.Points.Add(new DateTime(2007, 2, 1), 5);
            series1.Points.Add(new DateTime(2007, 3, 1), 26);
            series1.Points.Add(new DateTime(2007, 4, 1), 32);
            series1.Points.Add(new DateTime(2007, 5, 1), 20);
            series1.Style.Images = new ChartImageCollection(this.imageListAdv1.Images);
            //series1.Style.DisplayShadow = true;
            series1.Style.ImageIndex = 1;
            this.chartControl1.Series.Add(series1);

            ChartSeries series2 = new ChartSeries();

            series2.Type = ChartSeriesType.Spline;
            series2.Name = "Series 2";
            series2.Text = "Imports And Exports";
            series2.Points.Add(new DateTime(2007, 1, 1), 0);
            series2.Points.Add(new DateTime(2007, 2, 1), 12);
            series2.Points.Add(new DateTime(2007, 3, 1), 20);
            series2.Points.Add(new DateTime(2007, 4, 1), 16);
            series2.Points.Add(new DateTime(2007, 5, 1), 35);
            series2.Style.Images = new ChartImageCollection(this.imageListAdv1.Images);
            //series2.Style.DisplayShadow = true;
            series2.Style.ImageIndex = 2;
            this.chartControl1.Series.Add(series2);

            this.chartControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                                                                               | System.Windows.Forms.AnchorStyles.Left)
                                                                              | System.Windows.Forms.AnchorStyles.Right)));

            this.chartControl1.Series[0].Style.Interior     = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(246, 100, 15));
            this.chartControl1.Series[0].Style.Border.Color = Color.Transparent;
            this.chartControl1.Series[0].Style.Border.Width = 2;
            this.chartControl1.Series[1].Style.Interior     = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(36, 119, 51));
            this.chartControl1.Series[1].Style.Border.Color = Color.Transparent;
            this.chartControl1.Series[1].Style.Border.Width = 2;
            this.chartControl1.Series[2].Style.Interior     = new Syncfusion.Drawing.BrushInfo(Color.FromArgb(9, 116, 210));
            this.chartControl1.Series[2].Style.Border.Color = Color.Transparent;
            this.chartControl1.Series[2].Style.Border.Width = 2;

            this.chartControl1.Series[0].PrepareStyle += new ChartPrepareStyleInfoHandler(ChartControlSeries_PrepareStyle);
            this.chartControl1.Series[1].PrepareStyle += new ChartPrepareStyleInfoHandler(ChartControlSeries_PrepareStyle);
            this.chartControl1.Series[2].PrepareStyle += new ChartPrepareStyleInfoHandler(ChartControlSeries_PrepareStyle);
            this.chartControl1.PrimaryXAxis.InterlacedGridInterior = new Syncfusion.Drawing.BrushInfo(System.Drawing.Color.WhiteSmoke);
            this.chartControl1.PrimaryYAxis.InterlacedGridInterior = new Syncfusion.Drawing.BrushInfo(System.Drawing.Color.WhiteSmoke);
        }
Exemple #27
0
        /// <summary>
        /// Handler for the PrepareStyle event of ChartSeries.
        /// </summary>
        /// <param name="sender">The ChartSeries object that raises this event.</param>
        /// <param name="args">The event data. Can be modified to change series appearance.</param>
        void series1_PrepareStyle(object sender, ChartPrepareStyleInfoEventArgs args)
        {
            ChartSeries series = sender as ChartSeries;

            series.Style.Border.Color          = Color.Transparent;
            series.ConfigItems.PieItem.PieType = ChartPieType.None;
            if (series != null)
            {
                color1 = new Color[] { Color.FromArgb(0xFF, 0x1B, 0xA1, 0xE2) };
                color2 = new Color[] { Color.FromArgb(0xFF, 0xA0, 0x50, 0x00) };
                color3 = new Color[] { Color.FromArgb(0xFF, 0x33, 0x99, 0x33) };
                color4 = new Color[] { Color.FromArgb(0xFF, 0xA2, 0xC1, 0x39) };
                color5 = new Color[] { Color.FromArgb(0xFF, 0xD8, 0x00, 0x73) };
                color6 = new Color[] { Color.FromArgb(0xFF, 0xF0, 0x96, 0x09) };
                color7 = new Color[] { Color.FromArgb(0xFF, 0xE6, 0x71, 0xB8) };
                color8 = new Color[] { Color.FromArgb(0xFF, 0xA2, 0x00, 0xFF) };

                if (args.Index == 0)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color1);
                    this.chartControl1.Legend.Items[0].Interior = new BrushInfo(GradientStyle.None, color1);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else if (args.Index == 1)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color2);
                    this.chartControl1.Legend.Items[1].Interior = new BrushInfo(GradientStyle.None, color2);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else if (args.Index == 2)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color6);
                    this.chartControl1.Legend.Items[2].Interior = new BrushInfo(GradientStyle.None, color6);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else if (args.Index == 3)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color4);
                    this.chartControl1.Legend.Items[3].Interior = new BrushInfo(GradientStyle.None, color4);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else if (args.Index == 4)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color5);
                    this.chartControl1.Legend.Items[4].Interior = new BrushInfo(GradientStyle.None, color5);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else if (args.Index == 5)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color3);
                    this.chartControl1.Legend.Items[5].Interior = new BrushInfo(GradientStyle.None, color3);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else if (args.Index == 6)
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color7);
                    this.chartControl1.Legend.Items[6].Interior = new BrushInfo(GradientStyle.None, color7);
                    if (chartControl1.Series[0].Type != ChartSeriesType.Funnel && chartControl1.Series[0].Type != ChartSeriesType.Pyramid)
                    {
                        args.Style.TextColor = Color.White;
                    }
                }
                else
                {
                    args.Style.Interior = new BrushInfo(GradientStyle.None, color1);
                }
            }
        }
 private static void RunOrDispatchAnimations(ChartSeries series)
 {
     bool started = TryRunSeriesAnimation(series);
     if (!started)
     {
         DispatchRunSeriesAnimations(series);
     }
 }
Exemple #29
0
 protected void BuildSeries(string title)
 {
     ChartSeries series = new ChartSeries(title);
     this.c.Chart.Series.Add(series);
 }
        private FinancialTechnicalIndicator Addindicator(string value, int rowIndex)
        {
            FinancialTechnicalIndicator indic;

            switch (value)
            {
            case "AccumulationDistributionIndicator":
                indic = new AccumulationDistributionIndicator();
                break;

            case "AverageTrueRangeIndicator":
                indic = new AverageTrueRangeIndicator();
                break;

            case "BollingerBandIndicator":
                indic = new BollingerBandIndicator();
                break;

            case "ExponentialAverageIndicator":
                indic = new ExponentialAverageIndicator();
                break;

            case "MACDTechnicalIndicator":
                indic = new MACDTechnicalIndicator();
                break;

            case "MomentumTechnicalIndicator":
                indic = new MomentumTechnicalIndicator();
                break;

            case "RSITechnicalIndicator":
                indic = new RSITechnicalIndicator();
                break;

            case "SimpleAverageIndicator":

                indic = new SimpleAverageIndicator();
                break;

            case "StochasticTechnicalIndicator":
                indic = new StochasticTechnicalIndicator();
                break;

            case "TriangularAverageIndicator":
                indic = new TriangularAverageIndicator();
                break;

            default:
                return(null);
            }

            indic.SeriesName = rowIndex == 0 ? this.ChartArea.VisibleSeries[1].Name : this.ChartArea.VisibleSeries[0].Name;
            ChartSeries Series = this.ChartArea.VisibleSeries[indic.SeriesName] as ChartSeries;

            indic.XBindingPath = "TimeStamp";
            indic.High         = "High";
            indic.Low          = "Low";
            indic.Open         = "Open";
            indic.Close        = "Last";
            indic.Volume       = "Volume";
            Binding binding = new Binding();

            binding.Path   = new PropertyPath("ItemsSource");
            binding.Source = Series;
            binding.Mode   = BindingMode.TwoWay;
            indic.SetBinding(FinancialTechnicalIndicator.ItemsSourceProperty, binding);

            if (rowIndex == 0)
            {
                var supportAxes = this.ChartArea.VisibleSeries[1] as ISupportAxes;
                if (supportAxes != null)
                {
                    indic.YAxis = supportAxes.ActualYAxis as RangeAxisBase;
                }
                UI.Xaml.Charts.SfChart.SetRow(indic.YAxis, 1);
            }
            else
            {
                indic.YAxis = this.ChartArea.SecondaryAxis;
                UI.Xaml.Charts.SfChart.SetRow(indic.YAxis, 0);
            }
            return(indic);
        }
Exemple #31
0
        protected void InitializeChartData()
        {
            ChartSeries Completion = new ChartSeries("Completion", ChartSeriesType.Gantt);

            DateTime dt = new DateTime(2009, 1, 1);

            Completion.Points.Add(0, dt, dt.AddDays(2));
            Completion.Points.Add(1, dt.AddDays(1), dt.AddDays(2));
            Completion.Points.Add(2, dt.AddDays(3), dt.AddDays(5));
            Completion.Points.Add(3, dt.AddDays(6), dt.AddDays(9));
            Completion.Points.Add(4, dt.AddDays(10), dt.AddDays(13));
            Completion.Points.Add(5, dt.AddDays(15), dt.AddDays(18));

            Completion.Style.PointWidth = 0.5f;

            this.chartControl1.Series.Add(Completion);
            Completion.PointsToolTipFormat = "{1}{2}";

            ChartSeries Task = new ChartSeries("Task", ChartSeriesType.Gantt);

            Task.Points.Add(0, dt, dt.AddDays(2));
            Task.Points.Add(1, dt.AddDays(1), dt.AddDays(3));
            Task.Points.Add(2, dt.AddDays(3), dt.AddDays(6));
            Task.Points.Add(3, dt.AddDays(6), dt.AddDays(10));
            Task.Points.Add(4, dt.AddDays(10), dt.AddDays(15));
            Task.Points.Add(5, dt.AddDays(15), dt.AddDays(20));

            // Make a note of the last day:
            DateTime lastDay = DateTime.FromOADate(Task.Points[Task.Points.Count - 1].YValues[1]);

            Task.Style.PointWidth = 0.75f;
            this.chartControl1.Series.Add(Task);
            Task.PointsToolTipFormat = "{1}{2}";

            this.chartControl1.ShowToolTips = true;
            this.chartControl1.CalcRegions  = true;


            this.chartControl1.PrimaryXAxis.RangeType     = ChartAxisRangeType.Set;
            this.chartControl1.PrimaryXAxis.DateTimeRange = new ChartDateTimeRange(dt, lastDay.AddDays(2), 1, ChartDateTimeIntervalType.Days);

            // Displays custom into on Points
            for (int i = 0; i < this.chartControl1.Series[0].Points.Count; i++)
            {
                if (this.chartControl1.Series[1].Points[i].YValues[0] != this.chartControl1.Series[1].Points[i].YValues[1])
                {
                    ChartCustomPoint ccp = new ChartCustomPoint();

                    ChartPoint pt = this.chartControl1.Series[1].Points[i];
                    ccp.XValue        = pt.X;
                    ccp.YValue        = pt.YValues[0] + 1;
                    ccp.CustomType    = ChartCustomPointType.ChartCoordinates;
                    ccp.Text          = String.Format("{0} days", pt.YValues[1] - pt.YValues[0]);
                    ccp.Color         = Color.White;
                    ccp.Font.Facename = "Segoe UI";
                    this.chartControl1.CustomPoints.Add(ccp);
                }
            }

            // To indicate weekends
            Color[] stripLineColor = new Color[] { Color.LightGray, Color.WhiteSmoke, Color.LightGray };

            //Chart Strip Lines
            ChartStripLine stripLine1 = new ChartStripLine();

            stripLine1.Enabled   = true;
            stripLine1.Vertical  = false;
            stripLine1.StartDate = dt.AddDays(2); //// We know that Jan 3rd is a Saturday.
            stripLine1.EndDate   = lastDay;
            stripLine1.Width     = 2;

            // Repetition frequency: every 7 days
            stripLine1.PeriodDate = new TimeSpan(7, 0, 0, 0);
            stripLine1.Text       = string.Empty;
            stripLine1.Interior   = new BrushInfo(GradientStyle.ForwardDiagonal, stripLineColor);
            this.chartControl1.PrimaryXAxis.StripLines.Add(stripLine1);

            this.chartControl1.Series[0].PrepareStyle += new ChartPrepareStyleInfoHandler(Form1_PrepareStyle);
            this.chartControl1.Series[1].PrepareStyle += new ChartPrepareStyleInfoHandler(Form1_PrepareStyle);
        }
Exemple #32
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_styling_series);

            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.Title = GetString(Resource.String.stylingSeries);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);

            // initializing widget
            mChart = this.FindViewById <FlexChart>(Resource.Id.flexchart);

            mChart.BindingX = "Name";

            // initialize series elements and set the binding to variables of
            // ChartPoint
            ChartSeries seriesSales = new ChartSeries();

            seriesSales.Chart      = mChart;
            seriesSales.SeriesName = "Sales";
            seriesSales.Binding    = "Sales";

            ChartSeries seriesExpenses = new ChartSeries();

            seriesExpenses.Chart      = mChart;
            seriesExpenses.SeriesName = "Expenses";
            seriesExpenses.Binding    = "Expenses";

            ChartSeries seriesDownloads = new ChartSeries();

            seriesDownloads.Chart      = mChart;
            seriesDownloads.SeriesName = "Downloads";
            seriesDownloads.Binding    = "Downloads";

            // style series sales
            seriesSales.Style = new ChartStyle()
            {
                Fill = Android.Graphics.Color.ParseColor("#009400"), Stroke = Android.Graphics.Color.Green, StrokeThickness = 3
            };

            // style series expenses
            seriesExpenses.Style = new ChartStyle()
            {
                Fill = Android.Graphics.Color.ParseColor("#C40000"), Stroke = Android.Graphics.Color.Red, StrokeThickness = 3
            };

            // style series downloads
            seriesDownloads.ChartType = ChartType.LineSymbols;
            seriesDownloads.Style     = new ChartStyle()
            {
                Stroke = Android.Graphics.Color.Blue, StrokeThickness = 10
            };
            seriesDownloads.SymbolStyle = new ChartStyle()
            {
                Fill = Android.Graphics.Color.Yellow, Stroke = Android.Graphics.Color.Cyan, StrokeThickness = 3
            };

            // add series to list
            mChart.Series.Add(seriesSales);
            mChart.Series.Add(seriesExpenses);
            mChart.Series.Add(seriesDownloads);

            // setting the source of data/items in FlexChart
            mChart.ItemsSource = (ChartPoint.GetList());
        }
Exemple #33
0
        protected void InitializeChartData()
        {
            //Scatter Line
            ChartSeries series1 = new ChartSeries(" Min.Temperature ");

            series1.Type = ChartSeriesType.Scatter;
            DateTime start = DateTime.Now;

            series1.Points.Add(start.AddMonths(0), -5);
            series1.Points.Add(start.AddMonths(1), 0);
            series1.Points.Add(start.AddMonths(2), 3);
            series1.Points.Add(start.AddMonths(3), 6);
            series1.Points.Add(start.AddMonths(4), 15);
            series1.Points.Add(start.AddMonths(5), 22);
            series1.Points.Add(start.AddMonths(6), 30);
            series1.Points.Add(start.AddMonths(7), 28);
            series1.Points.Add(start.AddMonths(8), 21);
            series1.Points.Add(start.AddMonths(9), 13);
            series1.Points.Add(start.AddMonths(10), 6);
            series1.Points.Add(start.AddMonths(11), 1);

            ChartSeries series2 = new ChartSeries(" Avg.Temperature ");

            series2.Text = series2.Name;
            series2.Type = ChartSeriesType.Scatter;

            series2.Points.Add(start.AddMonths(0), 2);
            series2.Points.Add(start.AddMonths(1), 4);
            series2.Points.Add(start.AddMonths(2), 5);
            series2.Points.Add(start.AddMonths(3), 11);
            series2.Points.Add(start.AddMonths(4), 19);
            series2.Points.Add(start.AddMonths(5), 26);
            series2.Points.Add(start.AddMonths(6), 35);
            series2.Points.Add(start.AddMonths(7), 32);
            series2.Points.Add(start.AddMonths(8), 25);
            series2.Points.Add(start.AddMonths(9), 16);
            series2.Points.Add(start.AddMonths(10), 9);
            series2.Points.Add(start.AddMonths(11), 2);


            ChartSeries series3 = new ChartSeries(" Avg. Rainfall");

            series3.Text = series3.Name;
            series3.Type = ChartSeriesType.Scatter;

            series3.Points.Add(start.AddMonths(0), 62);
            series3.Points.Add(start.AddMonths(1), 73);
            series3.Points.Add(start.AddMonths(2), 95);
            series3.Points.Add(start.AddMonths(3), 107);
            series3.Points.Add(start.AddMonths(4), 85);
            series3.Points.Add(start.AddMonths(5), 60);
            series3.Points.Add(start.AddMonths(6), 73);
            series3.Points.Add(start.AddMonths(7), 105);
            series3.Points.Add(start.AddMonths(9), 83);
            series3.Points.Add(start.AddMonths(10), 84);
            series3.Points.Add(start.AddMonths(11), 96);

            this.chartControl1.Series.Add(series1);
            this.chartControl1.Series.Add(series2);
            this.chartControl1.Series.Add(series3);
            this.chartControl1.Series[0].ScatterConnectType   = ScatterConnectType.Line;
            this.chartControl1.Series[1].ScatterConnectType   = ScatterConnectType.Line;
            this.chartControl1.Series[2].ScatterConnectType   = ScatterConnectType.Line;
            this.chartControl1.PrimaryYAxis.Range             = new MinMaxInfo(-10, 45, 5);
            this.chartControl1.PrimaryYAxis.HidePartialLabels = true;
            this.chartControl1.PrimaryXAxis.HidePartialLabels = true;
            this.chartControl1.PrimaryXAxis.ValueType         = ChartValueType.DateTime;
            this.chartControl1.PrimaryXAxis.DateTimeFormat    = "MMM";
            this.chartControl1.PrimaryXAxis.DateTimeRange     = new ChartDateTimeRange(start.AddMonths(-1), start.AddMonths(12), 2, ChartDateTimeIntervalType.Months);
            this.chartControl1.PrimaryYAxis.ValueType         = ChartValueType.Double;

            this.chartControl1.Indexed      = false;
            secYAxis.DrawGrid               = false;
            secYAxis.Range                  = new MinMaxInfo(0, 120, 12);
            secYAxis.HidePartialLabels      = true;
            secYAxis.OpposedPosition        = true;
            secYAxis.LabelIntersectAction   = ChartLabelIntersectAction.Rotate;
            secYAxis.LineType.ForeColor     = Color.FromArgb(213, 219, 204);
            secYAxis.ValueType              = ChartValueType.Double;
            secYAxis.Orientation            = ChartOrientation.Vertical;
            secYAxis.GridLineType.BackColor = Color.FromArgb(250, 209, 150, 150);
            secYAxis.GridLineType.ForeColor = Color.FromArgb(250, 230, 193, 193);
            secYAxis.GridLineType.PenType   = System.Drawing.Drawing2D.PenType.LinearGradient;
            secYAxis.GridLineType.Width     = 0;
            secYAxis.LineType.ForeColor     = Color.FromArgb(213, 219, 204);
            secYAxis.Font = new Font("Segoe UI", 10.25f);
            this.chartControl1.Axes.Add(secYAxis);
            this.chartControl1.Series[2].YAxis           = secYAxis;
            this.chartControl1.ChartArea.YAxesLayoutMode = ChartAxesLayoutMode.Stacking;
            secYAxis.Title         = "Rainfall (Millimeter)";
            secYAxis.TitleFont     = new Font("Segoe UI", 14.25f);
            this.comboBox1.Enabled = false;
        }
 private void ResetPoints(ChartSeries chartSeries, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     this.Chart.Series[chartSeries.Name].Points.Clear();
     AddPoints(chartSeries);
 }
        public void AddTrendLine(Point start, Point end)
        {
            ChartSeries newSeries = this.CreateNewSeries(start, end);

            this.UpdateTrendLineColor(newSeries);
        }
 private void AddChartSeries(ChartSeries chartSeries)
 {
     AddSeries(chartSeries.Name);
     AddPoints(chartSeries);
     chartSeries.Points.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Points_CollectionChanged);
 }
Exemple #37
0
        protected void InitializeData()
        {
            this.comboBox1.SelectedIndex = 1;
            this.comboBox2.SelectedIndex = 1;
            this.comboBox3.SelectedIndex = 1;

            this.chartControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                                                                               | System.Windows.Forms.AnchorStyles.Left)
                                                                              | System.Windows.Forms.AnchorStyles.Right)));
#if NETCORE
            this.chartControl1.ChartArea.Watermark.Image = System.Drawing.Image.FromFile(@"..\..\..\..\..\..\..\..\Common\images\Chart\carsales.png");
#else
            this.chartControl1.ChartArea.Watermark.Image = System.Drawing.Image.FromFile(@"..\..\..\..\..\..\..\Common\images\Chart\carsales.png");
#endif

            this.panel1.Dock = System.Windows.Forms.DockStyle.None;

            this.chartControl1.Depth = 75;
            this.chartControl1.Series.Clear();
            this.chartControl1.BorderAppearance.SkinStyle = Syncfusion.Windows.Forms.Chart.ChartBorderSkinStyle.None;


            ChartSeries series1 = new ChartSeries();
            series1.Name = "Model1_Blue";
            series1.Text = "Honda";
            series1.Points.Add(1996, 40);
            series1.Points.Add(1998, 60);
            series1.Points.Add(2000, 75);
            series1.Points.Add(2002, 60);
            series1.Points.Add(2004, 55);
            series1.Points.Add(2006, 85);
            series1.Type = ChartSeriesType.Spline;
            series1.Style.Border.Width = 3;
            series1.Style.ImageIndex   = 0;
            series1.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series1.Style.Border.Color = Color.FromArgb(49, 73, 102);
            chartControl1.Series.Add(series1);

            ChartSeries series2 = new ChartSeries();
            series2.Name = "Model1_Green";
            series2.Text = "Toyato";
            series2.Points.Add(1996, 35);
            series2.Points.Add(1998, 70);
            series2.Points.Add(2000, 45);
            series2.Points.Add(2002, 20);
            series2.Points.Add(2004, 35);
            series2.Points.Add(2006, 65);
            series2.Type = ChartSeriesType.Spline;
            series2.Style.Border.Width = 3;
            series2.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series2.Style.ImageIndex   = 1;
            series2.Style.Border.Color = Color.FromArgb(151, 188, 75);
            chartControl1.Series.Add(series2);

            ChartSeries series3 = new ChartSeries();
            series3.Name = "Model2_Blue";
            series3.Text = "Benz";
            series3.Points.Add(1996, 60);
            series3.Points.Add(1998, 35);
            series3.Points.Add(2000, 55);
            series3.Points.Add(2002, 30);
            series3.Points.Add(2004, 65);
            series3.Points.Add(2006, 45);
            series3.Type = ChartSeriesType.Spline;
            series3.Style.Border.Width = 3;
            series3.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series3.Style.ImageIndex   = 2;
            series3.Style.Border.Color = Color.FromArgb(110, 68, 67);
            chartControl1.Series.Add(series3);

            ChartSeries series4 = new ChartSeries();
            series4.Name = "Model2_Green";
            series4.Text = "Audi";
            series4.Points.Add(1996, 45);
            series4.Points.Add(1998, 50);
            series4.Points.Add(2000, 35);
            series4.Points.Add(2002, 60);
            series4.Points.Add(2004, 35);
            series4.Points.Add(2006, 55);
            series4.Type = ChartSeriesType.Spline;
            series4.Style.Border.Width = 3;
            series4.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series4.Style.ImageIndex   = 3;
            series4.Style.Border.Color = Color.FromArgb(169, 119, 118);
            chartControl1.Series.Add(series4);
        }
Exemple #38
0
        private void InitializeChartData()
        {
            DateTime    d       = DateTime.Now;
            ChartSeries series1 = new ChartSeries("Stock", ChartSeriesType.Line);

            series1.Text = series1.Name;

            foreach (string symbol in Enum.GetNames(typeof(Syncfusion.Windows.Forms.Chart.ChartSymbolShape)))
            {
                this.cmbSymbolStyle.Items.Add(symbol);
            }
            this.cmbSymbolStyle.SelectedIndex     = 1;
            this.comboBox_LineStyle.SelectedIndex = 0;
            this.colorPickerButton3.SelectedColor = Color.Yellow;
            this.checkBox1.Checked = true;

            this.chartControl1.Series.Add(series1);
            for (int i = 0; i < 100; i++)
            {
                if (i <= 10)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(25, 38));
                }
                else if (i > 10 && i <= 12)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(38, 45));
                }
                else if (i > 12 && i <= 19)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(42, 50));
                }
                else if (i > 19 && i <= 23)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(50, 60));
                }
                else if (i > 23 && i <= 29)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(58, 72));
                }
                else if (i > 29 && i <= 32)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(62, 78));
                }
                else if (i > 32 && i <= 49)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(68, 85));
                }
                else if (i > 49 && i <= 51)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(58, 90));
                }
                else if (i > 51 && i <= 61)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(86, 108));
                }
                else if (i > 61 && i <= 71)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(100, 118));
                }
                else if (i > 71 && i <= 81)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(110, 122));
                }
                else if (i > 81 && i <= 91)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(116, 129));
                }
                else if (i > 91)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(125, 138));
                }
            }

            this.chartControl1.Series[0].Style.Border.Width = 2;
            this.chartControl1.PrimaryYAxis.RangeType       = ChartAxisRangeType.Set;
            this.chartControl1.PrimaryYAxis.Range           = new MinMaxInfo(0, 160, 20);
            this.chartControl1.PrimaryYAxis.Format          = " 0";
            chartControl1.ShowLegend = false;

            this.chartControl1.PrimaryXAxis.ValueType            = ChartValueType.DateTime;
            this.chartControl1.PrimaryXAxis.DateTimeFormat       = "M/d/yy";
            this.chartControl1.PrimaryXAxis.RangeType            = ChartAxisRangeType.Set;
            this.chartControl1.PrimaryXAxis.LabelIntersectAction = ChartLabelIntersectAction.MultipleRows;
            this.chartControl1.PrimaryXAxis.DateTimeRange        = new ChartDateTimeRange(d.AddDays(-1), d.AddDays(this.chartControl1.Series[0].Points.Count), 8, ChartDateTimeIntervalType.Days);
        }
Exemple #39
0
        protected void InitializeData()
        {
            #region Add Series

            Color[] color1 = new Color[] { Color.FromArgb(41, 88, 145), Color.FromArgb(118, 178, 249), Color.FromArgb(41, 88, 145) };
            Color[] color2 = new Color[] { Color.FromArgb(123, 156, 56), Color.FromArgb(211, 247, 131), Color.FromArgb(123, 156, 56) };
            Color[] color3 = new Color[] { Color.FromArgb(149, 44, 41), Color.FromArgb(251, 120, 116), Color.FromArgb(149, 44, 41) };
            Color[] color4 = new Color[] { Color.FromArgb(209, 115, 114), Color.FromArgb(255, 194, 191), Color.FromArgb(209, 115, 114) };
            Color[] color5 = new Color[] { Color.FromArgb(39, 133, 158), Color.FromArgb(133, 230, 254), Color.FromArgb(39, 133, 158) };
            Color[] color6 = new Color[] { Color.FromArgb(203, 108, 30), Color.FromArgb(254, 196, 101), Color.FromArgb(203, 108, 30) };
            Color[] color8 = new Color[] { Color.FromArgb(116, 147, 51), Color.FromArgb(194, 229, 121), Color.FromArgb(116, 147, 51) };
            Color[] color9 = new Color[] { Color.FromArgb(88, 62, 120), Color.FromArgb(182, 147, 223), Color.FromArgb(88, 62, 120) };

            ChartSeries series5 = new ChartSeries();
            series5.Name = "Model3_Blue";
            series5.Text = "Blue";
            series5.Points.Add(1995, 30);
            series5.Points.Add(2000, 55);
            series5.Points.Add(2005, 80);
            series5.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series5.Style.ImageIndex   = 4;
            series5.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color5);
            series5.Style.Border.Color = Color.FromArgb(48, 98, 112);
            series5.Type = ChartSeriesType.Spline;
            series5.Style.Border.Width        = 3;
            series5.Style.Symbol.Shape        = ChartSymbolShape.Circle;
            series5.Style.Symbol.Color        = Color.White;
            series5.Style.Symbol.Border.Color = Color.FromArgb(39, 133, 158);
            series5.Style.Symbol.Border.Width = 3;
            series5.Style.Border.Width        = 3;
            chartControl1.Series.Add(series5);

            ChartSeries series6 = new ChartSeries();
            series6.Name = "Model3_Green";
            series6.Text = "Orange";
            series6.Points.Add(1995, 50);
            series6.Points.Add(2000, 43);
            series6.Points.Add(2005, 65);
            series6.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series6.Style.ImageIndex   = 5;
            series6.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color6);
            series6.Style.Border.Color = Color.FromArgb(240, 139, 47);
            series6.Type = ChartSeriesType.Line;
            series6.Style.Border.Width        = 3;
            series6.Style.Symbol.Shape        = ChartSymbolShape.Circle;
            series6.Style.Symbol.Color        = Color.White;
            series6.Style.Symbol.Border.Color = Color.FromArgb(203, 108, 30);
            series6.Style.Symbol.Border.Width = 3;
            chartControl1.Series.Add(series6);

            ChartSeries series7 = new ChartSeries();
            series7.Name = "Model4_Blue";
            series7.Text = "Green";
            series7.Points.Add(1995, 43);
            series7.Points.Add(2000, 62);
            series7.Points.Add(2005, 60);
            series7.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series7.Style.ImageIndex   = 6;
            series7.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color8);
            series7.Style.Border.Color = Color.FromArgb(106, 127, 64);
            series7.Type = ChartSeriesType.Line;
            series7.Style.Border.Width        = 3;
            series7.Style.Symbol.Shape        = ChartSymbolShape.Circle;
            series7.Style.Symbol.Color        = Color.White;
            series7.Style.Symbol.Border.Color = Color.FromArgb(116, 147, 51);
            series7.Style.Symbol.Border.Width = 3;
            chartControl1.Series.Add(series7);

            ChartSeries series8 = new ChartSeries();
            series8.Name = "Model4_Blue";
            series8.Text = "Purple";
            series8.Points.Add(1995, 48);
            series8.Points.Add(2000, 71);
            series8.Points.Add(2005, 66);
            series8.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series8.Style.ImageIndex   = 7;
            series8.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color9);
            series8.Style.Border.Color = Color.FromArgb(75, 61, 92);
            series8.Type = ChartSeriesType.Spline;
            series8.Style.Border.DashStyle = DashStyle.DashDotDot;
            series8.Style.Border.Width     = 3;
            chartControl1.Series.Add(series8);

            ChartSeries series1 = new ChartSeries();
            series1.Name = "Model1_Blue";
            series1.Text = "Blue";
            series1.Points.Add(1995, 40);
            series1.Points.Add(2000, 60);
            series1.Points.Add(2005, 75);
            series1.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series1.Style.ImageIndex   = 0;
            series1.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color1);
            series1.Style.Border.Color = Color.FromArgb(49, 73, 102);
            chartControl1.Series.Add(series1);

            ChartSeries series2 = new ChartSeries();
            series2.Name = "Model1_Green";
            series2.Text = "Green";
            series2.Points.Add(1995, 35);
            series2.Points.Add(2000, 70);
            series2.Points.Add(2005, 45);
            series2.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series2.Style.ImageIndex   = 1;
            series2.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color2);
            series2.Style.Border.Color = Color.FromArgb(151, 188, 75);
            chartControl1.Series.Add(series2);

            ChartSeries series3 = new ChartSeries();
            series3.Name = "Model2_Blue";
            series3.Text = "Red";
            series3.Points.Add(1995, 60);
            series3.Points.Add(2000, 35);
            series3.Points.Add(2005, 55);
            series3.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series3.Style.ImageIndex   = 2;
            series3.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color3);
            series3.Style.Border.Color = Color.FromArgb(110, 68, 67);
            chartControl1.Series.Add(series3);

            ChartSeries series4 = new ChartSeries();
            series4.Name = "Model2_Green";
            series4.Text = "Pink";
            series4.Points.Add(1995, 45);
            series4.Points.Add(2000, 50);
            series4.Points.Add(2005, 35);
            series4.Style.Images       = new ChartImageCollection(this.imageListAdv1.Images);
            series4.Style.ImageIndex   = 3;
            series4.Style.Interior     = new Syncfusion.Drawing.BrushInfo(GradientStyle.Horizontal, color4);
            series4.Style.Border.Color = Color.FromArgb(169, 119, 118);
            chartControl1.Series.Add(series4);
            this.chartControl1.ShowLegend = false;


            #endregion

            #region Add Legend
            ChartLegend legend1 = new ChartLegend(chartControl1);
            ChartLegend legend2 = new ChartLegend(chartControl1);
            ChartLegend legend3 = new ChartLegend(chartControl1);
            ChartLegend legend5 = new ChartLegend(chartControl1);
            ChartLegend legend6 = new ChartLegend(chartControl1);

            legend1.Name = "legend1";
            legend2.Name = "legend2";
            legend3.Name = "legend3";
            legend5.Name = "legend5";
            legend6.Name = "legend6";

            legend1.Text = "Zen";
            legend2.Text = "Ford";
            legend3.Text = "Sedan";
            legend5.Text = "MobileHome";
            legend6.Text = "Oldtimer";

            chartControl1.Legends.Add(legend1);
            chartControl1.Legends.Add(legend2);
            chartControl1.Legends.Add(legend3);
            chartControl1.Legends.Add(legend5);
            chartControl1.Legends.Add(legend6);

            series1.LegendName = "legend1";
            series2.LegendName = "legend1";
            series3.LegendName = "legend2";
            series4.LegendName = "legend2";
            series5.LegendName = "legend3";
            series6.LegendName = "legend3";
            series7.LegendName = "legend5";
            series8.LegendName = "legend6";
            legend1.Spacing    = 0;
            legend2.Spacing    = 0;
            legend3.Spacing    = 0;
            legend5.Spacing    = 0;
            legend6.Spacing    = 0;

            for (int i = 0; i < this.chartControl1.Series.Count; i++)
            {
                this.chartControl1.Series[i].Style.Border.Color = Color.Transparent;
            }
            #endregion

            #region AutoHighlight
            this.chartControl1.AutoHighlight = true;
            foreach (ChartSeries series in this.chartControl1.Series)
            {
                Color[] highlightcolor = new Color[] { Color.FromArgb(255, 204, 68), Color.FromArgb(254, 234, 180), Color.FromArgb(250, 186, 13) };
                series.Style.HighlightInterior = new BrushInfo(GradientStyle.Horizontal, highlightcolor);
            }
            this.chartControl1.Refresh();
            #endregion

            #region Legend Settings
            foreach (ChartLegend chartLegend in this.chartControl1.Legends)
            {
                if (chartLegend.Name == "legend1" || chartLegend.Name == "legend2" || chartLegend.Name == "legend3" || chartLegend.Name == "legend5" || chartLegend.Name == "legend6")
                {
                    chartLegend.Position  = ChartDock.Bottom;
                    chartLegend.Alignment = ChartAlignment.Center;
                }
                chartLegend.RepresentationType = ChartLegendRepresentationType.SeriesImage;
                chartLegend.Font             = new Font("Segoe UI", 8.5f, FontStyle.Bold);
                chartLegend.ForeColor        = Color.FromArgb(23, 83, 120);
                chartLegend.BackInterior     = new BrushInfo(GradientStyle.Vertical, legendColor);
                chartLegend.ShowBorder       = true;
                chartLegend.Border.ForeColor = Color.FromArgb(143, 192, 223);
                chartLegend.Border.Width     = 1;


                foreach (ChartLegendItem cli in chartLegend.Items)
                {
                    cli.Font               = new Font("Segoe UI", 8.0f, FontStyle.Regular);
                    cli.TextColor          = Color.Black;
                    cli.RepresentationSize = new Size(32, 32);
                }

                this.chartControl1.DockingManager.LayoutMode = ChartLayoutMode.Wrap;
                this.chartControl1.SmoothingMode             = System.Drawing.Drawing2D.SmoothingMode.Default;
            }
            #endregion
        }
        private FinancialTechnicalIndicator Addindicator(string value, int rowIndex)
        {
            FinancialTechnicalIndicator indicator;

            switch (value)
            {
            case "Accumulation Distribution":
                indicator = new AccumulationDistributionIndicator();
                break;

            case "Average True Range":
                indicator = new AverageTrueRangeIndicator()
                {
                    Period = 1
                };
                break;

            case "Bollinger Band":
                indicator = new BollingerBandIndicator()
                {
                    UpperLineColor = Brushes.Green,
                    Period         = 3
                };
                break;

            case "Exponential Average":
                indicator = new ExponentialAverageIndicator();
                break;

            case "MACD":
                indicator = new MACDTechnicalIndicator()
                {
                    Period               = 5,
                    LongPeriod           = 12,
                    ShortPeriod          = 6,
                    ConvergenceLineColor = Brushes.Green
                };
                break;

            case "Momentum":
                indicator = new MomentumTechnicalIndicator()
                {
                    Period = 4
                };
                break;

            case "RSI":
                indicator = new RSITechnicalIndicator()
                {
                    Period         = 4,
                    UpperLineColor = Brushes.Green
                };
                break;

            case "Simple Average":
                indicator = new SimpleAverageIndicator();
                break;

            case "Stochastic":
                indicator = new StochasticTechnicalIndicator()
                {
                    UpperLineColor = Brushes.Green
                };
                break;

            case "Triangular Average":
                indicator = new TriangularAverageIndicator();
                break;

            default:
                return(null);
            }
            var         index  = rowIndex == 0 ? 1 : 0;
            ChartSeries Series = this.SfChart.VisibleSeries[index] as ChartSeries;

            indicator.XBindingPath = "TimeStamp";
            indicator.High         = "High";
            indicator.Low          = "Low";
            indicator.Open         = "Open";
            indicator.Close        = "Last";
            indicator.Volume       = "Volume";
            Binding binding = new Binding();

            binding.Path   = new PropertyPath("ItemsSource");
            binding.Source = Series;
            binding.Mode   = BindingMode.TwoWay;
            indicator.SetBinding(FinancialTechnicalIndicator.ItemsSourceProperty, binding);

            return(indicator);
        }
Exemple #41
0
        protected void InitializeChartData()
        {
            this.chartControl1.Series.Clear();

            Random rand = new Random();

            ChartSeries series2 = new ChartSeries();

            series2.Type = ChartSeriesType.RangeArea;

            ChartSeries series1 = new ChartSeries();

            series1.Name = "Stock1";
            series1.Type = ChartSeriesType.Candle;

            series1.Text = series1.Name;
            this.chartControl1.Series.Add(series1);
            series1.PrepareStyle += new ChartPrepareStyleInfoHandler(series1_PrepareStyle);
            this.chartControl1.Series.Add(series2);
            //Date, High, Low, Close, Open values.
            for (int i = 0; i < 70; i++)
            {
                if (i <= 10)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(32, 38), rand.Next(20, 24),
                                       rand.Next(28, 32), rand.Next(24, 32));
                    series2.Points.Add(d.AddDays(i), rand.Next(13, 15), rand.Next(37, 40));
                }

                // small one
                else if (i > 10 && i <= 12)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(42, 45), rand.Next(30, 34),
                                       rand.Next(36, 42), rand.Next(38, 42));
                    series2.Points.Add(d.AddDays(i), rand.Next(20, 21), rand.Next(49, 50));
                }

                else if (i > 12 && i <= 19)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(48, 50), rand.Next(40, 42),
                                       rand.Next(42, 48), rand.Next(44, 48));
                    series2.Points.Add(d.AddDays(i), rand.Next(31, 33), rand.Next(58, 60));
                }

                // small
                else if (i > 19 && i <= 23)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(54, 60), rand.Next(45, 49),
                                       rand.Next(49, 54), rand.Next(50, 52));
                    series2.Points.Add(d.AddDays(i), rand.Next(40, 45), rand.Next(60, 65));
                }

                else if (i > 23 && i <= 29)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(54, 60), rand.Next(45, 49),
                                       rand.Next(49, 54), rand.Next(50, 54));
                    series2.Points.Add(d.AddDays(i), rand.Next(40, 45), rand.Next(60, 65));
                }
                //small
                else if (i > 29 && i <= 32)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(62, 65), rand.Next(55, 57),
                                       rand.Next(57, 62), rand.Next(60, 62));
                    series2.Points.Add(d.AddDays(i), rand.Next(45, 50), rand.Next(65, 70));
                }

                else if (i > 32 && i <= 49)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(68, 72), rand.Next(60, 64),
                                       rand.Next(62, 68), rand.Next(64, 68));
                    series2.Points.Add(d.AddDays(i), rand.Next(50, 55), rand.Next(75, 78));
                }

                else if (i > 49 && i <= 51)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(58, 60), rand.Next(55, 58),
                                       rand.Next(58, 64), rand.Next(63, 64));
                    series2.Points.Add(d.AddDays(i), rand.Next(50, 55), rand.Next(65, 75));
                }

                else if (i > 51)
                {
                    series1.Points.Add(d.AddDays(i), rand.Next(60, 65), rand.Next(52, 54),
                                       rand.Next(54, 58), rand.Next(56, 58));
                    series2.Points.Add(d.AddDays(i), rand.Next(40, 45), rand.Next(60, 70));
                }
            }
            this.chartControl1.PrimaryYAxis.RangeType = ChartAxisRangeType.Set;
            this.chartControl1.PrimaryYAxis.Range     = new MinMaxInfo(0, 100, 20);
            this.chartControl1.PrimaryYAxis.Title     = "Stock Price";
            this.chartControl1.Text = "Bollinger Bands";
            this.chartControl1.PrimaryXAxis.ValueType            = ChartValueType.DateTime;
            this.chartControl1.PrimaryXAxis.DateTimeFormat       = "MMM-dd-yy";
            this.chartControl1.PrimaryXAxis.RangeType            = ChartAxisRangeType.Set;
            this.chartControl1.PrimaryXAxis.DateTimeRange        = new ChartDateTimeRange(d.AddDays(-1), d.AddDays(60), 10, ChartDateTimeIntervalType.Days);
            this.chartControl1.PrimaryXAxis.LabelIntersectAction = ChartLabelIntersectAction.Rotate;
        }
Exemple #42
0
    protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        String ter = ((GridView)sender).ToolTip;

        if (e.Row.RowIndex == 3)
        {
            e.Row.BackColor               = Color.LightSteelBlue;
            e.Row.Cells[13].Text          = "Annual";
            e.Row.Cells[0].Font.Underline = true;
        }

        // Total rows
        if (e.Row.RowIndex == 4 || e.Row.RowIndex == 5 || e.Row.RowIndex == 6 || e.Row.RowIndex == 7)
        {
            int total = 0;
            for (int i = 1; i < e.Row.Cells.Count - 1; i++)
            {
                int this_val = 0;
                Int32.TryParse(e.Row.Cells[i].Text, out this_val);
                total += this_val;

                if (!ter.Contains("_break"))
                {
                    // If book value
                    if (e.Row.RowIndex == 4)
                    {
                        group_bookvalue[(i - 1)] = Convert.ToInt32(group_bookvalue[(i - 1)]) + this_val;
                        group_bookvalue[12]     += this_val;
                    }
                    // If outstanding
                    else if (e.Row.RowIndex == 5)
                    {
                        group_outstanding[(i - 1)] = Convert.ToInt32(group_outstanding[(i - 1)]) + this_val;
                        group_outstanding[12]     += this_val;
                    }
                    // If litigation
                    else if (e.Row.RowIndex == 6)
                    {
                        group_litigation[(i - 1)] = Convert.ToInt32(group_litigation[(i - 1)]) + this_val;
                        group_litigation[12]     += this_val;
                    }
                    // If red line
                    else
                    {
                        group_red_line[(i - 1)] = Convert.ToInt32(group_red_line[(i - 1)]) + this_val;
                        group_red_line[12]     += this_val;
                    }
                }
                e.Row.Cells[i].Text = Util.TextToCurrency(this_val.ToString(), "usd");
            }
            e.Row.Cells[13].Text = Util.TextToCurrency(total.ToString(), "usd");
        }
        else if (e.Row.RowIndex == 8 && ter != "Group") // ADP
        {
            ChartSeries cs = new ChartSeries(ter, ChartSeriesType.Line);
            if (!ter.Contains("_break"))
            {
                cs.Appearance.LegendDisplayMode = Telerik.Charting.ChartSeriesLegendDisplayMode.SeriesName;
                for (int i = 0; i < offices.Rows.Count; i++)
                {
                    if (ter == offices.Rows[i]["Office"].ToString())
                    {
                        cs.Appearance.FillStyle.MainColor = Util.ColourTryParse(offices.Rows[i]["Colour"].ToString());
                        break;
                    }
                }
                rc_line_adp.Series.Add(cs);
            }

            for (int i = 1; i < e.Row.Cells.Count - 1; i++)
            {
                double adp = 0.0;
                if (e.Row.Cells[i].Text == "&nbsp;" || e.Row.Cells[i].Text == "0")
                {
                    e.Row.Cells[i].Text = "-";
                }
                else
                {
                    String qry = "SELECT FORMAT(AVG(DATEDIFF(date_paid, ent_date)),1) as 'ADP' " +
                                 "FROM db_salesbook sb, db_salesbookhead sbh " +
                                 "WHERE sb.sb_id = sbh.SalesBookID " +
                                 "AND date_paid >= ent_date " +
                                 "AND date_paid <= NOW() " +
                                 "AND date_paid IS NOT NULL " +
                                 "AND deleted=0 AND IsDeleted=0 AND red_lined=0 " +
                                 "AND sbh.SalesBookID=@sb_id";
                    DataTable dt_adp = SQL.SelectDataTable(qry, "@sb_id", e.Row.Cells[i].Text);

                    if (dt_adp.Rows.Count > 0 && dt_adp.Rows[0]["ADP"] != DBNull.Value)
                    {
                        e.Row.Cells[i].Text = dt_adp.Rows[0]["ADP"].ToString();
                        adp = Convert.ToDouble(dt_adp.Rows[0]["ADP"]);
                        group_adp[i - 1]  += adp;
                        region_adp[i - 1] += adp;
                    }
                    else
                    {
                        e.Row.Cells[i].Text = "-";
                    }
                }

                if (!ter.Contains("_break"))
                {
                    // cap adp to 100
                    if (adp > 100)
                    {
                        adp = 100;
                    }
                    ChartSeriesItem csi_item = new ChartSeriesItem(adp, " ");
                    cs.AddItem(csi_item);
                }
            }

            if (cb_region.Checked)
            {
                if (!ter.Contains("_break"))
                {
                    region_adp[12]++; // use 12th index as number of offices per region
                }
                else
                {
                    for (int i = 1; i < e.Row.Cells.Count - 1; i++)
                    {
                        e.Row.Cells[i].Text = (region_adp[i - 1] / region_adp[12]).ToString("N1");
                        region_adp[i - 1]   = 0;
                    }
                    region_adp[12] = 0;
                }
            }
        }
        else if (e.Row.RowIndex == 9) // PAID %
        {
            decimal sum     = 0;
            decimal val     = 0;
            int     numnums = 0;
            for (int i = 1; i < e.Row.Cells.Count - 1; i++)
            {
                // Fix _break header names when grouping by region
                if (cb_region.Checked)
                {
                    if (((GridView)sender).Rows[3].Cells[i].Text.Contains("_break"))
                    {
                        ((GridView)sender).Rows[3].Cells[i].Text = Server.HtmlEncode(months[(i - 1)] + " " + dd_year.SelectedItem.Text);
                    }
                }

                Decimal.TryParse(e.Row.Cells[i].Text, out val);
                if (!ter.Contains("_break"))
                {
                    group_paid[(i - 1)] += val;
                }
                if (val != 0)
                {
                    numnums++;
                }
                sum += val;

                if (ter != "Group")
                {
                    // Grab paid% history from previous day
                    String    qry     = "SELECT Paid FROM db_cashreporthistory WHERE Date=@date AND Office=@office AND Year=@year AND CalendarMonth=@cal_month";
                    DataTable history = SQL.SelectDataTable(qry,
                                                            new String[] { "@date", "@office", "@year", "@cal_month" },
                                                            new Object[] {
                        DateTime.Now.Date.Subtract(new TimeSpan(24, 0, 0)).ToString("yyyy/MM/dd").Substring(0, 10),
                        ter,
                        dd_year.SelectedItem.Text,
                        ((GridView)sender).Columns[i].HeaderText
                    });

                    // Add coloured labels for today/yesterday
                    Label lbl_paid_cur = new Label();
                    lbl_paid_cur.Text = Server.HtmlEncode(e.Row.Cells[i].Text + "%");

                    ImageButton arrow = new ImageButton();
                    arrow.Enabled = false;
                    arrow.Height  = arrow.Width = 10;
                    arrow.Attributes.Add("style", "position:relative; top:1px; left:3px;");
                    if (history.Rows.Count > 0)
                    {
                        if (Convert.ToDouble(e.Row.Cells[i].Text) > Convert.ToDouble(history.Rows[0]["Paid"]))
                        {
                            lbl_paid_cur.ForeColor = Color.Green;
                            arrow.ImageUrl         = "~/Images/Icons/qr_Up.png";
                        }
                        else if (Convert.ToDouble(history.Rows[0]["Paid"]) > Convert.ToDouble(e.Row.Cells[i].Text))
                        {
                            lbl_paid_cur.ForeColor = Color.Red;
                            arrow.ImageUrl         = "~/Images/Icons/qr_Down.png";
                        }
                        else if (Convert.ToDouble(history.Rows[0]["Paid"]) == Convert.ToDouble(e.Row.Cells[i].Text))
                        {
                            //lbl_paid_cur.ForeColor = Color.Orange;
                            arrow.Height   = 8;
                            arrow.ImageUrl = "~/Images/Icons/qr_Equal.png";
                        }
                        arrow.ToolTip = "Yesterday's value: " + history.Rows[0]["Paid"].ToString() + "%";
                    }
                    else
                    {
                        arrow.Height   = arrow.Width = 12;
                        arrow.ImageUrl = "~/Images/Icons/qr_Unknown.png";
                        arrow.ToolTip  = "No history found";
                        arrow.Attributes.Add("style", "position:relative; top:2px; left:3px;");
                    }
                    e.Row.Cells[i].Controls.Add(lbl_paid_cur);
                    e.Row.Cells[i].Controls.Add(arrow);
                }
            }

            decimal avg = 0;
            if (sum != 0 && numnums != 0)
            {
                if (!ter.Contains("_break"))
                {
                    group_paid[13] += 1;
                }
                avg = sum / numnums;
            }
            if (!ter.Contains("_break"))
            {
                group_paid[12] += avg;
            }
            e.Row.Cells[13].Text = avg.ToString("N2") + "% (avg.)";

            // LAST ROW, DO GROUP
            if (ter == "Group")
            {
                GridView    gv_group    = (GridView)sender;
                GridViewRow bookval     = gv_group.Rows[4];
                GridViewRow outstanding = gv_group.Rows[5];
                GridViewRow litigation  = gv_group.Rows[6];
                GridViewRow redline     = gv_group.Rows[7];
                GridViewRow adp         = gv_group.Rows[8];

                // Add series to group chart
                rc_line_gadp.Clear();
                ChartSeries cs = new ChartSeries("Group Avg", ChartSeriesType.Line);
                cs.Appearance.LegendDisplayMode = Telerik.Charting.ChartSeriesLegendDisplayMode.SeriesName;
                rc_line_gadp.Series.Add(cs);

                double total_g_avg_value = 0;
                int    total_g_avg_moths = 0;
                for (int j = 1; j < bookval.Cells.Count; j++)
                {
                    // GROUP BOOKVAL
                    bookval.Cells[j].Text = Util.TextToCurrency(group_bookvalue[(j - 1)].ToString(), "USD");
                    // GROUP OUTSTANDING
                    outstanding.Cells[j].Text = Util.TextToCurrency(group_outstanding[(j - 1)].ToString(), "USD");
                    // GROUP LITIGATION
                    litigation.Cells[j].Text = Util.TextToCurrency(group_litigation[(j - 1)].ToString(), "USD");
                    // GROUP RED LINE
                    redline.Cells[j].Text = Util.TextToCurrency(group_red_line[(j - 1)].ToString(), "USD");
                    // GROUP ADP
                    if (group_adp[(j - 1)] == 0)
                    {
                        e.Row.Cells[j].Text = "0 (avg.)";
                    }
                    else
                    {
                        double avg_adp = (((double)group_adp[(j - 1)]) / offices.Rows.Count);
                        total_g_avg_value += avg_adp;
                        total_g_avg_moths++;
                        adp.Cells[j].Text = avg_adp.ToString("N2") + " (avg.)";

                        // Add to group chart
                        ChartSeriesItem csi_item = new ChartSeriesItem(avg_adp, " ");
                        cs.AddItem(csi_item);
                    }
                    // GROUP PAID
                    if (group_paid[13] == 0)
                    {
                        e.Row.Cells[j].Text = "0.0% (avg.)";
                    }
                    else
                    {
                        e.Row.Cells[j].Text = ((group_paid[(j - 1)]) / group_paid[13]).ToString("N2") + "% (avg.)";
                    }
                }

                // Add month names to line chart
                rc_line_adp.PlotArea.XAxis.Items.Clear();
                rc_line_gadp.PlotArea.XAxis.Items.Clear();
                for (int i = 1; i < e.Row.Cells.Count - 1; i++)
                {
                    String issue_name = ((GridView)sender).HeaderRow.Cells[i].Text;
                    rc_line_adp.PlotArea.XAxis.Items.Add(new ChartAxisItem(issue_name));
                    rc_line_gadp.PlotArea.XAxis.Items.Add(new ChartAxisItem(issue_name));
                }

                // Add group average line
                rc_line_gadp.PlotArea.MarkedZones.Clear();
                ChartMarkedZone g_avg = new ChartMarkedZone();
                g_avg.Appearance.FillStyle.MainColor = Color.Orange;
                double g_avg_value = total_g_avg_value / total_g_avg_moths;
                g_avg.ValueStartY = g_avg_value;
                g_avg.ValueEndY   = g_avg_value + (g_avg_value / 100) * 2;
                rc_line_gadp.PlotArea.MarkedZones.Add(g_avg);
                rc_line_gadp.ChartTitle.TextBlock.Text = "Group Average Days to Pay (" + g_avg_value.ToString("N1") + " avg.)"; // set chart title
            }
        }
    }
Exemple #43
0
        protected void InitializeChartData()
        {
            //
            // Series 1
            //
            ChartSeries series1 = new ChartSeries("Temperature");

            series1.Type = ChartSeriesType.Line;

            DateTime dateTime = new DateTime(1900, 1, 1);
            double   value    = 100;
            double   value1   = 50;
            Random   random   = new Random();

            for (var i = 1; i < 2000; i++)
            {
                if (random.NextDouble() > .5)
                {
                    value += random.NextDouble();
                }
                else
                {
                    value -= random.NextDouble();
                }
                series1.Points.Add(dateTime.AddMonths(i), value);
            }
            //
            // Series 2
            //
            ChartSeries series2 = new ChartSeries("Rainfall");

            series2.Text = series2.Name;
            series2.Type = ChartSeriesType.Line;
            series2.FancyToolTip.Visible = true;

            for (var j = 1; j < 2000; j++)
            {
                if (random.NextDouble() > .5)
                {
                    value1 += random.NextDouble();
                }
                else
                {
                    value1 -= random.NextDouble();
                }
                series2.Points.Add(dateTime.AddDays(j), value1);
            }

            this.chartControl1.Series.Add(series1);
            this.chartControl1.Series.Add(series2);
            //
            // SecondaryYAxis
            //
            secYAxis.Title                  = "Rainfall";
            secYAxis.TitleFont              = new Font("Segoe UI", 16f);
            secYAxis.DrawGrid               = false;
            secYAxis.Range                  = new MinMaxInfo(0, 160, 20);
            secYAxis.HidePartialLabels      = true;
            secYAxis.OpposedPosition        = true;
            secYAxis.LabelIntersectAction   = ChartLabelIntersectAction.Rotate;
            secYAxis.LineType.ForeColor     = Color.FromArgb(213, 219, 204);
            secYAxis.ValueType              = ChartValueType.Double;
            secYAxis.Orientation            = ChartOrientation.Vertical;
            secYAxis.GridLineType.BackColor = Color.FromArgb(250, 209, 150, 150);
            secYAxis.GridLineType.ForeColor = Color.FromArgb(250, 230, 193, 193);
            secYAxis.GridLineType.PenType   = System.Drawing.Drawing2D.PenType.LinearGradient;
            secYAxis.LineType.ForeColor     = Color.FromArgb(213, 219, 204);
            secYAxis.Font                 = new Font("Segoe UI", 10.25f);
            secYAxis.FormatLabel         += SecYAxis_FormatLabel;
            secYAxis.ShowCrosshairTooltip = true;

            this.chartControl1.Axes.Add(secYAxis);
            this.chartControl1.Series[1].YAxis = secYAxis;
            //
            // SecondaryXAxis
            //
            secXAxis.ShowCrosshairTooltip = true;
            secXAxis.DrawGrid             = false;
            secXAxis.ValueType            = ChartValueType.DateTime;
            secXAxis.LabelRotate          = true;
            secXAxis.LabelRotateAngle     = 90;
            secXAxis.RangePaddingType     = ChartAxisRangePaddingType.None;
            secXAxis.Orientation          = ChartOrientation.Horizontal;
            secXAxis.DateTimeFormat       = "MMM/dd";

            this.chartControl1.Axes.Add(secXAxis);
            this.chartControl1.Series[1].XAxis = secXAxis;

            this.chartControl1.PrimaryXAxis.DateTimeRange = new ChartDateTimeRange(series1.Points[0].DateX, series1.Points[1998].DateX, 15, ChartDateTimeIntervalType.Years);
        }
        private void SetupChart(double prideScore, string growthScoreText, double finalScore)
        {
            evaluationChart.Series.Clear();

            var series = new ChartSeries("EvaluationData", ChartSeriesType.Bar);
            double growthScore = Math.Round(DataIntegrity.ConvertToDouble(growthScoreText), 2);

            series.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.Nothing;
            series.Appearance.TextAppearance.TextProperties.Color = System.Drawing.Color.White;
            series.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font(evaluationChart.ChartTitle.TextBlock.Appearance.TextProperties.Font.Name,
                            12, evaluationChart.ChartTitle.TextBlock.Appearance.TextProperties.Font.Unit);
            series.Appearance.LabelAppearance.LabelLocation = StyleSeriesItemLabel.ItemLabelLocation.Inside;

            evaluationChart.AddChartSeries(series);

            series.AddItem(GetChartSeriesItem(prideScore, System.Drawing.Color.FromArgb(153, 255, 51), System.Drawing.Color.FromArgb(0, 0, 0)));
            series.AddItem(GetChartSeriesItem(growthScore, System.Drawing.Color.FromArgb(0, 0, 255), System.Drawing.Color.FromArgb(255, 255, 255)));
            if (!string.IsNullOrEmpty(growthScoreText) || _isPrideGroup) series.AddItem(GetChartSeriesItem(finalScore, System.Drawing.Color.FromArgb(228, 108, 10), System.Drawing.Color.FromArgb(255, 255, 255)));

            //Chart Styles
            evaluationChart.PlotArea.XAxis.Visible = Telerik.Charting.Styles.ChartAxisVisibility.False;
            evaluationChart.PlotArea.YAxis.MaxValue = 4.0;
            evaluationChart.PlotArea.YAxis.AutoScale = false;

            BuildChartLegend((!string.IsNullOrEmpty(growthScoreText) || _isPrideGroup));
        }
Exemple #45
0
 private static IEnumerable GetDataPoints(ChartSeries series)
 {
     var dataPoints = (IEnumerable)series.GetType().GetProperty("DataPoints").GetValue(series);
     return dataPoints;
 }
Exemple #46
0
 public DnnChartSeriesItem(ChartSeries parent) : base(parent)
 {
 }
    protected void GetChart()
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        ConsumerRadChart.Series.Clear();
        ConsumerRadChart.Clear();
        ConsumerRadChart.PlotArea.Chart.Series.Clear();
        ConsumerRadChart.PlotArea.XAxis.Clear();
        ConsumerRadChart.PlotArea.YAxis.Clear();

        Data dat = new Data(DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")));
        string adID = AdDropDown.SelectedItem.Value;
        DataView dvAd = dat.GetDataDV("SELECT * FROM Ads WHERE Ad_ID=" + adID);
        DataView dvAdCategories = dat.GetDataDV("SELECT DISTINCT  AC.Name, ACM.CategoryID FROM "+
            "Ad_Category_Mapping ACM, AdCategories AC WHERE AC.ID=ACM.CategoryID AND ACM.AdID=" + adID);
        TitleLabel.Text = "<span style=\"font-size: 30px;color: white;\">Statistics For Ad: <span style=\"color: #1fb6e7;\">" +
            dvAd[0]["Header"].ToString() + "</span></span><hr>";

        TitleLabel.Text += "<table cellspacing=\"20px\"><tr valign=\"top\"><td>";

        if (bool.Parse(dvAd[0]["BigAd"].ToString()))
            TitleLabel.Text += "<br/><b>Ad Type: </b><span style=\"color: #1fb6e7; font-weight: bold;\">Big Ad</span>";
        else
            TitleLabel.Text += "<br/><b>Ad Type: </b><span style=\"color: #1fb6e7; font-weight: bold;\">Normal Ad</span>";

        int totalViews = int.Parse(dvAd[0]["NumViews"].ToString());
        int currentViews = int.Parse(dvAd[0]["NumCurrentViews"].ToString());

        DataView dvAdStatistics = dat.GetDataDV("SELECT CASE WHEN LocationOnly = 'True' THEN 'Location Only' " +
            "WHEN WasEmail = 'True' THEN 'Email View' WHEN Reason = 'NonAssigned' THEN 'Non-Assigned User' " +
            "ELSE dbo.GetCategories(Reason) END AS 'Reason', CASE WHEN LocationOnly = 'True' THEN 'Location Only' " +
            "WHEN WasEmail = 'True' THEN 'Email View' WHEN Reason = 'NonAssigned' THEN 'Non-Assigned User' " +
            "ELSE dbo.GetCategories(Reason) END AS 'Reason For View [Location Only, " +
            "Non-Assigned User or list of Categories]', Date " +
            "FROM AdStatistics WHERE AdID=" + adID + " GROUP BY [Date], UserID, IP, LocationOnly, WasEmail, Reason ORDER BY [Date] DESC");
        DataView dvAdStatistics2 = dat.GetDataDV("SELECT  LocationOnly, WasEmail, Reason  " +
            ", Date " +
            "FROM AdStatistics WHERE AdID=" + adID + " GROUP BY [Date], UserID, IP, LocationOnly, WasEmail, " +
            "Reason ORDER BY [Date] DESC");

        string lastDayDay = "";
        if (dvAdStatistics2.Count > 0)
            lastDayDay = DateTime.Parse(dvAdStatistics2[0]["Date"].ToString()).Date.ToShortDateString();

        dvAdStatistics2.RowFilter = "WasEmail = 1";
        int wasEmailCount = dvAdStatistics2.Count;
        int notEmailCount = currentViews - wasEmailCount;

        if (currentViews < totalViews)
        {
            TitleLabel.Text += "<br/><b>Status: </b><span style=\"color: #1fb6e7; font-weight: bold;\">Ad is still running</span>";
            TitleLabel.Text += "<br/><b>Number of Views Needed: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + totalViews.ToString() + "</span>";
            TitleLabel.Text += "</td><td>";
            TitleLabel.Text += "<br/><b>Number of Current Views: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + currentViews.ToString() + "</span>";
            TitleLabel.Text += "<br/><b>Views by Email: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + wasEmailCount.ToString() + "</span>";
            TitleLabel.Text += "<br/><b>Views on Site: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + notEmailCount.ToString() + "</span>";
            TitleLabel.Text += "</td><td>";
            TitleLabel.Text += "<br/><b>Display To All: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + dvAd[0]["DisplayToAll"].ToString() + "</span>";
            TitleLabel.Text += "<br/><b>Display To Non-Users: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + dvAd[0]["NonUsersAllowed"].ToString() + "</span>";
            TitleLabel.Text += "</td></tr></table>";
        }
        else
        {
            TitleLabel.Text += "<br/><b>Ad has finished running on:</b> <span style=\"color: #1fb6e7; font-weight: bold;\">" + lastDayDay + "</span>";
            TitleLabel.Text += "</td><td>";
            TitleLabel.Text += "<br/><b>Views by Email: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + wasEmailCount.ToString() + "</span>";
            TitleLabel.Text += "<br/><b>Views on Site: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + notEmailCount.ToString() + "</span>";
            TitleLabel.Text += "</td><td>";
            TitleLabel.Text += "<br/><b>Display To All: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + dvAd[0]["DisplayToAll"].ToString() + "</span>";
            TitleLabel.Text += "<br/><b>Display To Non-Users: </b><span style=\"color: #1fb6e7; font-weight: bold;\">" + dvAd[0]["NonUsersAllowed"].ToString() + "</span>";
            TitleLabel.Text += "</td></tr></table>";
        }

        //Construct the chart
        //for each entry in AdStatistics table for this particular ad
            //get the number of different categories it was in
                //One of the categories will be the location
            //increment each category if exists in AdStatistics entry
            //each category will have it's own series

        ArrayList listOfCategories = new ArrayList(dvAdCategories.Count);
        Hashtable hashOfCategories = new Hashtable();

        char[] delim = { ';' };
        string[] tokens;

        //Get the hash of the count of all the categories of the reason why the ad was seen.
        ListofUsersLiteral.Text = "<table cellpadding=\"10px\" style=\"font-size: 12px;border: solid 1px #1fb6e7; background-color: #1b1b1b;\"><tr><td>" +
            "<span style=\"font-size: 14px; font-weight: bold;\"></span>" +
            "</td><td><span style=\"font-size: 14px; font-weight: bold;\">Reason For View [Location Only, Non-Assigned User or list of Categories]</span>" +
            "</td><td><span style=\"font-size: 14px; font-weight: bold;\">Date</span></td></tr>";

        //gv.DataSource = dvAdStatistics;
        //gv.DataBind();

        for (int i = 0; i < dvAdStatistics.Count; i++)
        {
            ListofUsersLiteral.Text += "<tr><td>" + (i + 1).ToString() + "</td><td>";
            ListofUsersLiteral.Text += dvAdStatistics[i]["Reason"].ToString();
            //if (bool.Parse(dvAdStatistics[i]["LocationOnly"].ToString()))
            //{
            //    ListofUsersLiteral.Text += "Location Only";
            //    if (hashOfCategories.ContainsKey("-1"))
            //    {
            //        hashOfCategories["-1"] = int.Parse(hashOfCategories["-1"].ToString()) + 1;
            //    }
            //    else
            //    {
            //        hashOfCategories["-1"] = 1;
            //    }
            //}
            //else
            //{
            //    if (dvAdStatistics[i]["Reason"].ToString().Trim() != "NonAssigned")
            //    {
            //        tokens = dvAdStatistics[i]["Reason"].ToString().Split(delim);

            //        for (int j = 0; j < tokens.Length; j++)
            //        {
            //            if (tokens[j].Trim() != "")
            //            {
            //                dvAdCategories.RowFilter = "CategoryID = " + tokens[j];
            //                if (dvAdCategories.Count > 0)
            //                    ListofUsersLiteral.Text += dvAdCategories[0]["Name"].ToString() + ", ";
            //                if (hashOfCategories.ContainsKey(tokens[j].Trim()))
            //                {
            //                    hashOfCategories[tokens[j].Trim()] =
            //                        int.Parse(hashOfCategories[tokens[j].Trim()].ToString()) + 1;
            //                }
            //                else
            //                {
            //                    hashOfCategories.Add(tokens[j].Trim(), 1);
            //                }
            //            }
            //        }
            //        if (ListofUsersLiteral.Text.Substring(ListofUsersLiteral.Text.Length - 2, 2) == ", ")
            //            ListofUsersLiteral.Text = ListofUsersLiteral.Text.Substring(0, ListofUsersLiteral.Text.Length - 2);
            //    }
            //    else
            //    {
            //        ListofUsersLiteral.Text += "Non-Assigned User";
            //        if (hashOfCategories.ContainsKey("-2"))
            //        {
            //            hashOfCategories["-2"] = int.Parse(hashOfCategories["-2"].ToString()) + 1;
            //        }
            //        else
            //        {
            //            hashOfCategories["-2"] = 1;
            //        }
            //    }
            //}
            ListofUsersLiteral.Text += "</td><td>" +
                DateTime.Parse(dvAdStatistics[i]["Date"].ToString()).ToShortDateString() + "</td></tr>";
        }

        dvAdCategories.RowFilter = "";
        ListofUsersLiteral.Text += "</table>";

        System.Drawing.Color level4Colora = System.Drawing.Color.FromArgb(51, 51, 51);
        System.Drawing.Color level4Colorb = System.Drawing.Color.FromArgb(134, 175, 200);
        System.Drawing.Color level3Colora = System.Drawing.Color.FromArgb(33, 65, 11);
        System.Drawing.Color level3Colorb = System.Drawing.Color.FromArgb(115, 148, 77);
        System.Drawing.Color level2Colora = System.Drawing.Color.FromArgb(213, 79, 2);
        System.Drawing.Color level2Colorb = System.Drawing.Color.FromArgb(244, 189, 67);
        System.Drawing.Color level1Colora = System.Drawing.Color.FromArgb(192, 140, 8);
        System.Drawing.Color level1Colorb = System.Drawing.Color.FromArgb(227, 201, 70);

        ConsumerRadChart.Chart.Series.Clear();

        ConsumerRadChart.Chart.ChartTitle.TextBlock.Text = "Ad Statistics for '" + dvAd[0]["Header"].ToString() + "'. Date: " + lastDayDay.Trim();
        ConsumerRadChart.Chart.ChartTitle.TextBlock.Appearance.AutoTextWrap = Telerik.Charting.Styles.AutoTextWrap.True;

        //Put the UserCount into the DV so that we can easily bind it to the chart
        DataTable dt = dvAdCategories.ToTable();
        DataColumn dc = new DataColumn("UserCount");
        DataColumn dc2 = new DataColumn("XCount");
        dt.Columns.Add(dc);
        dt.Columns.Add(dc2);
        DataRow row;
        int colcount = 0;
        for (int i = 0; i < dvAdCategories.Count; i++)
        {
            if (hashOfCategories.ContainsKey(dvAdCategories[i]["CategoryID"].ToString()))
            {
                dt.Rows[i]["UserCount"] = int.Parse(hashOfCategories[dvAdCategories[i]["CategoryID"].ToString()].ToString());
                dt.Rows[i]["XCount"] = colcount;
                colcount++;
            }
        }

        if (hashOfCategories.ContainsKey("-1"))
        {
            row = dt.NewRow();
            row["UserCount"] = hashOfCategories["-1"].ToString();
            row["Name"] = "Location Only";
            row["CategoryID"] = "-1";
            row["XCount"] = colcount;
            dt.Rows.Add(row);
        }

        if (hashOfCategories.ContainsKey("-2"))
        {
            row = dt.NewRow();
            row["UserCount"] = hashOfCategories["-2"].ToString();
            row["Name"] = "Non-Assigned User";
            row["CategoryID"] = "-2";
            row["XCount"] = colcount + 1;
            dt.Rows.Add(row);
        }

        dvAdCategories = new DataView(dt, "", "", DataViewRowState.CurrentRows);

        dvAdCategories.RowFilter = "Isnull(UserCount,'Null Column') <> 'Null Column'";

        ChartSeries salesSeries1;
        int itemsCount = 0;
        ConsumerRadChart.DataGroupColumn = "Name";
        ConsumerRadChart.DataSource = dvAdCategories;

        int maxYCount = 0;
        ConsumerRadChart.PlotArea.XAxis.LayoutMode = Telerik.Charting.Styles.ChartAxisLayoutMode.Between;
        ConsumerRadChart.PlotArea.XAxis.AutoShrink = true;
        ConsumerRadChart.SeriesOrientation = Telerik.Charting.ChartSeriesOrientation.Vertical;
        ConsumerRadChart.PlotArea.XAxis.AxisLabel.Appearance.RotationAngle = 45;
        for (int i = 0; i < dvAdCategories.Count; i++)
        {
            if (hashOfCategories.ContainsKey(dvAdCategories[i]["CategoryID"].ToString()))
            {

                //TitleLabel.Text += "<br/><br/>"+i.ToString()+": "+dvAdCategories[i]["Name"].ToString()+", userCount" +
                //dvAdCategories[i]["UserCount"].ToString() + ", XCount: "+dvAdCategories[i]["XCount"].ToString() +
                //", catID: " + dvAdCategories[i]["CategoryID"].ToString();

                salesSeries1 = new ChartSeries(dvAdCategories[i]["Name"].ToString(), ChartSeriesType.Bar);
                //salesSeries1.Appearance.LabelAppearance.Visible = false;
                for (int j = 0; j < itemsCount; j++)
                {
                    ChartSeriesItem chartSI = new ChartSeriesItem(true);
                    chartSI.Visible = false;
                    salesSeries1.Items.Add(chartSI);
                }
                salesSeries1.DataYColumn = "UserCount";
                salesSeries1.DataXColumn = "XCount";
                salesSeries1.DataLabelsColumn = "UserCount";
                ConsumerRadChart.AddChartSeries(salesSeries1);
                salesSeries1.Items.Add(new ChartSeriesItem(double.Parse(dvAdCategories[i]["UserCount"].ToString()),
                    dvAdCategories[i]["UserCount"].ToString()));
                salesSeries1.PlotArea.XAxis.AxisLabel.Appearance.RotationAngle = 45;
                ConsumerRadChart.PlotArea.XAxis.AddItem(dvAdCategories[i]["Name"].ToString());
                ConsumerRadChart.PlotArea.XAxis.Items[itemsCount].TextBlock.Text = dvAdCategories[i]["Name"].ToString();
                ConsumerRadChart.PlotArea.XAxis.Items[itemsCount].Appearance.RotationAngle = 45;
                ConsumerRadChart.PlotArea.XAxis.Items[itemsCount].Appearance.Position.AlignedPosition = Telerik.Charting.Styles.AlignedPositions.Bottom;

                ConsumerRadChart.PlotArea.XAxis.Items[itemsCount].TextBlock.Appearance.Position.Y = float.Parse("-30.00");
                //ConsumerRadChart.PlotArea.XAxis.Items[itemsCount].TextBlock.Appearance.Position.AlignedPosition = Telerik.Charting.Styles.AlignedPositions.Bottom;
                ConsumerRadChart.PlotArea.XAxis.Items[itemsCount].TextBlock.Appearance.Position.Auto = true;

                itemsCount++;

                if (int.Parse(dvAdCategories[i]["UserCount"].ToString()) > maxYCount)
                    maxYCount = int.Parse(dvAdCategories[i]["UserCount"].ToString());
            }
        }

        //if (hashOfCategories.ContainsKey("Location Only"))
        //{
        //    ConsumerRadChart.PlotArea.XAxis.AddItem("Location Only");
        //    ConsumerRadChart.PlotArea.XAxis.Items[ConsumerRadChart.PlotArea.XAxis.Items.Count - 1].TextBlock.Text = "Location Only";
        //    salesSeries1 = new ChartSeries("Location Only", ChartSeriesType.Bar);
        //    salesSeries1.Items.Clear();
        //    ChartSeriesItem item = new ChartSeriesItem(int.Parse(hashOfCategories["Location Only"].ToString()),
        //        "Location Only");
        //    item.YValue = itemsCount;
        //    salesSeries1.AddItem(item);
        //    ConsumerRadChart.AddChartSeries(salesSeries1);
        //    ConsumerRadChart.DataBind();
        //    if (int.Parse(hashOfCategories["Location Only"].ToString()) > maxYCount)
        //        maxYCount = int.Parse(hashOfCategories["Location Only"].ToString());
        //}
        //else
        //{
        //    //ChartSeriesItem item = new ChartSeriesItem(0, "Location Only");
        //    //item.XValue = ConsumerRadChart.PlotArea.XAxis.Items.Count;

        //    //salesSeries1.Items.Add(item);
        //}

        ConsumerRadChart.PlotArea.XAxis.AxisLabel.TextBlock.Text = "Categories";
        ConsumerRadChart.PlotArea.YAxis.AxisLabel.TextBlock.Text = "Number of Views";
        ConsumerRadChart.Chart.PlotArea.XAxis.AxisLabel.TextBlock.Text = "Categories";
        ConsumerRadChart.Chart.PlotArea.YAxis.AxisLabel.TextBlock.Text = "Number of Views";
        ConsumerRadChart.Chart.PlotArea.XAxis.AxisLabel.Appearance.Dimensions.Height = 200;
        ConsumerRadChart.Chart.PlotArea.YAxis.LabelStep = 1;
        ConsumerRadChart.Chart.PlotArea.XAxis.LabelStep = 1;
        ConsumerRadChart.Chart.PlotArea.YAxis.AutoScale = false;
        ConsumerRadChart.Chart.PlotArea.YAxis.AxisMode = ChartYAxisMode.Normal;
        ConsumerRadChart.Chart.PlotArea.YAxis.MaxValue = maxYCount + 2;
        ConsumerRadChart.Chart.PlotArea.YAxis.Step = 1;
        ConsumerRadChart.Chart.PlotArea.Appearance.Dimensions.Margins.Right = 200;
        ConsumerRadChart.Chart.PlotArea.XAxis.AutoScale = false;

        //ConsumerRadChart.Chart.PlotArea.XAxis.MaxValue = dvAdCategories.Count + 2;
        //ConsumerRadChart.Chart.PlotArea.XAxis.Step = 1;
        //ConsumerRadChart.DataBind();

        ChartPanel.Visible = true;
    }
        public void PopulateCommissionBonusesChartXml()
        {
            // Establish our chart variables
            var xAxisLabels = new List<string>();
            var seriesCollection = new List<ChartSeries>();

            // Group our data to ensure that we show accurate data.
            var groupedData = CommissionBonusesDetails
                .GroupBy(c => new { c.BonusDescription, c.AcceptedDate }, (key, group) => new
                {
                    key.BonusDescription,
                    key.AcceptedDate,
                    BonusAmount = group.Sum(a => a.BonusAmount)
                });

            // Loop through each row and define our variables from the data
            foreach (var detail in groupedData)
            {
                // X-axis
                var monthDescription = detail.AcceptedDate.ToString("MMMM yyyy");
                if (!xAxisLabels.Contains(monthDescription)) xAxisLabels.Add(monthDescription);

                // ConnectionStrings series
                var seriesName = detail.BonusDescription;
                var existingSeries = seriesCollection.Where(c => c.SeriesName == seriesName).Select(c => c).FirstOrDefault();
                if (existingSeries == null)
                {
                    var newSeries = new ChartSeries();
                    newSeries.SeriesName = seriesName;
                    newSeries.Values.Add(detail.BonusAmount);
                    seriesCollection.Add(newSeries);
                }
                else
                {
                    existingSeries.Values.Add(detail.BonusAmount);
                }
            }

            // Compile the individual sections. Let's start with the categories.
            var categoriesXml = string.Empty;
            foreach (var label in xAxisLabels)
            {
                categoriesXml += string.Format(@"<category label='{0}' />", label);
            }
            categoriesXml = "<categories>" + categoriesXml + "</categories>";

            // Next, compile the datasets
            var datasetXml = string.Empty;
            foreach (var series in seriesCollection)
            {
                // Dataset Values
                var datasetValuesJson = string.Empty;
                foreach (var value in series.Values)
                {
                    datasetValuesJson += string.Format("<set value='{0}' />", value);
                }
                datasetXml += string.Format("<dataset seriesName='{0}'>", series.SeriesName) + datasetValuesJson + "</dataset>";
            }

            // Compile the Json
            var json = new StringBuilder();
            json.AppendFormat("<chart caption='' xAxisName='' yAxisName='Payouts' bgcolor='FFFFFF, FFFFFF' showBorder='0' showValues='0' labelDisplay='auto' showvalues='0' showSum='1' decimals='2' formatNumberScale='0' numberprefix='$'>{0}{1}</chart>",
                categoriesXml,
                datasetXml);

            // Set the Json to the corresponding property
            CommissionBonusesChartXml = json.ToString();
        }
Exemple #49
0
        private void DrawChart(DataTable dt, int index)
        {
            try
            {
                ChartSeries series = new ChartSeries();
                series.Type = ChartSeriesType.Line;

                chartControl1.PrimaryXAxis.TickLabelsDrawingMode = ChartAxisTickLabelDrawingMode.UserMode;
                chartControl1.PrimaryXAxis.Labels.Clear();
                chartControl1.PrimaryXAxis.LabelRotate = true;
                chartControl1.PrimaryXAxis.LabelRotateAngle = 90;
                chartControl1.PrimaryXAxis.AutoSize = true;
                chartControl1.PrimaryXAxis.TickLabelsDrawingMode = ChartAxisTickLabelDrawingMode.UserMode;

                chartControl1.PrimaryYAxis.AutoSize = false;
                chartControl1.PrimaryYAxis.RangeType = ChartAxisRangeType.Set;
                chartControl1.PrimaryYAxis.RangeType = ChartAxisRangeType.Auto;

                Color[] color1 = new Color[] { Color.Yellow };
                Color[] color2 = new Color[] { Color.DarkOrange };

                if (index == MAXSERIES)
                {
                    series.Style.Interior = new BrushInfo(GradientStyle.Horizontal, color1);
                    series.Style.Border.Width = 3;
                }
                else
                {
                    series.Style.Interior = new BrushInfo(GradientStyle.Horizontal, color2);
                    series.Style.Border.Width = 1;
                }

                int i = 0;
                double minval = 0;
                double maxval = 0;
                foreach (DataRow dr in dt.Rows)
                {
                    double d = Convert.ToDouble(dr["fb(t)"]);
                    if (i == 0)
                    {
                        minval = d;
                        maxval = d;
                    }
                    else
                    {
                        minval = d < minval ? d : minval;
                        maxval = d > maxval ? d : maxval;
                    }

                    ChartAxisLabel label = new ChartAxisLabel(
                        dr["Tenor"].ToString(),
                        Color.White,
                        new Font("Verdana", 8),
                        i,
                        "",
                        ChartValueType.Custom);

                    chartControl1.PrimaryXAxis.Labels.Add(label);
                    series.Points.Add(i++, d);
                }

                //chartControl1.PrimaryYAxis.Range.Min = minval * .95;
                //chartControl1.PrimaryYAxis.Range.Max = maxval * 1.05;
                chartControl1.PrimaryYAxis.TickLabelsDrawingMode = ChartAxisTickLabelDrawingMode.BothUserAndAutomaticMode;
                chartControl1.PrimaryYAxis.DesiredIntervals = 7;

                txtTimestamp.Text = String.Format("Last Update: {0} {1}", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString());

                chartControl1.Series.Add(series);
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
Exemple #50
0
        void series_PrepareStyle(object sender, ChartPrepareStyleInfoEventArgs args)
        {
            //Specifying  different Colors for data points using Prepare style event
            ChartSeries series = sender as ChartSeries;

            if (series != null)
            {
                if (this.chartControl1.Series[0].Type.ToString() == "Line")
                {
                    if (args.Index == 0)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Red);
                    }
                    else if (args.Index == 1)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Green);
                    }
                    else if (args.Index == 2)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Blue);
                    }
                    else if (args.Index == 3)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Yellow);
                    }
                    else if (args.Index == 4)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Violet);
                    }
                    else if (args.Index == 5)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.BlanchedAlmond);
                    }
                    else if (args.Index == 6)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Brown);
                    }
                    else if (args.Index == 7)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Aqua);
                    }
                    else if (args.Index == 8)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Red);
                    }
                    else if (args.Index == 9)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Green);
                    }
                    else if (args.Index == 10)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Blue);
                    }
                    else if (args.Index == 11)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Yellow);
                    }
                    else if (args.Index == 12)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Violet);
                    }
                    else if (args.Index == 13)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.BlanchedAlmond);
                    }
                    else if (args.Index == 14)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Brown);
                    }
                    else if (args.Index == 15)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Aqua);
                    }
                    else if (args.Index == 16)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Red);
                    }
                    else if (args.Index == 17)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Green);
                    }
                    else if (args.Index == 18)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Blue);
                    }
                    else if (args.Index == 19)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Yellow);
                    }
                    else if (args.Index == 20)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Violet);
                    }
                    else if (args.Index == 21)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.BlanchedAlmond);
                    }
                    else if (args.Index == 22)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Brown);
                    }
                    else if (args.Index == 23)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Aqua);
                    }
                    else if (args.Index == 24)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Red);
                    }
                    else if (args.Index == 25)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Green);
                    }
                    else if (args.Index == 26)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Blue);
                    }
                    else if (args.Index == 27)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Yellow);
                    }
                    else if (args.Index == 28)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Violet);
                    }
                    else if (args.Index == 29)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.BlanchedAlmond);
                    }
                    else if (args.Index == 30)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Brown);
                    }
                    else if (args.Index == 31)
                    {
                        args.Style.Interior = new Syncfusion.Drawing.BrushInfo(Color.Red);
                    }
                }
            }
        }
 public DnnChartSeriesItem(ChartSeries parent) : base(parent)
 {
 }
Exemple #52
0
        /// <summary>
        /// Initializes chart data from access database.
        /// </summary>
        protected void InitializeChartData()
        {
            // The Access database
            string fileName           = WinFormsUtils.FindFile(@"..\..\..\..\..\..\Common\Data\Chart", "ChartData.mdb");
            string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;

            // Define the database query
            string mySelectQuery = "SELECT City, ID, Population FROM Demographics";

            // Create a database connection object using the connection string
            OleDbConnection myConnection = new OleDbConnection(myConnectionString);

            // Create a database command on the connection using query
            OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);

            myCommand.Connection.Open();

            // Create a database reader
            OleDbDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

            //Load the contents into a dataset.
            DataSet dataSet = ConvertToDataSet(myReader, "Demographics");



            //Initializes new chart series.
            ChartSeries series = new ChartSeries();

            series.Style.DisplayText     = true;
            series.Style.TextOrientation = ChartTextOrientation.Up;
            series.Name = "Products";

            ChartDataBindModel model = new ChartDataBindModel(dataSet, "Demographics");

            model.XName  = "ID";
            model.YNames = new string[] { "Population" };

            series.SeriesModel = model;

            this.xAxisLabelModel           = new ChartDataBindAxisLabelModel(dataSet, "Demographics");
            this.xAxisLabelModel.LabelName = "City";


            //Adds the series to the ChartSeriesCollection.
            this.chartControl1.Series.Add(series);

            this.xAxisLabelModel.PositionIndex = 1;
            this.chartControl1.PrimaryXAxis.TickLabelsDrawingMode = ChartAxisTickLabelDrawingMode.UserMode;

            //this.chartControl1.PrimaryXAxis.AutoValueType = false;
            this.chartControl1.PrimaryXAxis.LabelsImpl = this.xAxisLabelModel;

            this.chartControl1.PrimaryXAxis.CustomLabelsParameter = ChartCustomLabelsParameter.Position;

            //Specifies the mode of displaying the label of the x-axis on intersection.
            this.chartControl1.PrimaryXAxis.LabelIntersectAction = ChartLabelIntersectAction.MultipleRows;

            //Specifies the column width mode for the Column Type chart.
            // this.chartControl1.ColumnWidthMode = ChartColumnWidthMode.RelativeWidthMode;

            // Close the reader and the connection
            myReader.Close();
            myConnection.Close();
            //Turns off the legend.
            this.chartControl1.Legend.Visible = false;

            this.chartControl1.Text = "Highest populated cities in the world";

            // this.chartControl1.Series3D = true;
            this.chartControl1.Spacing = 20;
        }
        private static IList<DataPoint> GetDataPoints(ChartSeries series)
        {
            PieSeries pieSeries = series as PieSeries;
            if (pieSeries != null)
            {
                return (IList<DataPoint>)pieSeries.DataPoints;
            }

            CategoricalSeries categoricalSeries = series as CategoricalSeries;
            if (categoricalSeries != null)
            {
                return categoricalSeries.DataPoints;
            }

            RangeSeries rangeSeries = series as RangeSeries;
            if (rangeSeries != null)
            {
                return rangeSeries.DataPoints;
            }

            OhlcSeries ohlcSeries = series as OhlcSeries;
            if (ohlcSeries != null)
            {
                return ohlcSeries.DataPoints;
            }

            ScatterPointSeries scatterPointSeries = (ScatterPointSeries)series;
            return scatterPointSeries.DataPoints;
        }
    protected void fillKmChart(DateTime startdt, DateTime enddt)
    {
        cls_Reports rpt = new cls_Reports();

        //try
        //{
        DataTable  selectedVehiles = getSelectedVehicles();
        DataSet    ds    = rpt.GetKmReportForComparison(selectedVehiles, startdt, enddt);
        ChartTitle title = new ChartTitle();

        ChartKm.ChartTitle.TextBlock.Text = "KMs Travelled from: " + startdt.Date.ToShortDateString() + " to:" + enddt.Date.ToShortDateString();

        ChartKm.Appearance.BarOverlapPercent = 0;
        //ChartKm.Appearance.BarWidthPercent = 80;
        ChartKm.PlotArea.Appearance.Dimensions.Margins.Left   = Telerik.Charting.Styles.Unit.Percentage(0);
        ChartKm.PlotArea.Appearance.Dimensions.Margins.Bottom = Telerik.Charting.Styles.Unit.Percentage(0);
        ChartKm.PlotArea.Appearance.Dimensions.Margins.Right  = Telerik.Charting.Styles.Unit.Percentage(0);

        ChartKm.PlotArea.XAxis.Clear();
        ChartKm.PlotArea.XAxis.AutoScale = true;
        ChartKm.SeriesOrientation        = ChartSeriesOrientation.Horizontal;
        ChartKm.Series.Add(new ChartSeries("Carriers"));
        ChartKm.DataSource = ds.Tables[ds.Tables.Count - 1];
        ChartKm.Series.Clear();
        ChartKm.PlotArea.XAxis.DataLabelsColumn = "carrierName";


        //for (int x = 0; x < ds.Tables[ds.Tables.Count-1].Rows.Count; x ++)
        //{
        //    ChartSeries series = new ChartSeries(ds.Tables[ds.Tables.Count - 1].Rows[x]["carrierName"].ToString());
        //    ChartKm.AddChartSeries(series);
        //    ChartSeriesItem item = new ChartSeriesItem(Math.Round((double)ds.Tables[ds.Tables.Count - 1].Rows[x]["totalDistance"]));
        //    item.Name = ds.Tables[ds.Tables.Count - 1].Rows[x]["carrierName"].ToString();
        //    ChartKm.Series[x].Items.Add(item);
        //    ChartKm.serie
        //}
        ChartKm.DataBind();

        ChartkmDayWise.ChartTitle.TextBlock.Text = "DateWise KMs Travelled from: " + startdt.Date.ToShortDateString() + " to:" + enddt.Date.ToShortDateString();

        ChartkmDayWise.PlotArea.Appearance.Dimensions.Paddings.Left   = Telerik.Charting.Styles.Unit.Percentage(0);
        ChartkmDayWise.PlotArea.Appearance.Dimensions.Paddings.Bottom = Telerik.Charting.Styles.Unit.Percentage(0);
        ChartkmDayWise.PlotArea.Appearance.Dimensions.Paddings.Right  = Telerik.Charting.Styles.Unit.Percentage(0);

        ChartkmDayWise.Series.Clear();
        ChartkmDayWise.PlotArea.XAxis.Clear();
        ChartkmDayWise.PlotArea.XAxis.AutoScale = true;
        for (int x = 0; x < ds.Tables[1].Rows.Count; x++)
        {
            ChartkmDayWise.PlotArea.XAxis.AddItem(((DateTime)ds.Tables[1].Rows[x]["date"]).Date.ToShortDateString());
            ChartkmDayWise.PlotArea.XAxis.DataLabelsColumn = "date";
        }

        ChartSeries currentSeries = null;

        for (int x = 0; x < ds.Tables.Count - 1; x = x + 2)
        {
            currentSeries = ChartkmDayWise.CreateSeries(ds.Tables[x].Rows[0]["carrierName"].ToString(), System.Drawing.Color.Empty, System.Drawing.Color.Empty, ChartSeriesType.Line);
            currentSeries.Appearance.LabelAppearance.Shadow.Color = System.Drawing.Color.White;

            //Border.Color = System.Drawing.Color.Black;


            //currentSeries.Appearance.ShowLabels = false;
        }
        int m = 0;

        for (int l = 1; l < ds.Tables.Count - 1; l = l + 2)
        {
            for (int x = 0; x < ds.Tables[1].Rows.Count; x++)
            {
                ChartkmDayWise.Series[m].AddItem((double)(ds.Tables[l].Rows[x]["distance"]));
            }
            m++;
        }

        //ChartkmDayWise.ChartTitle.TextBlock.Text = "KMs Travelled from: " + startdt.Date.ToShortDateString() + " to:" + enddt.Date.ToShortDateString();

        //ChartkmDayWise.Appearance.BarOverlapPercent = 0;

        //ChartkmDayWise.PlotArea.XAxis.Clear();
        //ChartkmDayWise.PlotArea.XAxis.AutoScale = true;
        //ChartkmDayWise.SeriesOrientation = ChartSeriesOrientation.Vertical;
        //ChartkmDayWise.Series.Add(new ChartSeries("Carriers"));
        //ChartkmDayWise.DataSource = ds.Tables[ds.Tables.Count - 1];
        //ChartkmDayWise.Series.Clear();
        //ChartkmDayWise.PlotArea.XAxis.DataLabelsColumn = "carrierName";
        //ChartkmDayWise.DataBind();



        UpdatePanelChartKm.Update();

        //}
        //catch (Exception e)
        //{
        //    cls_fileHandling fh = new cls_fileHandling();
        //    fh.appendToFile("~/logs/error.txt", DateTime.Now + ": " + e.Message);
        //    fh.appendToFile("~/logs/stackTrace.txt", DateTime.Now + ": " + e.StackTrace);
        //}
    }
        private static bool Run(Storyboard storyboard, ChartSeries series, Action completed = null)
        {
            if (storyboard.Children.Count == 0)
            {
                return false;
            }

            storyboard.Completed += (s, e) =>
            {
                storyboard.Stop();

                lock (locker)
                {
                    int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty);
                    count--;
                    series.SetValue(ChartAnimationUtilities.RunningAnimationsCountProperty, count);
                }

                if (completed != null)
                {
                    completed();
                }
            };

            storyboard.Begin();
            lock (locker)
            {
                int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty);
                count++;
                series.SetValue(ChartAnimationUtilities.RunningAnimationsCountProperty, count);
            }

            return true;
        }
Exemple #56
0
        protected void InitializeChartData()
        {
            Random r = new Random();

            string select1 = this.comboBox1.SelectedItem.ToString();

            this.Size           = new Size(478, 410);
            this.panel1.Visible = false;
            switch (select1)
            {
            case "Candle Chart":

                ChartSeries series1 = new ChartSeries(" Series 1", ChartSeriesType.Candle);
                series1.Text = series1.Name;

                DateTime date1 = new DateTime(2006, 2, 12);
                series1.Points.Add(date1.AddDays(1), 470, 200, 270, 400);
                series1.Points.Add(date1.AddDays(2), 520, 234, 321, 458);
                series1.Points.Add(date1.AddDays(3), 482, 193, 352, 302);
                series1.Points.Add(date1.AddDays(4), 457, 230, 300, 410);
                series1.Points.Add(date1.AddDays(5), 421, 150, 357, 200);
                series1.Points.Add(date1.AddDays(6), 475, 200, 300, 385);

                this.chartControl1.Series.Add(series1);
                this.chartControl1.Text = "Stock Price Summary";
                this.chartControl1.PrimaryYAxis.Title          = "Price $";
                this.chartControl1.PrimaryXAxis.Title          = "Week Day";
                this.chartControl1.PrimaryXAxis.ValueType      = ChartValueType.DateTime;
                this.chartControl1.PrimaryXAxis.RangeType      = ChartAxisRangeType.Set;
                this.chartControl1.PrimaryXAxis.DateTimeRange  = new ChartDateTimeRange(date1, date1.AddDays(7), 2, ChartDateTimeIntervalType.Days);
                this.chartControl1.PrimaryXAxis.DateTimeFormat = "MMM/dd";
                this.chartControl1.Text = "Candle Chart";

                break;

            case "HiLo Chart":

                ChartSeries series2 = new ChartSeries("NYSE", ChartSeriesType.HiLo);
                series2.Text = series2.Name;
                DateTime start = new DateTime(2006, 2, 20);

                series2.Points.Add(start.AddDays(0), 456, 214, 364, 386);
                series2.Points.Add(start.AddDays(1), 491, 234, 321, 378);
                series2.Points.Add(start.AddDays(2), 482, 193, 302, 352);
                series2.Points.Add(start.AddDays(3), 437, 243, 354, 391);
                series2.Points.Add(start.AddDays(4), 421, 223, 317, 367);
                series2.Points.Add(start.AddDays(5), 434, 263, 339, 385);
                series2.Points.Add(start.AddDays(6), 425, 245, 365, 396);
                series2.Points.Add(start.AddDays(7), 457, 234, 385, 398);
                series2.Points.Add(start.AddDays(8), 482, 267, 316, 389);
                series2.Points.Add(start.AddDays(9), 496, 285, 374, 399);

                ChartSeries series3 = new ChartSeries(" NASDAQ", ChartSeriesType.HiLo);
                series3.Text = series3.Name;

                series3.Points.Add(start.AddDays(0), 437, 263, 373, 412);
                series3.Points.Add(start.AddDays(1), 491, 243, 383, 391);
                series3.Points.Add(start.AddDays(2), 480, 290, 313, 421);
                series3.Points.Add(start.AddDays(3), 466, 215, 323, 452);
                series3.Points.Add(start.AddDays(4), 486, 243, 328, 415);
                series3.Points.Add(start.AddDays(5), 461, 263, 356, 371);
                series3.Points.Add(start.AddDays(6), 489, 273, 316, 399);
                series3.Points.Add(start.AddDays(7), 484, 285, 384, 415);
                series3.Points.Add(start.AddDays(8), 461, 266, 396, 423);
                series3.Points.Add(start.AddDays(9), 498, 278, 328, 433);

                this.chartControl1.Series.Add(series2);
                this.chartControl1.Series.Add(series3);
                this.chartControl1.PrimaryXAxis.RangeType     = ChartAxisRangeType.Set;
                this.chartControl1.PrimaryXAxis.DateTimeRange = new ChartDateTimeRange(start.AddDays(-1), start.AddDays(10), 2, ChartDateTimeIntervalType.Days);

                this.chartControl1.PrimaryXAxis.ValueType            = ChartValueType.DateTime;
                this.chartControl1.PrimaryXAxis.DateTimeFormat       = "MMM/dd";
                this.chartControl1.PrimaryXAxis.LabelIntersectAction = ChartLabelIntersectAction.Rotate;
                this.chartControl1.PrimaryYAxis.Title = "Price ($)";
                this.chartControl1.Text = "HiLo Chart";

                break;

            case "HiLo Open Close Chart":

                this.Size           = new Size(478, 515);
                this.panel1.Visible = true;
                ChartSeries series4 = new ChartSeries("NYSE", ChartSeriesType.HiLoOpenClose);
                series4.Text = series4.Name;
                DateTime date = new DateTime(2006, 2, 13);

                series4.Points.Add(date, 456, 214, 364, 386);
                series4.Points.Add(date.AddDays(1), 491, 234, 321, 378);
                series4.Points.Add(date.AddDays(2), 482, 193, 302, 352);
                series4.Points.Add(date.AddDays(3), 437, 243, 354, 391);
                series4.Points.Add(date.AddDays(4), 421, 223, 317, 367);
                series4.Points.Add(date.AddDays(5), 434, 263, 339, 385);

                ChartSeries series5 = new ChartSeries("NASDAQ", ChartSeriesType.HiLoOpenClose);
                series5.Text = series5.Name;

                series5.Points.Add(date, 437, 263, 373, 412);
                series5.Points.Add(date.AddDays(1), 491, 243, 383, 391);
                series5.Points.Add(date.AddDays(2), 480, 290, 313, 421);
                series5.Points.Add(date.AddDays(3), 466, 215, 323, 452);
                series5.Points.Add(date.AddDays(4), 486, 243, 328, 415);
                series5.Points.Add(date.AddDays(5), 461, 263, 356, 371);

                this.chartControl1.Series.Add(series4);
                this.chartControl1.Series.Add(series5);

                this.chartControl1.PrimaryXAxis.ValueType      = ChartValueType.DateTime;
                this.chartControl1.PrimaryXAxis.DateTimeFormat = "MMM/dd";
                this.chartControl1.PrimaryXAxis.RangeType      = ChartAxisRangeType.Set;
                this.chartControl1.PrimaryXAxis.DateTimeRange  = new ChartDateTimeRange(date.AddDays(-1), date.AddDays(6), 2, ChartDateTimeIntervalType.Days);
                this.chartControl1.PrimaryXAxis.Title          = "Week Days";
                this.chartControl1.PrimaryYAxis.Title          = "Price $";
                this.chartControl1.Text = "HiLo Open Close Chart";

                break;

            case "Kagi Chart":

                double[] points2   = { 25.25, 27.75, 29.0, 28.275, 27.75, 27.75, 27.275, 26.25, 25.75, 25.25, 26.25, 25.25, 24.5, 25.625, 25.5, 26.625, 26.275, 26.25, 26.875, 27.25, 26.875, 26.5, 27.125, 26.275, 25.875, 26.625, 27.125, 26.25, 27.0, 27.25, 27.5, 28.5, 29.5, 28.875, 28.5, 29.0, 28.5, 28.5, 29.0, 29.0, 40.0, 29.875, 29.875, 28.875, 28.5, 28.25, 28.875, 29.275, 29.275, 29.75, 29.5, 29.275, 28.5, 27.75, 27.625, 27.5, 26.5, 25.0, 26.625, 26.0, 25.875, 25.0, 25.25, 25.125, 25.05 };
                DateTime current   = new DateTime(2004, 01, 1);
                int      numPoints = points2.Length;

                ChartSeries series = new ChartSeries("Series 1");
                for (int j = 0; j < numPoints; j++)
                {
                    series.Points.Add(current.AddDays(j * 5), points2[j]);
                }

                series.Type           = ChartSeriesType.Kagi;
                series.Text           = series.Name;
                series.ReversalAmount = 1.0;

                series.Style.Border.Width = 1;
                this.chartControl1.Series.Add(series);

                this.chartControl1.PrimaryXAxis.RangeType      = ChartAxisRangeType.Set;
                this.chartControl1.PrimaryXAxis.DateTimeRange  = new ChartDateTimeRange(current, current.AddMonths(13), 3, ChartDateTimeIntervalType.Months);
                this.chartControl1.PrimaryXAxis.DateTimeFormat = "MMM/dd";
                this.chartControl1.Text = "Kagi Chart";
                break;

            case "Point And Figure Chart":
                double[] points = { 35.250, 37.750, 39.000, 38.275, 37.750, 37.750, 37.275, 36.250, 35.750, 35.250, 36.250, 35.250, 34.500,
                                    35.625, 35.500, 36.625, 36.275, 36.250, 36.875, 37.250, 36.875, 36.500, 37.125, 36.275, 35.875, 36.625,
                                    27.125, 26.250, 27.000, 27.250, 37.500, 38.500, 39.500, 38.875, 38.500, 39.000, 38.500, 28.500, 29.000,
                                    29.000, 40.000, 29.875, 29.875, 28.875, 28.500, 28.250, 28.875, 29.275, 29.275, 29.750, 29.500, 29.275,
                                    28.500, 27.750, 27.625, 27.500, 26.500, 25.000, 26.625, 26.000, 25.875, 25.000, 25.250, 25.125, 25.050 };

                double[] points1 = { 25,     27.500, 28.750, 28.025, 27.500, 27.500, 27.025, 26.250, 35.750, 35.250, 36.250, 35.250, 34.500,
                                     25.625, 25.500, 26.625, 26.275, 26.250, 26.875, 27.250, 26.875, 26.500, 27.125, 26.275, 25.875, 26.625,
                                     27.125, 26.250, 27.000, 27.250, 27.500, 38.500, 39.500, 38.875, 38.500, 39.000, 28.500, 28.500, 29.000,
                                     29.000, 40.000, 29.875, 29.875, 28.875, 28.500, 28.250, 28.875, 29.275, 29.275, 29.750, 29.500, 29.275,
                                     28.500, 27.750, 27.625, 27.500, 26.500, 25.000, 26.625, 26.000, 25.875, 25.000, 25.250, 25.125, 25.050 };


                DateTime current1   = new DateTime(2004, 01, 1);
                int      numPoints1 = points.Length;

                ChartSeries series7 = new ChartSeries("Series 1");
                for (int j = 0; j < numPoints1; j++)
                {
                    series7.Points.Add(current1.AddDays(j), new double[] { points[j], points1[j] });
                }

                series7.Type           = ChartSeriesType.PointAndFigure;
                series7.Text           = series7.Name;
                series7.ReversalAmount = 0.0;


                this.chartControl1.Series.Add(series7);

                this.chartControl1.PrimaryXAxis.RangeType      = ChartAxisRangeType.Set;
                this.chartControl1.PrimaryXAxis.DateTimeRange  = new ChartDateTimeRange(current1, current1.AddDays(30), 10, ChartDateTimeIntervalType.Days);
                this.chartControl1.PrimaryXAxis.DateTimeFormat = "MMM/dd";
                this.chartControl1.Text = "Point And Figure Chart";
                break;

            case "Renko Chart":
                double[] points5 = { 25.250, 27.750, 29.000, 28.275, 27.750, 27.750, 27.275, 26.250, 25.750, 25.250, 26.250, 25.250, 24.500,
                                     25.625, 25.500, 26.625, 26.275, 26.250, 26.875, 27.250, 26.875, 26.500, 27.125, 26.275, 25.875, 26.625,
                                     27.125, 26.250, 27.000, 27.250, 27.500, 28.500, 29.500, 28.875, 28.500, 29.000, 28.500, 28.500, 29.000,
                                     29.000, 40.000, 29.875, 29.875, 28.875, 28.500, 28.250, 28.875, 29.275, 29.275, 29.750, 29.500, 29.275,
                                     28.500, 27.750, 27.625, 27.500, 26.500, 25.000, 26.625, 26.000, 25.875, 25.000, 25.250, 25.125, 25.050 };

                DateTime date5 = new DateTime(2004, 1, 1);

                ChartSeries series11 = new ChartSeries("Series " + 0);

                for (int day = 0; day < points5.Length; day++)
                {
                    series11.Points.Add(date5.AddDays(day), points5[day]);
                }

                series11.Type           = ChartSeriesType.Renko;
                series11.ReversalAmount = 1;
                this.chartControl1.Series.Add(series11);

                this.chartControl1.PrimaryXAxis.ValueType      = ChartValueType.DateTime;
                this.chartControl1.PrimaryXAxis.DateTimeFormat = "MMM/dd";
                this.chartControl1.PrimaryXAxis.DateTimeRange  = new ChartDateTimeRange(date5, date5.AddDays(60), 10, ChartDateTimeIntervalType.Days);
                this.chartControl1.Text = "Renko Chart";
                this.chartControl1.PrimaryYAxis.Format = "$ #";
                break;

            case "Three Line Break Chart":

                double[] points6 = { 25.250, 27.750, 29.000, 28.275, 27.750, 27.750, 27.275, 26.250, 25.750, 25.250, 26.250, 25.250, 24.500,
                                     25.625, 25.500, 26.625, 26.275, 26.250, 26.875, 27.250, 26.875, 26.500, 27.125, 26.275, 25.875, 26.625,
                                     27.125, 26.250, 27.000, 27.250, 27.500, 28.500, 29.500, 28.875, 28.500, 29.000, 28.500, 28.500, 29.000,
                                     29.000, 40.000, 29.875, 29.875, 28.875, 28.500, 28.250, 28.875, 29.275, 29.275, 29.750, 29.500, 29.275,
                                     28.500, 27.750, 27.625, 27.500, 26.500, 25.000, 26.625, 26.000, 25.875, 25.000, 25.250, 25.125, 25.050 };

                DateTime dates = DateTime.Today.AddDays(-points6.Length);

                ChartSeries series8 = new ChartSeries("Series " + 0);

                for (int day = 0; day < points6.Length; day++)
                {
                    series8.Points.Add(dates.AddDays(day), points6[day]);
                }

                series8.Type           = ChartSeriesType.ThreeLineBreak;
                series8.ReversalAmount = 3.0;

                this.chartControl1.Text = "Three Line Break Chart";
                this.chartControl1.PrimaryYAxis.Format         = "$ #";
                this.chartControl1.PrimaryXAxis.DateTimeRange  = new ChartDateTimeRange(dates, dates.AddDays(60), 10, ChartDateTimeIntervalType.Days);
                this.chartControl1.PrimaryXAxis.DateTimeFormat = "MMM/dd";
                this.chartControl1.Series.Add(series8);
                break;

            default:
                MessageBox.Show("Select any ONE Chart from the ListBox", "Error", MessageBoxButtons.OK);
                break;
            }
        }
        private static bool TryRunSeriesAnimation(ChartSeries series)
        {
            if (!HasDataPointsInPlotRange(series))
            {
                return false;
            }

            int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty);
            if (count > 0)
            {
                return false;
            }

            bool started = false;

            CartesianSeries cartesianSeries = series as CartesianSeries;
            if (cartesianSeries != null)
            {
                CartesianAnimation animation = GetCartesianAnimation(cartesianSeries);
                if (animation == CartesianAnimation.Drop || animation == CartesianAnimation.DropWithDelay)
                {
                    bool useDelay = animation == CartesianAnimation.DropWithDelay;
                    started |= TryRunDropAnimtation(cartesianSeries, useDelay);
                }
                if (animation == CartesianAnimation.Rise || animation == CartesianAnimation.RiseWithDelay)
                {
                    bool useDelay = animation == CartesianAnimation.RiseWithDelay;
                    started |= TryRunRiseAnimtation(cartesianSeries, useDelay);
                }
                if (animation == CartesianAnimation.Stretch)
                {
                    started |= TryRunStretchAnimtation(cartesianSeries);
                }
            }

            PieSeries pieSeries = series as PieSeries;
            if (pieSeries != null)
            {
                PieAnimation animation = GetPieAnimation(pieSeries);
                if (animation.HasFlag(PieAnimation.RadiusFactor))
                {
                    started |= TryRunRadiusFactorAnimtation(pieSeries);
                }
                if (animation.HasFlag(PieAnimation.Slice))
                {
                    started |= TryRunSliceAnimtation(pieSeries);
                }
                if (animation.HasFlag(PieAnimation.StartAngle))
                {
                    started |= TryRunStartAngleAnimtation(pieSeries);
                }
                if (animation.HasFlag(PieAnimation.SweepAngle))
                {
                    started |= TryRunSweepAngleAnimtation(pieSeries);
                }
            }

            return started;
        }
Exemple #58
0
        private void InitializeChartData()
        {
            this.chartControl1.Series.Clear();
            InitChart();
            Appearanceset();
            ChartSeries ser = new ChartSeries("MultiPage");

            ser.Points.Add(2, 45);
            ser.Points.Add(5, 100);
            ser.Points.Add(7, 210);
            ser.Points.Add(9, 110);
            ser.Points.Add(10, 150);
            ser.Points.Add(11, 180);
            ser.Points.Add(3, 45);
            ser.Points.Add(4, 100);
            ser.Points.Add(6, 210);
            ser.Points.Add(12, 110);
            ser.Points.Add(13, 150);
            ser.Points.Add(14, 180);
            ser.Points.Add(8, 45);
            ser.Points.Add(9, 100);
            ser.Points.Add(15, 210);
            ser.Points.Add(16, 110);
            ser.Points.Add(17, 150);
            ser.Points.Add(18, 180);
            ser.Points.Add(19, 100);
            ser.Points.Add(20, 210);
            ser.Points.Add(21, 110);
            ser.Points.Add(22, 150);
            ser.Points.Add(23, 180);
            ser.Points.Add(24, 150);
            ser.Points.Add(25, 180);
            ser.Points.Add(26, 210);
            ser.Points.Add(27, 110);
            ser.Points.Add(28, 150);
            ser.Points.Add(29, 180);
            ser.Points.Add(30, 150);
            ser.Points.Add(40, 210);
            ser.Points.Add(41, 110);
            ser.Points.Add(42, 150);
            ser.Points.Add(43, 180);
            ser.Points.Add(44, 150);
            ser.Points.Add(45, 180);
            ser.Points.Add(46, 210);
            ser.Points.Add(47, 110);
            ser.Points.Add(48, 150);
            ser.Points.Add(49, 180);
            ser.Points.Add(50, 150);
            ser.Points.Add(60, 210);
            ser.Points.Add(61, 110);
            ser.Points.Add(62, 150);
            ser.Points.Add(63, 180);
            ser.Points.Add(64, 150);
            ser.Points.Add(65, 180);
            ser.Points.Add(66, 210);
            ser.Points.Add(67, 110);
            ser.Points.Add(68, 150);
            ser.Points.Add(69, 180);
            ser.Points.Add(70, 150);
            ser.Points.Add(71, 110);
            ser.Points.Add(72, 150);
            ser.Points.Add(73, 180);
            ser.Points.Add(74, 150);
            ser.Points.Add(75, 180);
            ser.Points.Add(76, 210);
            ser.Points.Add(77, 110);
            ser.Points.Add(78, 150);
            ser.Points.Add(79, 180);
            ser.Points.Add(80, 150);

            this.chartControl1.Series.Add(ser);
            this.chartControl1.PrimaryXAxis.Range = new MinMaxInfo(0, 80, 5);
            ser.Type = ChartSeriesType.Column;
            this.chartControl1.Skins = Skins.Metro;
            this.chartControl1.Text  = "Multiple Page Printing";
            start    = this.chartControl1.PrimaryXAxis.Range.Min;
            end      = this.chartControl1.PrimaryXAxis.Range.Max;
            Intervel = this.chartControl1.PrimaryXAxis.Range.Interval;
        }
Exemple #59
0
 protected void BuildSeriesItem(ChartSeries series, double count, string label)
 {
     ChartSeriesItem item = new ChartSeriesItem(count, label);
     item.Label.TextBlock.Appearance.TextProperties.Color = Color.HotPink;
     item.Label.TextBlock.Appearance.TextProperties.Font = new Font("Arial", 12, FontStyle.Bold);
     series.Items.Add(item);
 }
        protected void Page_Load(object sender, EventArgs e)
        {            
            if (_levelID <= 0) return;


            List<AsyncPageTask> taskList = new List<AsyncPageTask>();
            taskList.Add(new AsyncPageTask(GetStudentCounts));
            taskList.Add(new AsyncPageTask(LoadDistrictParms));

            foreach (AsyncPageTask page in taskList)
            {
                PageAsyncTask newTask = new PageAsyncTask(page.OnBegin, page.OnEnd, page.OnTimeout, "StudentSearch", true);
                Page.RegisterAsyncTask(newTask);
            }
            taskList = null;
            Page.ExecuteRegisteredAsyncTasks();

            studentCountChart.DataSource = countData;
            studentCountChart.ChartTitle.Visible = false;
            studentCountChart.DataBind();

            studentPieChartXmlHttpPanel.Value = "";

            //Handle Legend Labels
            studentCountChart.Series.Clear();
            var nSeries = new ChartSeries();

            studentCountChart.PlotArea.Appearance.FillStyle.MainColor = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
            studentCountChart.PlotArea.Appearance.FillStyle.FillType = FillType.Solid;
            studentCountChart.PlotArea.Appearance.Border.Color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
           
            studentCountChart.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Arial", 8);
            studentCountChart.PlotArea.YAxis.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Arial", 8);
            studentCountChart.PlotArea.XAxis.Appearance.LabelAppearance.Position.AlignedPosition = AlignedPositions.TopRight;
            nSeries.Appearance.TextAppearance.TextProperties.Color = System.Drawing.Color.Black;
            nSeries.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Arial", 8);
            nSeries.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.ItemLabels;
            
            var count = 0;

            //change to foreach for easier reading
            var gradeList = new List<string>();
            foreach (DataRow dr in countData.Rows)
            {
                var value = DataIntegrity.ConvertToDouble(dr["StudentCount"]);
                var xValue = 0;
                switch (_level)
                {
                    case EntityTypes.Teacher:
                        xValue = dr.Table.Columns.Contains("ClassID") ? DataIntegrity.ConvertToInt(dr["ClassID"]) : 0;
                        break;
                    case EntityTypes.School:
                        gradeList.Add(dr.Table.Columns.Contains("GradeNumber") ? dr["GradeNumber"].ToString() : string.Empty);
                        xValue = gradeList.Count - 1;
                        break;
                }

                var myItem = new ChartSeriesItem(value) { Name = dr["Grade"].ToString(), XValue = xValue };
                myItem.Appearance.FillStyle.MainColor = System.Drawing.ColorTranslator.FromHtml(StyleController.GetPieChartColor(dr["Grade"].ToString(), count++)); ;
                myItem.Appearance.FillStyle.FillType = Telerik.Charting.Styles.FillType.Solid;
                
                if (value <= 0) myItem.Label.Visible = false;

                nSeries.Type = ChartSeriesType.Pie;
                nSeries.AddItem(myItem);
                /*
                var classIDValue = DataIntegrity.ConvertToDouble(dr["ClassID"]);
                var classItem = new ChartSeriesItem(classIDValue) { XValue = DataIntegrity.ConvertToDouble(dr["ClassID"]) };
                classItem.Label.Visible = false;*/


                /****************************************************************
                 * if user does not have Tab_Search_Staff permissions, then hide
                 * the search tab and the radPageView associated with it.
                 * *************************************************************/
                if (!UserHasPermission(Permission.Tab_Search_Students))
                {
                    RadPageView2.Visible = false;
                    foreach (Telerik.Web.UI.RadTab tab in RadTabStrip2.Tabs)
                    {
                        if (tab.Text == "Search")
                        {
                            tab.Visible = false;
                            break;
                        }
                    }
                }

                /*******************************************************************
                 * If user does not have Icon_ExpandedSearch_Students permissions, 
                 * then hide the "Advanced Search" link via its surrounding div tag.
                 * ****************************************************************/

                StudentSearch_DivAdvancedSearch.Visible = (UserHasPermission(Permission.Icon_ExpandedSearch_Students));

            }

            SessionObject.StudentSearchParms.AddParm("GradeListFilter", gradeList);

            studentCountChart.Series.Add(nSeries);

            if (IsPostBack)
            {
                //Reloads previous search results if session object search text has a value
                if (studentsSearchText_smallTile.Value == "Search by last name..." && SessionObject.StudentSearchTxtPostBack_smallTile != null
                    && SessionObject.StudentSearchTxtPostBack_smallTile.Length > 0)
                    SearchStudentsByLastName_Click(null, null);

                return;
            }

            studentSearchMoreLink.Visible = false;
            studentsSearchTileGrid.Visible = false;
            enrollStudent.Visible = UserHasPermission(Base.Enums.Permission.Enroll_Student);
            addNewStudent.Visible = UserHasPermission(Base.Enums.Permission.Create_Student);
        }