/// <summary> /// 趋势图的选择点事件数据源 /// </summary> public void ChartSelectionBehaviorSelection(DateTime time) { // var Engine = this.ViewEngine // .Where(o => o.OperationHistories.Any(p => p.StartDate <= time && !(p.EndDate != null && p.EndDate < time))) // .Where(o => o.OperationHistories.FirstOrDefault(p => p.StartDate <= time && !(p.EndDate != null && p.EndDate < time)).ImportCategory.ActionType .Equals( "引进"); #region 发动机引进方式XML文件的读写 var xmlConfig = XmlConfigs.FirstOrDefault(p => p.ConfigType.Equals("发动机引进方式", StringComparison.OrdinalIgnoreCase)); XElement importTypeColor = null; var colorConfig = XmlSettings.FirstOrDefault(p => p.SettingType.Equals("颜色配置", StringComparison.OrdinalIgnoreCase)); if (colorConfig != null && XElement.Parse(colorConfig.SettingContent) .Descendants("Type") .Any(p => p.Attribute("TypeName").Value.Equals("引进方式", StringComparison.OrdinalIgnoreCase))) { importTypeColor = XElement.Parse(colorConfig.SettingContent) .Descendants("Type") .FirstOrDefault( p => p.Attribute("TypeName").Value.Equals("引进方式", StringComparison.OrdinalIgnoreCase)); } if (xmlConfig != null) { var importTypeList = new List<FleetImportTypeComposition>(); //发动机引进方式饼图集合 var xelement = XElement.Parse(xmlConfig.ConfigContent) .Descendants("DateTime") .FirstOrDefault(p => Convert.ToDateTime(p.Attribute("EndOfMonth").Value) == time); if (xelement != null) { foreach (var type in xelement.Descendants("Type")) { if (type.Attribute("TypeName").Value.Equals("发动机引进方式", StringComparison.OrdinalIgnoreCase)) { foreach (var item in type.Descendants("Item")) { var fleetImportTypeComposition = new FleetImportTypeComposition { ImportType = item.Attribute("Name").Value, AirNum = Convert.ToInt32(item.Value), AirTt = item.Value + " 架,占 " + item.Attribute("Percent").Value }; if (importTypeColor != null) { var firstOrDefault = importTypeColor.Descendants("Item") .FirstOrDefault( p => p.Attribute("Name") .Value.Equals(fleetImportTypeComposition.ImportType, StringComparison.OrdinalIgnoreCase)); if (firstOrDefault != null) fleetImportTypeComposition.Color = firstOrDefault.Attribute("Color").Value; } if (fleetImportTypeComposition.AirNum > 0) { importTypeList.Add(fleetImportTypeComposition); } } } } } FleetImportTypeCollection = importTypeList; } #endregion //if (aircraft != null) //{ // //发动机详细数据 // AircraftCollection = Commonmethod.GetAircraftByTime(aircraft.ToList(), time); //} }
/// <summary> /// 趋势图的选择点事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void ChartSelectionBehavior_SelectionChanged(object sender, Telerik.Windows.Controls.ChartView.ChartSelectionChangedEventArgs e) { Telerik.Charting.DataPoint SelectedPoint = (sender as Telerik.Windows.Controls.ChartView.ChartSelectionBehavior).Chart.SelectedPoints.FirstOrDefault(p => (p.Presenter as CategoricalSeries).Visibility == Visibility.Visible); if (SelectedPoint != null) { FleetImportTypeTrend FleetImportTypeTrend = SelectedPoint.DataItem as FleetImportTypeTrend; if (SelectedTime != FleetImportTypeTrend.DateTime) { //选中时间点 SelectedTime = FleetImportTypeTrend.DateTime; DateTime time = Convert.ToDateTime(FleetImportTypeTrend.DateTime).AddMonths(1).AddDays(-1); var aircraft = this.ViewAircraft .Where(o => o.OperationHistories.Any(p => p.StartDate <= time && !(p.EndDate != null && p.EndDate < time))) .Where(o => o.OperationHistories.FirstOrDefault(p => p.StartDate <= time && !(p.EndDate != null && p.EndDate < time)).ImportCategory.ActionType == "引进"); #region 引进方式XML文件的读写 var xmlconfig = this.ViewXmlConfig.FirstOrDefault(p => p.ConfigType == "引进方式"); XElement importtypecolor = null; XmlConfig colorconfig = this.ViewXmlConfig.FirstOrDefault(p => p.ConfigType == "颜色配置"); if (colorconfig != null && colorconfig.XmlContent.Descendants("Type").Any(p => p.Attribute("TypeName").Value == "引进方式")) { importtypecolor = colorconfig.XmlContent.Descendants("Type").FirstOrDefault(p => p.Attribute("TypeName").Value == "引进方式"); } if (xmlconfig != null) { List<FleetImportTypeComposition> ImportTypeList = new List<FleetImportTypeComposition>();//引进方式饼图集合 XElement xelement = xmlconfig.XmlContent.Descendants("DateTime").FirstOrDefault(p => Convert.ToDateTime(p.Attribute("EndOfMonth").Value) == time); if (xelement != null) { foreach (XElement type in xelement.Descendants("Type")) { if (type.Attribute("TypeName").Value == "引进方式") { foreach (XElement item in type.Descendants("Item")) { FleetImportTypeComposition fleetimporttypecomposition = new FleetImportTypeComposition(); fleetimporttypecomposition.ImportType = item.Attribute("Name").Value; fleetimporttypecomposition.AirNum = Convert.ToInt32(item.Value); fleetimporttypecomposition.AirTt = item.Value + " 架,占 " + item.Attribute("Percent").Value; if (importtypecolor != null) { fleetimporttypecomposition.Color = importtypecolor.Descendants("Item") .FirstOrDefault(p => p.Attribute("Name").Value == fleetimporttypecomposition.ImportType).Attribute("Color").Value; } if (fleetimporttypecomposition.AirNum > 0) { ImportTypeList.Add(fleetimporttypecomposition); } } } } } FleetImportTypeCollection = ImportTypeList; } #endregion //飞机详细数据 AircraftCollection = commonmethod.GetAircraftByTime(aircraft.ToList(), time); } } }