Example #1
0
        public TitlePageFileV2(IBookInformationData titleInformation)
        {
            Authors.AddRange(titleInformation.Authors);
            Series.AddRange(titleInformation.Series);
            BookTitle = titleInformation.BookMainTitle;

            InternalPageTitle    = "Title";
            GuideRole            = GuideTypeEnum.TitlePage;
            FileName             = "title.xhtml";
            FileEPubInternalPath = EPubInternalPath.GetDefaultLocation(DefaultLocations.DefaultTextFolder);
            Id = "title";
        }
Example #2
0
        public void Conditionals()
        {
            SeriesExpressionParser.Debug = true;
            var tiew_qj = new Series("tiew_qj");
            var nscw_qj = new Series("nscw_qj");

            tiew_qj.TimeInterval = TimeInterval.Daily;
            nscw_qj.TimeInterval = TimeInterval.Daily;

            DateTime t1 = DateTime.Parse("1/1/2015");
            DateTime t2 = DateTime.Parse("1/10/2015");

            tiew_qj.AfterRead += new EventHandler(delegate(object o, EventArgs a)
            {
                tiew_qj.AddRange(t1, new double[] { 10, 10, 1, 1 });
            });
            nscw_qj.AfterRead += new EventHandler(delegate(object o, EventArgs a)
            {
                nscw_qj.AddRange(t1, new double[] { 11, 10, 1, 100 });
            });
            var expected  = new double[]  { 35, 0, 0, 35 };
            var expected2 = new double[] { 0, 0, 35, 0 };

            var qu = new CalculationSeries();

            qu.Expression   = "If( tiew_qj + nscw_qj > 20.0 , 35.0, 0.0)";
            qu.TimeInterval = TimeInterval.Daily;
            qu.Parser.VariableResolver.Add("tiew_qj", tiew_qj);
            qu.Parser.VariableResolver.Add("nscw_qj", nscw_qj);
            qu.Calculate(t1, t2);
            qu.WriteToConsole();
            Assert.AreEqual(4, qu.Count, " expected 4 QU values");


            for (int i = 0; i < expected.Length; i++)
            {
                Assert.AreEqual(expected[i], qu[i].Value, 0.001);
            }
            expected      = null;
            qu.Expression = "If( tiew_qj + nscw_qj < 20.0 , 35.0, 0.0)";
            qu.Calculate(t1, t2);
            qu.WriteToConsole();
            Assert.AreEqual(4, qu.Count, " expected 4 QU values");

            for (int i = 0; i < expected2.Length; i++)
            {
                Assert.AreEqual(expected2[i], qu[i].Value, 0.001);
            }
        }
Example #3
0
        /// <summary>
        /// Adds a range of series. Fastest if given an <see ref="TSeries"/>[].
        /// </summary>
        /// <param name="series">The series that will be added.</param>
        public void AddSeriesRange(IEnumerable <TSeries> series)
        {
            TSeries[] collection = series as TSeries[] ?? series.ToArray();

            Series.AddRange(collection);
            SeriesCollection.AddRange(collection);

            TChartValues[] chartValues = new TChartValues[collection.Length];
            for (int i = 0; i < chartValues.Length; i++)
            {
                chartValues[i] = new TChartValues();
            }

            ChartValues.AddRange(chartValues);
        }
        public void DataBindChart()
        {
            LoadChartDataUsingSPSiteDataQuery();

            TraceHeader();

            try
            {
                if (_numberOfColumnsInChartDataTable > 0 && _numberOfRowsInChartDataTable > 0) // has data points
                {
                    if (IsBubbleChart())
                    {
                        Series.AddRange(BuildSeriesArrayForBubbleChart());
                    }
                    else
                    {
                        int iCol = 0;
                        var x    = new String[_numberOfColumnsInChartDataTable];
                        foreach (DataColumn col in ChartDataTable.Columns)
                        {
                            if (col.ColumnName != "SeriesName")
                            {
                                x[iCol] = col.ColumnName;
                                iCol++;
                            }
                        }

                        DataView v = ChartDataTable.DefaultView;
                        v.Sort         = "[" + ChartDataTable.Columns[0].ColumnName + "] desc";
                        ChartDataTable = v.ToTable();

                        switch (PropChartAggregationType.ToUpper())
                        {
                        case "COUNT":
                            if ((PropChartZaxisField.Trim() == "" || PropChartZaxisField.Contains("None Selected")) &&
                                _numberOfRowsInChartDataTable > 1)
                            {
                                foreach (DataRow dr in ChartDataTable.Rows)
                                {
                                    AddChartSeries(dr["SeriesName"].ToString(), PropChartAggregationType, ChartDataTable.Rows.Count, 0, false, false);
                                }
                            }
                            else
                            {
                                foreach (DataRow dr in ChartDataTable.Rows)
                                {
                                    AddChartSeries(dr["SeriesName"].ToString(), PropChartAggregationType, ChartDataTable.Rows.Count, 0, false, false);
                                }
                            }
                            break;

                        case "SUM":
                        case "AVG":
                            if ((String.IsNullOrEmpty(PropChartZaxisField.Trim()) ||
                                 PropChartZaxisField.Contains("None Selected")) && _numberOfRowsInChartDataTable > 1)
                            {
                                foreach (DataRow dr in ChartDataTable.Rows)
                                {
                                    AddChartSeries(dr["SeriesName"].ToString(), PropChartAggregationType, ChartDataTable.Rows.Count, 0, false, true);
                                }
                            }
                            else
                            {
                                foreach (DataRow dr in ChartDataTable.Rows)
                                {
                                    AddChartSeries(dr["SeriesName"].ToString(), PropChartAggregationType, ChartDataTable.Rows.Count, 0, false, true);
                                }
                            }
                            break;

                        default:
                            break;
                        }
                    }
                }
                else // no data points - show msg
                {
                    PropChartTitle = "There are no results to show in this chart.";
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }