Ejemplo n.º 1
0
        public static string BindLeftMenu(this HtmlHelper helper, List <System_Menu> DataSource, Dictionary <string, string> permissions)
        {
            ADOComm commInstance = new ADOComm();
            //权限过滤
            var IS_OPEN_PERMISSION = ConfigHelper.GetApp("IS_OPEN_PERMISSION");

            if (!string.IsNullOrEmpty(IS_OPEN_PERMISSION) && IS_OPEN_PERMISSION == "true")
            {
                DataSource = DataSource.Where(o => permissions.Keys.Contains(o.Menu_Code)).ToList();
            }

            StringBuilder sb = new StringBuilder();

            if (DataSource != null && DataSource.Count > 0)
            {
                sb.Append(LeftMenuMax(helper, DataSource));
            }
            return(sb.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 绑定左侧菜单
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="DataSource"></param>
        /// <returns></returns>
        public static string BindLeftMenu(this HtmlHelper helper, List <System_Menu> DataSource)
        {
            ADOComm commInstance = new ADOComm();
            //权限过滤
            var IS_OPEN_PERMISSION = ConfigHelper.GetApp("IS_OPEN_PERMISSION");
            //if (!string.IsNullOrEmpty(IS_OPEN_PERMISSION) && IS_OPEN_PERMISSION == "true")
            //{
            //    string[] array=commInstance.UserPermissionArray(SessionConfig.UserId());
            //    DataSource = DataSource.Where(o => array.Contains(o.Menu_Code)).ToList();
            //}

            StringBuilder sb = new StringBuilder();

            if (DataSource != null && DataSource.Count > 0)
            {
                sb.Append(LeftMenuMax(helper, DataSource));
            }
            return(sb.ToString());
        }
Ejemplo n.º 3
0
        private static string CreateHtml(string Location)
        {
            StringBuilder builder = new StringBuilder();
            string        str     = "<li><a href='{0}'>{1}:({2})</a></li>";
            //Bll_Sys_DesktopConfig config = new Bll_Sys_DesktopConfig();
            ADOComm BLL_Comm = new ADOComm();
            ADOSys_DesktopConfig     config = new ADOSys_DesktopConfig();
            List <Sys_DesktopConfig> source = new List <Sys_DesktopConfig>();

            source = (from o in config.GetListByWhere(" AND SC_AreaPCode='" + Location + "' ")
                      orderby o.SC_Order
                      select o).ToList <Sys_DesktopConfig>();
            var enumerable = from a in source
                             group a by new { SC_Group = a.SC_Group } into g
                select new { SC_Group = g.Key.SC_Group };

            if (enumerable.Count() > 0)
            {
                using (var enumerator = enumerable.GetEnumerator())
                {
                    Func <Sys_DesktopConfig, bool> predicate = null;
                    var d = enumerator.Current;
                    while (enumerator.MoveNext())
                    {
                        try
                        {
                            d = enumerator.Current;
                            if (predicate == null)
                            {
                                predicate = o => o.SC_Group == d.SC_Group;
                            }
                            List <Sys_DesktopConfig> list2 = source.Where <Sys_DesktopConfig>(predicate).ToList <Sys_DesktopConfig>();
                            if (list2.Count > 0)
                            {
                                if (!string.IsNullOrEmpty(d.SC_Group))
                                {
                                    builder.AppendFormat("<fieldset> <legend>{0}</legend>", d.SC_Group);
                                }
                                foreach (Sys_DesktopConfig config2 in list2)
                                {
                                    string template = !string.IsNullOrEmpty(config2.SC_Loop) ? config2.SC_Loop : str;
                                    string str3     = !string.IsNullOrEmpty(config2.SC_Loop) ? config2.SC_Loop : str;
                                    template = str3;

                                    string newValue = !string.IsNullOrEmpty(config2.SC_URL) ? config2.SC_URL : "#";
                                    if (!string.IsNullOrEmpty(config2.SC_SQL))
                                    {
                                        string    str5  = config2.SC_SQL;
                                        DataTable table = new DataTable();
                                        if (str5.ToLower().Contains("qx_proc"))
                                        {
                                            Dictionary <string, string> dictionary = ParseProc(str5);
                                            if (dictionary.Count > 0)
                                            {
                                                SqlParameter[] parameterArray = new SqlParameter[dictionary.Count - 1];
                                                int            index          = 0;
                                                foreach (KeyValuePair <string, string> pair in dictionary)
                                                {
                                                    if (pair.Key != "qx_proc")
                                                    {
                                                        parameterArray[index] = new SqlParameter {
                                                            ParameterName = "@" + pair.Key, Value = pair.Value, SqlDbType = SqlDbType.VarChar, Size = 50
                                                        };
                                                        index++;
                                                    }
                                                }
                                                table = BLL_Comm.ExcuteProc(dictionary["qx_proc"], (IDbDataParameter[])parameterArray);
                                            }
                                        }
                                        else
                                        {
                                            table = BLL_Comm.idb.ReturnDataTable(str5);
                                        }
                                        if (table.Rows.Count > 0)
                                        {
                                            for (int i = 0; i < table.Rows.Count; i++)
                                            {
                                                decimal result = 0M;
                                                decimal.TryParse(table.Rows[i][0].ToString(), out result);
                                                string str6 = table.Rows[i][0].ToString();
                                                if (!string.IsNullOrEmpty(config2.SC_Filter))
                                                {
                                                    decimal num4 = 0M;
                                                    decimal.TryParse(config2.SC_Filter.Substring(1, config2.SC_Filter.Length - 1), out num4);
                                                    if (config2.SC_Filter.Contains(">"))
                                                    {
                                                        if (num4 < result)
                                                        {
                                                            str6 = string.Format("<font color='{0}'>{1}</font>", config2.SC_Color, str6);
                                                        }
                                                    }
                                                    else if (num4 > result)
                                                    {
                                                        str6 = string.Format("<font color='{0}'>{1}</font>", config2.SC_Color, str6);
                                                    }
                                                }
                                                //如果名字为空,则取数据库里面对应的列的数据作为名字
                                                if (string.IsNullOrEmpty(config2.SC_AreaName))
                                                {
                                                    if (table.Rows[i]["ColName"] != null)
                                                    {
                                                        str3 = template.Replace("{0}", newValue).Replace("{1}", table.Rows[i]["ColName"].ToString()).Replace("{2}", str6);
                                                        builder.AppendLine(str3);
                                                    }
                                                }
                                                else
                                                {
                                                    str3 = template.Replace("{0}", newValue).Replace("{1}", config2.SC_AreaName).Replace("{2}", str6);
                                                    builder.AppendLine(str3);
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        str3 = str3.Replace("{0}", newValue).Replace("{1}", config2.SC_AreaName);
                                        builder.AppendLine(str3);
                                    }
                                }
                                if (!string.IsNullOrEmpty(d.SC_Group))
                                {
                                    builder.AppendLine("</fieldset>");
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }//whild
                }
            }
            return(builder.ToString());
        }