zoukankan      html  css  js  c++  java
  • 类 映射 遍历大全

                    foreach (T_GL_AnalysisCalculation item in AnalysisCalculationList)
                    {
                        foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties())
                        {
                            var Key = p.Name;
                            var Value = p.GetValue(item, null);


                            #region 行业最优
                            if (Key == "Reporttype" && Value.ToString() == "Max")
                            {
                                foreach (System.Reflection.PropertyInfo pYear in item.GetType().GetProperties())
                                {
                                    var KeyYear = pYear.Name;
                                    var ValueYear = pYear.GetValue(item, null);
                                    if (KeyYear == "Year" && ValueYear.ToString() == "1")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMax1 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "3")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMax3 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "5")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMax5 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "10")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMax10 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                }
                            }

                            #endregion

                            #region 行业平均
                            if (Key == "Reporttype" && Value.ToString() == "Average")
                            {
                                foreach (System.Reflection.PropertyInfo pYear in item.GetType().GetProperties())
                                {
                                    var KeyYear = pYear.Name;
                                    var ValueYear = pYear.GetValue(item, null);
                                    if (KeyYear == "Year" && ValueYear.ToString() == "1")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueAverage1 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "3")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueAverage3 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "5")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueAverage5 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "10")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueAverage10 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                }
                            }


                            #endregion

                            #region 行业最差
                            if (Key == "Reporttype" && Value.ToString() == "Min")
                            {
                                foreach (System.Reflection.PropertyInfo pYear in item.GetType().GetProperties())
                                {
                                    var KeyYear = pYear.Name;
                                    var ValueYear = pYear.GetValue(item, null);
                                    if (KeyYear == "Year" && ValueYear.ToString() == "1")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMin1 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "3")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMin3 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "5")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMin5 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                    if (KeyYear == "Year" && ValueYear.ToString() == "10")
                                    {
                                        foreach (System.Reflection.PropertyInfo pYearValue in item.GetType().GetProperties())
                                        {
                                            var KeyYearName = pYearValue.Name;
                                            var KeyYearValue = pYearValue.GetValue(item, null);
                                            if (KeyYearName.Length > 5 && KeyYearName.Substring(Key.Length - 5).Replace("_", ".") == code.ToString())
                                            {
                                                entiey.ValueMin10 = Convert.ToDecimal(KeyYearValue);
                                            }
                                        }
                                    }
                                }
                            }


                            #endregion

                        }
                    }


                    foreach (System.Reflection.PropertyInfo p in entiey.GetType().GetProperties())
                    {
                        var Key = p.Name;
                        var Value = p.GetValue(entiey, null);
                        if (Key.Substring(0, 1) == "Q")
                        {


                            foreach (var item in AnalysisCalculationQAllList)
                            {
                                if (item.Reporttype == quarter + Key.Substring(1, Key.Length - 1))
                                {
                                    foreach (System.Reflection.PropertyInfo I in item.GetType().GetProperties())
                                    {
                                        var itemKey = I.Name;
                                        var itemValue = I.GetValue(item, null);
                                        if (code.ToString() == itemKey.Replace("_", "."))
                                        {
                                            p.SetValue(entiey, itemValue, null);
                                        }
                                    }
                                }
                            }
                        }
                    }

  • 相关阅读:
    CentOS6.3 编译安装LAMP(4):编译安装 PHP5.2.17
    CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25
    解决URL中包含“%2F”导致Apache地址重写mod_rewrite失效的问题
    Apache静态编译与动态编译详解
    Apache常用2种工作模式prefork和worker比较
    Apache 优化配置10条建议
    Apache prefork 模块指令分析
    PHP上传(单个)文件示例
    CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25
    CentOS6.3 编译安装LAMP(1):准备工作
  • 原文地址:https://www.cnblogs.com/520cc/p/4081642.html
Copyright © 2011-2022 走看看