using System.Collections.Generic; using System.Linq; using Visifire.Charts; namespace BillPayManager.Charting { /// <summary> /// Charting tool /// </summary> public class LineCharting : ICharting { #region ICharting /// <summary> /// Gets Chart Title /// </summary> /// <param name="name">Name of the chart</param> /// <returns>Title object</returns> public Title GetTitle(string name) { Title title = new Title {Text = name}; return title; } /// <summary> /// Get chart axis /// </summary> /// <param name="type">Type of the interval</param> /// <param name="list">List</param> /// <returns>Axis object</returns> public Axis GetAxis(IntervalTypes type, IEnumerable<BillsEntityLib.Bill> list) { // Create a new Axis Axis axis = new Axis {IntervalType = type, Interval = (list == null) ? 0 : list.Count()}; return axis; } /// <summary> /// Get data series object /// </summary> /// <param name="list">List of bills</param> /// <param name="valueType">Chart value type</param> /// <returns>DataSeries object</returns> public DataSeries GetDataSeries(IEnumerable<BillsEntityLib.Bill> list, ChartValueTypes valueType) { // Create a new instance of DataSeries DataSeries dataSeries = new DataSeries {RenderAs = RenderAs.Line, XValueType = valueType}; if (list == null) return dataSeries; foreach (BillsEntityLib.Bill bill in list) { // Create a new instance of DataPoint DataPoint dataPoint = new DataPoint {XValue = bill.AddedOn, YValue = (double) bill.Amount}; // Set XValue for a DataPoint // Set YValue for a DataPoint // Add dataPoint to DataPoints collection dataSeries.DataPoints.Add(dataPoint); } return dataSeries; } #endregion } }
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)