protected void chrtFleetComparison_Click(object sender, ImageMapEventArgs e) { if (e.PostBackValue.StartsWith("HideLegend")) { ShowLegend = false; chrtComparison.Legends["RightLegend"].Enabled = false; return; } if (e.PostBackValue.StartsWith("ShowLegend")) { ShowLegend = true; chrtComparison.Legends["RightLegend"].Enabled = true; return; } if (e.PostBackValue.StartsWith("LegendClick")) { var seriesName = e.PostBackValue.Split('/')[1]; var gs = GraphInformation.SeriesData.Find(s => s.SeriesName == seriesName); gs.Displayed = !gs.Displayed; ShowSeries.AddOrRemoveString(gs.SeriesName); return; } if (e.PostBackValue.StartsWith("LegendShowLabels")) { var seriesName = e.PostBackValue.Split('/')[1]; var gs = GraphInformation.SeriesData.Find(s => s.SeriesName == seriesName); gs.ShowLabel = !gs.ShowLabel; GraphInformation.ShowLabelSeriesNames.AddOrRemoveString(gs.SeriesName); return; } }
public void LoadUseageData(IEnumerable <UsageStatisticsDataRow> statisticsData) { var colourNumber = 0; var seriesToGraph = new List <GraphSeries>(); foreach (var s in statisticsData) { var pageName = s.PageName; ShowSeries.Add(pageName); var series = new GraphSeries(pageName) { GraphColour = ColorTranslator.FromHtml("#" + GraphingColours.ColourValues[colourNumber]), Displayed = true }; series.Xvalue.Add(pageName); series.Yvalue.Add(s.PageRequests); seriesToGraph.Add(series); colourNumber++; } GraphInformation.SeriesData = seriesToGraph; }
public void LoadChart(List <FleetComparisonEntity> comparisonData) { if (!comparisonData.Any()) { return; } var series = comparisonData.Select(d => d.FleetGroupName).Distinct().ToList(); ShowSeries.AddRange(series.ToArray()); var colourNumber = 0; var seriesToGraph = new List <GraphSeries>(); foreach (var s in series) { seriesToGraph.Add(new GraphSeries(s) { GraphColour = ColorTranslator.FromHtml("#" + GraphingColours.ColourValues[colourNumber]), Displayed = true }); colourNumber++; } var minYear = comparisonData.Min(d => d.Year); var minWeekYear = comparisonData.Where(d => d.Year == minYear).Min(d => d.Week); var maxYear = comparisonData.Max(d => d.Year); var maxWeekYear = comparisonData.Where(d => d.Year == maxYear).Max(d => d.Week); int currentWeek = minWeekYear; int currentYear = minYear; do { foreach (var stg in seriesToGraph) { stg.Xvalue.Add(currentWeek); var dataEntry = comparisonData.FirstOrDefault(d => d.FleetGroupName == stg.SeriesName && d.Year == currentYear && d.Week == currentWeek); int yVal = 0; if (dataEntry != null) { yVal = dataEntry.Additions; } stg.Yvalue.Add(yVal); } currentWeek++; if (currentWeek == 13) { currentWeek = 1; currentYear++; } } while (currentWeek != maxWeekYear && currentYear != maxYear); GraphInformation.SeriesData = seriesToGraph; }
public void LoadChart(List <FleetStatusRow> fsd, PercentageDivisorType percentType) { var seriesList = new List <GraphSeries>(); hfPercentageValues.Value = percentType.ToString(); var topics = Enum.GetValues(typeof(AvailabilityTopic)); ShowSeries.Add(TopicTranslation.GetAvailabilityTopicDescription(AvailabilityTopic.Utilization)); ShowSeries.Add(TopicTranslation.GetAvailabilityTopicDescription(AvailabilityTopic.OnRent)); foreach (AvailabilityTopic t in topics) { if (percentType == PercentageDivisorType.Values) { if (t == AvailabilityTopic.Utilization || t == AvailabilityTopic.UtilizationInclOverdue) { continue; } } else { if (t == AvailabilityTopic.OnRent) { continue; } } var seriesName = TopicTranslation.GetAvailabilityTopicDescription(t); var displaySeries = false; if (ShowSeries.Count == 0) { if (t == AvailabilityTopic.Utilization || t == AvailabilityTopic.OnRent) { displaySeries = true; } } else { displaySeries = ShowSeries.Contains(seriesName); } var gs = new GraphSeries(seriesName) { GraphColour = TopicTranslation.GetAvailabilityColour(t), Displayed = displaySeries }; foreach (var f in fsd) { gs.Xvalue.Add(f.Day); var yVal = percentType == PercentageDivisorType.Values ? f.GetValue(t) : f.GetValuePercent(t); gs.Yvalue.Add(yVal); } seriesList.Add(gs); } GraphInformation.SeriesData = seriesList; }
private void LoadDifferenceChart(IEnumerable <ForecastedFleetSizeEntity> setA, IEnumerable <ForecastedFleetSizeEntity> setB) { var seriesList = new List <GraphSeries>(); var series = new List <string> { "Forecast Demand Gap", "Demand Gap Scenario A", "Demand Gap Scenario B" }; ShowSeries.AddRange(series.ToArray()); var expectedSeries = new GraphSeries(series[0]) { GraphColour = Color.DarkGreen, Displayed = true }; var expectedWithAddsA = new GraphSeries(series[1]) { GraphColour = Color.DarkOrchid, Displayed = true }; var expectedWithAddsB = new GraphSeries(series[2]) { GraphColour = Color.OrangeRed, Displayed = true }; foreach (var f in setA) { expectedSeries.Xvalue.Add(f.Week); expectedSeries.Yvalue.Add(((double)f.ExpectedFleet - f.UnConstrained)); expectedWithAddsA.Xvalue.Add(f.Week); expectedWithAddsA.Yvalue.Add((double)f.ExpectedWithAdditionPlan - f.UnConstrained); } foreach (var f in setB) { expectedWithAddsB.Xvalue.Add(f.Week); expectedWithAddsB.Yvalue.Add((double)f.ExpectedWithAdditionPlan - f.UnConstrained); } seriesList.Add(expectedSeries); seriesList.Add(expectedWithAddsA); seriesList.Add(expectedWithAddsB); GraphInformation.SeriesData = seriesList; }
public void LoadChart(List <TotalContributionRow> comparisonData) { if (!comparisonData.Any()) { return; } var series = new List <string> { "Expected Revenue", "Scenario A Revenue", "Scenario B Revenue" }; ShowSeries.AddRange(series.ToArray()); var expectedSeries = new GraphSeries(series[0]) { GraphColour = Color.DarkGreen, Displayed = true }; var expectedWithAddsA = new GraphSeries(series[1]) { GraphColour = Color.DarkOrchid, Displayed = true }; var expectedWithAddsB = new GraphSeries(series[2]) { GraphColour = Color.OrangeRed, Displayed = true }; foreach (var f in comparisonData) { var monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(f.Month); expectedSeries.Xvalue.Add(monthName); expectedSeries.Yvalue.Add((f.ExpectedContribution)); expectedWithAddsA.Xvalue.Add(monthName); expectedWithAddsA.Yvalue.Add(f.ExpectedContributionA); expectedWithAddsB.Xvalue.Add(monthName); expectedWithAddsB.Yvalue.Add(f.ExpectedContributionB); } var seriesList = new List <GraphSeries> { expectedSeries, expectedWithAddsA, expectedWithAddsB }; GraphInformation.SeriesData = seriesList; }
private void LoadValuesChart(IEnumerable <ForecastedFleetSizeEntity> setA, IEnumerable <ForecastedFleetSizeEntity> setB) { var seriesList = new List <GraphSeries>(); var series = new List <string> { "Expected", "Unconstrained", "Nessesary" , "Max A", "Min A", "Expected With Adds A", "Max B", "Min B", "Expected With Adds B" }; ShowSeries.AddRange(series.ToArray()); var expectedSeries = new GraphSeries(series[0]) { GraphColour = Color.DarkGreen, Displayed = true }; var unconstrainedSeries = new GraphSeries(series[1]) { GraphColour = Color.CornflowerBlue, Displayed = true }; var nessesarySeries = new GraphSeries(series[2]) { GraphColour = Color.Brown, Displayed = true }; var maxSeriesA = new GraphSeries(series[3]) { GraphColour = Color.Magenta, Displayed = false }; GraphInformation.HiddenSeriesNames.Add(series[3]); var minSeriesA = new GraphSeries(series[4]) { GraphColour = Color.Magenta, Displayed = false }; GraphInformation.HiddenSeriesNames.Add(series[4]); var expectedWithAddsA = new GraphSeries(series[5]) { GraphColour = Color.DarkOrchid, Displayed = true }; var maxSeriesB = new GraphSeries(series[6]) { GraphColour = Color.Orange, Displayed = false }; GraphInformation.HiddenSeriesNames.Add(series[6]); var minSeriesB = new GraphSeries(series[7]) { GraphColour = Color.Orange, Displayed = false }; GraphInformation.HiddenSeriesNames.Add(series[7]); var expectedWithAddsB = new GraphSeries(series[8]) { GraphColour = Color.OrangeRed, Displayed = true }; foreach (var f in setA) { expectedSeries.Xvalue.Add(f.Week); unconstrainedSeries.Xvalue.Add(f.Week); nessesarySeries.Xvalue.Add(f.Week); maxSeriesA.Xvalue.Add(f.Week); minSeriesA.Xvalue.Add(f.Week); expectedSeries.Yvalue.Add((double)f.ExpectedFleet); unconstrainedSeries.Yvalue.Add(f.UnConstrained); nessesarySeries.Yvalue.Add(f.Nessesary); maxSeriesA.Yvalue.Add(f.MaxFleet); minSeriesA.Yvalue.Add(f.MinFleet); expectedWithAddsA.Xvalue.Add(f.Week); expectedWithAddsA.Yvalue.Add((double)f.ExpectedWithAdditionPlan); } foreach (var f in setB) { maxSeriesB.Xvalue.Add(f.Week); minSeriesB.Xvalue.Add(f.Week); maxSeriesB.Yvalue.Add(f.MaxFleet); minSeriesB.Yvalue.Add(f.MinFleet); expectedWithAddsB.Xvalue.Add(f.Week); expectedWithAddsB.Yvalue.Add((double)f.ExpectedWithAdditionPlan); } seriesList.Add(expectedSeries); seriesList.Add(unconstrainedSeries); seriesList.Add(nessesarySeries); seriesList.Add(maxSeriesA); seriesList.Add(minSeriesA); seriesList.Add(maxSeriesB); seriesList.Add(minSeriesB); seriesList.Add(expectedWithAddsA); seriesList.Add(expectedWithAddsB); GraphInformation.SeriesData = seriesList; }
public async Task<string> GetSeriesJsonAsync(string databaseName, ShowSeries command = null) { ThrowIfDisposed(); Ensure.That(databaseName, nameof(databaseName)).IsNotNullOrWhiteSpace(); var request = CreateCommandRequest((command ?? new ShowSeries()).Generate(), databaseName); var response = await Requester.SendAsync(request).ForAwait(); EnsureSuccessfulRead(response); return response.Content; }
public async Task<Series> GetSeriesAsync(string databaseName, ShowSeries command = null) { ThrowIfDisposed(); Ensure.That(databaseName, nameof(databaseName)).IsNotNullOrWhiteSpace(); var result = new Series(); var json = await GetSeriesJsonAsync(databaseName, command).ForAwait(); var data = Requester.JsonSerializer.Deserialize<InfluxDbResponse>(json); if (data?.Results == null || !data.Results.Any()) return result; foreach (var serie in data.Results.SelectMany(r => r.Series)) { var schema = serie.GetSchemaOrdinals(); var keyOrdinal = schema[SerieSchema.Key]; result.Add(serie.Name, serie.Values.Select(value => { var serieItem = new SerieItem { Key = value[keyOrdinal].ToObject<string>() }; for (var ci = 0; ci < serie.Columns.Count; ci++) { if (ci == keyOrdinal) continue; serieItem.Tags.Add(serie.Columns[ci], value[ci].ToObject<string>()); } return serieItem; }).ToArray()); } return result; }