示例#1
0
        /// <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);
            //}
        }
示例#2
0
        /// <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);
                }
            }
        }