918博天堂

Server : Microsoft-IIS/10.0
System : Windows NT EBS-6136 10.0 build 17763 (Windows Server 2016) i586
User : jxgj ( 0)
PHP Version : 7.0.33
Disable Function : passthru,exec,system,shell_exec,proc_open,popen,pcntl_exec,socket_bind,stream_socket_server
Directory :  D:/tmp_aspnet/root/54f3ceba/6be944cd/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : D:/tmp_aspnet/root/54f3ceba/6be944cd/App_Code.0bgol3qt.2.cs
?#pragma checksum "D:\wwwroot\klbttc\wwwroot\App_Code\myFc.cs" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "ABA1961AC65188BB8F9D85483ECC3167C73BAB6B"

#line 1 "D:\wwwroot\klbttc\wwwroot\App_Code\myFc.cs"
using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
using System.Linq;
using System.Net.Mail;

/// <summary>
///MyFunction 的提要注明
/// </summary>
public class MyFunction
{
    public MyFunction()
    {
        //
        //TODO: 在此处增长机关函数逻辑
        //
    }

    public string returnParaClassID(string childID)
    {
        C mdb = new C();
        DataSet ds = new DataSet();
        string id = "0";
        ds = mdb.GetDs("select * from classsys where classsys4=20 and classsys0=" + childID);
        if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
        {
            id = ds.Tables[0].Rows[0]["classsys2"].ToString();
        }
        return id;
    }

    /// <summary>
    /// 带下拉菜单导航栏链接
    /// </summary>
    /// <param name="topcount"></param>
    /// <returns></returns>
    public static string getUrls(int topcount, int vid)
    {
        StringBuilder meun = new StringBuilder();
        //meun.AppendLine("<li " + (vid == 0 ? "class=\"active\"" : "class=\"list\"") + "><a href=\"/\">首页</a></li>");
        meun.AppendLine("<li class=\"list\"><a href=\"/\">首页</a></li>");
        C mdb = new C();
        DataSet mds = new DataSet();

        mds = mdb.GetDs("select top " + topcount + " menusys0,menusys1,menusys12 from menusys where menusys3=0 and (MenuSys13!='none' or MenuSys13 is null) order by menusys4");
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i][2].ToString()))
                {
                    //meun.AppendLine("<li " + (vid == int.Parse(mds.Tables[0].Rows[i][0].ToString()) ? "class=\"active\"" : "class=\"list\"") + "><a href=\"" + mds.Tables[0].Rows[i][2].ToString() + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a>");
                    meun.AppendLine("<li class=\"list\"><a href=\"" + mds.Tables[0].Rows[i][2].ToString() + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a>");
                }
                else
                {
                    //meun.AppendLine("<li " + (vid == int.Parse(mds.Tables[0].Rows[i][0].ToString()) ? "class=\"active\"" : "class=\"list\"") + "><a href=\"" + getChilUrl(mds.Tables[0].Rows[i][0].ToString()) + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a>");
                    meun.AppendLine("<li class=\"list\"><a href=\"" + getChilUrl(mds.Tables[0].Rows[i][0].ToString()) + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a>");
                }
                meun.AppendLine(childMeun(mds.Tables[0].Rows[i][0].ToString()));
                meun.AppendLine("</li>");
            }
        }

        return meun.ToString();
    }

    /// <summary>
    /// 不带下拉菜单导航链接
    /// </summary>
    /// <param name="topcount">导航排序</param>
    /// <param name="vid">导航一级栏目ID</param>
    /// <returns></returns>
    public static string getMainUrls(int topcount, int vid)
    {
        StringBuilder meun = new StringBuilder();

        meun.AppendLine("<li " + (vid == 0 ? "class=\"active\"" : "") + "><a href=\"/\" class=\"far\">网站首页</a></li>");

        C mdb = new C();
        DataSet mds = new DataSet();

        string sql = @"with m as(
SELECT top {0} m1.menusys0,m1.menusys1,m1.menusys15 FROM menusys as m1 inner join menusys as m2 on m1.MenuSys0=m2.MenuSys3 and m2.MenuSys11=0 WHERE m1.menusys3=0 and (m1.MenuSys13!='none' or m1.MenuSys13 is null) group by m1.menusys0,m1.menusys1,m1.menusys4,m1.menusys15 order by m1.menusys4
)
SELECT *,
STUFF((SELECT ','+convert(varchar,MenuSys0) FROM menusys WHERE menusys3=m.menusys0 FOR XML PATH('')),1,1,'') AS mid
FROM m";
        mds = mdb.GetDs(string.Format(sql, topcount));
        //mds = mdb.GetDs("select top " + topcount + "  m1.menusys0,m1.menusys1,m1.menusys15 from menusys as m1 inner join menusys as m2 on m1.MenuSys0=m2.MenuSys3 and m2.MenuSys11=0 where m1.menusys3=0 and (m1.MenuSys13!='none' or m1.MenuSys13 is null) group by m1.menusys0,m1.menusys1,m1.menusys4,m1.menusys15 order by m1.menusys4");
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                var mids = mds.Tables[0].Rows[i]["mid"].ToString();
                if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i][2].ToString()))
                {
                    //meun.AppendLine("<li " + (vid == int.Parse(mds.Tables[0].Rows[i][0].ToString()) ? "class=\"active\"" : "") + "><a href=\"" + mds.Tables[0].Rows[i][2].ToString() + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a></li>");
                    meun.AppendLine("<li " + (IsContains(mids, vid) ? "class=\"active\"" : "") + "><a href=\"" + mds.Tables[0].Rows[i][2].ToString() + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a></li>");
                }
                else
                {
                    //meun.AppendLine("<li " + (vid == int.Parse(mds.Tables[0].Rows[i][0].ToString()) ? "class=\"active\"" : "") + "><a href=\"" + getChilUrl(mds.Tables[0].Rows[i][0].ToString()) + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a></li>");
                    meun.AppendLine("<li " + (IsContains(mids, vid) ? "class=\"active\"" : "") + "><a href=\"" + getChilUrl(mds.Tables[0].Rows[i][0].ToString()) + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a></li>");
                }

            }
        }

        return meun.ToString();
    }

    private static bool IsContains(string aryVal, int mid)
    {
        var patterMid = mid.ToString();
        if (string.IsNullOrEmpty(aryVal)) return false;
        return aryVal.Split(',').Any(c => c == patterMid);
    }

    /// <summary>
    /// 移动端带下拉菜单导航链接
    /// </summary>
    /// <param name="topcount">导航排序</param>
    /// <param name="vid">导航一级栏目ID</param>
    /// <returns></returns>
    public static string getMobileMainUrls(int topcount)
    {
        StringBuilder meun = new StringBuilder();
        meun.AppendLine("<li><div class=\"link\"><a href=\"/\">首页</a></div></li>");

        C mdb = new C();
        DataSet mds = new DataSet();

        //mds = mdb.GetDs("select top " + topcount + "  m1.menusys0,m1.menusys1,m1.menusys15 from menusys as m1 inner join menusys as m2 on m1.MenuSys0=m2.MenuSys3 and m2.MenuSys11=0 where m1.menusys3=0 and (m1.MenuSys13!='none' or m1.MenuSys13 is null) group by m1.menusys0,m1.menusys1,m1.menusys4,m1.menusys15 order by m1.menusys4");
        mds = mdb.GetDs("select top " + topcount + " menusys0,menusys1,menusys12 from menusys where menusys3=0 and (MenuSys13!='none' or MenuSys13 is null) order by menusys4");
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                var tuple = GetChildMeun(int.Parse(mds.Tables[0].Rows[i][0].ToString()));
                if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i][2].ToString()))
                {
                    meun.AppendLine("<li><div class=\"link\"><a href=\"" + mds.Tables[0].Rows[i][2].ToString() + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a>" + (tuple.Item1 ? "<i class=\"fa fa-chevron-down\"></i>" : "") + "</div>");
                }
                else
                {
                    meun.AppendLine("<li><div class=\"link\"><a href=\"" + getChilUrl(mds.Tables[0].Rows[i][0].ToString()) + "\">" + mds.Tables[0].Rows[i][1].ToString() + "</a>" + (tuple.Item1 ? "<i class=\"fa fa-chevron-down\"></i>" : "") + "</div>");
                }

                meun.AppendLine(tuple.Item2);
                meun.AppendLine("</li>");
            }
        }

        return meun.ToString();
    }

    /// <summary>
    /// 底部带下拉菜单导航链接
    /// </summary>
    /// <param name="topcount">导航排序</param>
    /// <param name="vid">导航一级栏目ID</param>
    /// <returns></returns>
    public static string getFootMainUrls(int topcount)
    {
        StringBuilder meun = new StringBuilder();
        C mdb = new C();
        DataSet mds = new DataSet();

        mds = mdb.GetDs("select top " + topcount + " menusys0,menusys1,menusys12 from menusys where menusys3=0 and (MenuSys13!='none' or MenuSys13 is null) order by menusys4");
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                meun.AppendLine("<div class=\"item\">");
                meun.AppendLine("<p class=\"tit\">" + mds.Tables[0].Rows[i][1].ToString() + "</p>");
                meun.AppendLine(childMeunFoot(mds.Tables[0].Rows[i][0].ToString()));
                meun.AppendLine("</div>");
            }
        }

        return meun.ToString();
    }

    /// <summary>
    /// 导航栏带分类的下拉菜单
    /// </summary>
    /// <param name="mid"></param>
    /// <returns></returns>
    public static string childMeun(string mid)
    {
        if (mid == "107" || mid == "125" || mid == "167") return "";
        StringBuilder meun = new StringBuilder();

        C mdb = new C();
        DataSet mds = new DataSet();
        string sql = "";
        if (mid == "800000000")
        {
            sql = "SELECT classsys0,classsys1 FROM classsys where classsys4=66 and classsys2!=0 order by classsys3 ";
        }
        else
        {
            sql = "select * from menusys where menusys3=" + mid + " and MenuSys11=0 and (MenuSys13<>'none' or MenuSys13 is null) and MenuSys9< >'resume' and MenuSys2 <> N'classsys/' order by menusys4";
        }


        mds = mdb.GetDs(sql);

        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            meun.AppendLine("<div class=\"drop-down\">");

            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                string openNew = "";
                if (mds.Tables[0].Rows[i]["menusys1"].ToString() == "人才招聘")
                {

                    openNew = "target=_blank";
                }

                if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys15"].ToString()))
                {
                    meun.Append("<a  " + openNew + " href=\"" + mds.Tables[0].Rows[i]["MenuSys15"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "#" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a>");
                }
                else if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys12"].ToString()))
                {
                    //target="_bank"
                    meun.Append("<a  " + openNew + " href=\"" + mds.Tables[0].Rows[i]["MenuSys12"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a>");
                }
                else
                {
                    meun.Append("<a  " + openNew + " href=\"" + mds.Tables[0].Rows[i]["MenuSys9"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "#" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a>");
                }
            }

            meun.AppendLine("</div>");

        }


        return meun.ToString();
    }

    /// <summary>
    /// 底部导航栏带分类的下拉菜单
    /// </summary>
    /// <param name="mid"></param>
    /// <returns></returns>
    public static string childMeunFoot(string mid)
    {
        StringBuilder meun = new StringBuilder();

        C mdb = new C();
        DataSet mds = new DataSet();
        string sql = "";
        if (mid == "80000000000")
        {
            sql = "SELECT classsys0,classsys1 FROM classsys where classsys4=66 and classsys2!=0 order by classsys3 ";
        }
        else
        {
            sql = "select * from menusys where menusys3=" + mid + " and MenuSys11=0 and (MenuSys13<>'none' or MenuSys13 is null) and MenuSys9< >'resume' and MenuSys2 <> N'classsys/' order by menusys4";
        }


        mds = mdb.GetDs(sql);

        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            meun.AppendLine("<ul class=\"list\">");

            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys15"].ToString()))
                {
                    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys15"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "#" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                }
                else if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys12"].ToString()))
                {
                    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys12"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                }
                else
                {
                    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys9"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "#" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                }

                //if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys15"].ToString()))
                //{
                //    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys15"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                //}
                //else
                //{
                //    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys9"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                //}
            }

            meun.AppendLine("</ul>");

        }


        return meun.ToString();
    }

    public static string get2Meun(int fid)
    {
        StringBuilder meun = new StringBuilder();

        C mdb = new C();
        DataSet mds = new DataSet();
        string sql = "";
        if (fid == 8)
        {
            sql = "SELECT top 6 classsys0,classsys1 FROM classsys where classsys4=20 and classsys2=0 order by classsys3 ";
        }
        else if (fid == 126)
        {
            sql = "SELECT top 6 classsys0,classsys1 FROM classsys where classsys4=141 and classsys2=0 order by classsys3 ";
        }
        else
        {
            sql = "select * from menusys where menusys3=" + fid + " and MenuSys11=0 and (MenuSys13<>'none' or MenuSys13 is null) and MenuSys9< >'resume' and MenuSys2 <> N'classsys/' order by menusys4";
        }

        mds = mdb.GetDs(sql);
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            if (fid == 8)
            {
                for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
                {
                    meun.Append("<a href=\"product.aspx?mid=19&sid=" + mds.Tables[0].Rows[i]["classsys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["classsys1"].ToString() + "</a>");
                }
            }
            else if (fid == 126)
            {
                for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
                {
                    meun.Append("<a href=\"project.aspx?mid=119&sid=" + mds.Tables[0].Rows[i]["classsys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["classsys1"].ToString() + "</a>");
                }
            }
            else
            {
                for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
                {
                    if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys12"].ToString()))
                    {
                        meun.Append("<a href=\"" + mds.Tables[0].Rows[i]["MenuSys12"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a>");
                    }
                    else
                    {
                        meun.Append("<a href=\"" + mds.Tables[0].Rows[i]["MenuSys9"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a>");
                    }
                }
            }
        }

        return meun.ToString();

    }

    public static Tuple<bool, string> GetChildMeun(int mid)
    {
        C mdb = new C();
        DataSet mds = new DataSet();
        string sql = "select * from menusys where menusys3=" + mid + " and MenuSys11=0 and (MenuSys13<>'none' or MenuSys13 is null) and MenuSys9< >'resume' and MenuSys2 <> N'classsys/' order by menusys4";

        StringBuilder meun = new StringBuilder();

        var isHasChildMenu = false;
        mds = mdb.GetDs(sql);
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            meun.Append("<ul class=\"submenu\">");
            isHasChildMenu = true;
            for (int i = 0; i < mds.Tables[0].Rows.Count; i++)
            {
                if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys15"].ToString()))
                {
                    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys15"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "#" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                }
                else if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[i]["MenuSys12"].ToString()))
                {
                    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys12"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                }
                else
                {
                    meun.Append("<li><a href=\"" + mds.Tables[0].Rows[i]["MenuSys9"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "#" + mds.Tables[0].Rows[i]["MenuSys0"].ToString() + "\">" + mds.Tables[0].Rows[i]["menusys1"].ToString() + "</a></li>");
                }
            }
            meun.Append("</ul>");
        }

        return new Tuple<bool, string>(isHasChildMenu, meun.ToString());
    }

    /// <summary>
    /// 导航栏目文件指向链接
    /// </summary>
    /// <param name="mid"></param>
    /// <returns></returns>
    public static string getChilUrl(string mid)
    {
        string urls = "";
        C mdb = new C();
        DataSet mds = new DataSet();

        mds = mdb.GetDs("select top 1 * from menusys where menusys3=" + mid + " and MenuSys11=0 and (MenuSys13<>'none' or MenuSys13 is null) and MenuSys9< >'resume' and MenuSys2 <> N'classsys/' order by menusys4 asc");
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            if (!string.IsNullOrWhiteSpace(mds.Tables[0].Rows[0]["MenuSys15"].ToString()))
            {
                urls = mds.Tables[0].Rows[0]["MenuSys15"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[0]["MenuSys0"].ToString();
            }
            else
            {
                urls = mds.Tables[0].Rows[0]["MenuSys9"].ToString() + ".aspx?mid=" + mds.Tables[0].Rows[0]["MenuSys0"].ToString();
            }
        }
        return urls;
    }


    /// <summary>
    /// 执行多条SQL语句,实现数据库事务。
    /// </summary>
    /// <param name="SQLStringList">多条SQL语句</param>		
    public static int ExecuteSqlTran(List<String> SQLStringList)
    {
        //HashSet<string> Bag = new HashSet<string>();
        using (SqlConnection conn = new SqlConnection(new C().ConString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            SqlTransaction tx = conn.BeginTransaction();
            cmd.Transaction = tx;
            try
            {
                int count = 0;
                for (int n = 0; n < SQLStringList.Count; n++)
                {
                    string strsql = SQLStringList[n];
                    if (strsql.Trim().Length > 1)
                    {
                        cmd.CommandText = strsql;
                        count += cmd.ExecuteNonQuery();
                    }
                }
                tx.Commit();
                return count;
            }
            catch
            {
                tx.Rollback();
                return 0;
            }

        }
    }

    /// <summary>
    /// 执行SQL语句,返回影响的纪录数
    /// </summary>
    /// <param name="SQLString">SQL语句</param>
    /// <returns>影响的纪录数</returns>
    public static int ExecuteSql(string SQLString, params SqlParameter[] cmdParms)
    {
        using (SqlConnection connection = new SqlConnection(new C().ConString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                try
                {
                    PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                    int rows = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return rows;
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    throw e;
                }
            }
        }
    }


    /// <summary>
    /// 执行一条推算查问了局语句,返回查问了局(object)。
    /// </summary>
    /// <param name="SQLString">推算查问了局语句</param>
    /// <returns>查问了局(object)</returns>
    public static object GetSingle(string SQLString, params SqlParameter[] cmdParms)
    {
        using (SqlConnection connection = new SqlConnection(new C().ConString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                try
                {
                    PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                    object obj = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                    {
                        return null;
                    }
                    else
                    {
                        return obj;
                    }
                }
                catch (System.Data.SqlClient.SqlException e)
                {
                    throw e;
                }
            }
        }
    }

    /// <summary>
    /// 执行查问语句,返回DataSet
    /// </summary>
    /// <param name="SQLString">查问语句</param>
    /// <returns>DataSet</returns>
    public static DataSet Query(string SQLString, params SqlParameter[] cmdParms)
    {
        using (SqlConnection connection = new SqlConnection(new C().ConString))
        {
            SqlCommand cmd = new SqlCommand();
            PrepareCommand(cmd, connection, null, SQLString, cmdParms);
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                DataSet ds = new DataSet();
                try
                {
                    da.Fill(ds, "ds");
                    cmd.Parameters.Clear();
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    throw new Exception(ex.Message);
                }
                return ds;
            }
        }
    }

    private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        cmd.Connection = conn;
        cmd.CommandText = cmdText;
        if (trans != null)
            cmd.Transaction = trans;
        cmd.CommandType = CommandType.Text;//cmdType;
        if (cmdParms != null)
        {
            foreach (SqlParameter parameter in cmdParms)
            {
                if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
                    (parameter.Value == null))
                {
                    parameter.Value = DBNull.Value;
                }
                cmd.Parameters.Add(parameter);
            }
        }
    }


    /// <summary>
    /// 凭据指定前提查问数据
    /// </summary>
    /// <param name="count"></param>
    /// <param name="title"></param>
    /// <param name="where"></param>
    /// <param name="orderby"></param>
    /// <param name="re"></param>
    public static void repeater(int count, string title, string where, string orderby, Repeater re)
    {
        C mdb = new C();
        DataSet mds = new DataSet();

        if (count != 0)
        {
            mds = mdb.GetDs("select top (" + count + ") * from " + title + " where " + where + "  " + orderby + "");
        }
        else
        {
            mds = mdb.GetDs("select * from " + title + " where " + where + "  " + orderby + "");
        }

        if (mds.Tables.Count > 0)
        {
            if (mds.Tables[0].Rows.Count > 0)
            {
                re.DataSource = mds.Tables[0];
                re.DataBind();
            }
        }
    }

    /// <summary>
    /// 获取后盾配置的二维码
    /// </summary>
    /// <param name="mid">二维码设置的栏目ID</param>
    /// <returns></returns>
    public static string GetQRCode(int mid)
    {
        string urls = string.Empty;
        C mdb = new C();
        DataSet mds = new DataSet();

        mds = mdb.GetDs("select top 1 link2 from link where link5 = " + mid + " order by link6 asc");
        if (mds.Tables.Count > 0 && mds.Tables[0].Rows.Count > 0)
        {
            urls = mds.Tables[0].Rows[0][0].ToString();
        }
        return urls;
    }


    public static string gerProductInfo(string id)
    {
        int pid = 0;
        if (id.Length > 0)
        {
            int.TryParse(id, out pid);
        }
        StringBuilder builder = new StringBuilder();
        StringBuilder sb = new StringBuilder();
        C c = new C();
        DataSet ds = new DataSet();

        string remark = string.Empty;
        ds = MyFunction.Query("SELECT about4 FROM about WHERE about5 =@mid", new SqlParameter[] { new SqlParameter("@mid", 1002) });
        if (ds.Tables.Count > 0)
        {
            if (ds.Tables[0].Rows.Count > 0)
            {
                remark = ds.Tables[0].Rows[0]["about4"].ToString();
            }
        }

        builder.AppendLine("<div class=\"table-box\">");
        builder.AppendLine("<p class=\"lanmu_tit\">" + remark + "</p>");
        builder.AppendLine("<div class=\"yfgx3\">");

        //54:肿瘤管线=>199:肿瘤管线标识
        //55:非肿瘤管线=>200:非肿瘤管线标识
        //keyValues.Add("产品管线分类ID", "产品管线分类对应的标识分类栏目ID");
        Dictionary<int, int> keyValues = new Dictionary<int, int>();
        keyValues.Add(54, 199);//肿瘤管线标识
        keyValues.Add(55, 200);//非肿瘤管线标识
                               //产品
                               //        string SQL = @"SELECT p.*,c.*,
                               //c11.classsys7 color11,
                               //c12.classsys7 color12,
                               //c13.classsys7 color13,
                               //c14.classsys7 color14,
                               //c15.classsys7 color15,
                               //c16.classsys7 color16  FROM product p INNER JOIN ClassSys c ON p.product5 = c.classsys0 
                               //LEFT JOIN ClassSys c11 ON p.product11 = c11.classsys0 
                               //LEFT JOIN ClassSys c12 ON p.product12 = c12.classsys0 
                               //LEFT JOIN ClassSys c13 ON p.product13 = c13.classsys0 
                               //LEFT JOIN ClassSys c14 ON p.product14 = c14.classsys0 
                               //LEFT JOIN ClassSys c15 ON p.product15 = c15.classsys0 
                               //LEFT JOIN ClassSys c16 ON p.product16 = c16.classsys0 
                               //WHERE product9 = 197 AND c.ClassSys4=193 ORDER BY c.ClassSys3, product7 DESC";

        string SQL = @"SELECT p.*,c.* FROM product p INNER JOIN ClassSys c ON p.product5 = c.classsys0 
WHERE product9 = 197 AND product22=1 AND c.ClassSys4=193 ORDER BY c.ClassSys3, product7 DESC";

        if (pid > 0)
        {
            SQL = @"SELECT p.*,c.*,
c11.classsys7 color11,
c12.classsys7 color12,
c13.classsys7 color13,
c14.classsys7 color14,
c15.classsys7 color15,
c16.classsys7 color16  FROM product p INNER JOIN ClassSys c ON p.product5 = c.classsys0 
LEFT JOIN ClassSys c11 ON p.product11 = c11.classsys0 
LEFT JOIN ClassSys c12 ON p.product12 = c12.classsys0 
LEFT JOIN ClassSys c13 ON p.product13 = c13.classsys0 
LEFT JOIN ClassSys c14 ON p.product14 = c14.classsys0 
LEFT JOIN ClassSys c15 ON p.product15 = c15.classsys0 
LEFT JOIN ClassSys c16 ON p.product16 = c16.classsys0 
WHERE  product1=(select product1 from product where product0=" + pid + ") and product9 = 197 AND c.ClassSys4=193 ORDER BY c.ClassSys3, product7 DESC";
        }

        ds = c.GetDs(SQL);
        if (ds.Tables.Count > 0)
        {
            var table = ds.Tables[0];
            var count = table.Rows.Count;
            if (count > 0)
            {
                var classList = table.AsEnumerable().GroupBy(g => g.Field<string>("ClassSys1")).ToList();
                foreach (var cla in classList)
                {
                    var claFirst = cla.ToList().FirstOrDefault();
                    var classsys0 = claFirst.Field<int>("ClassSys0");
                    var barColor = claFirst.Field<string>("ClassSys7");
                    var classsys4 = keyValues.FirstOrDefault(k => k.Key == classsys0).Value;

                    #region 分类
                    builder.AppendLine("<div class=\"item\">");
                    builder.AppendLine("<div class=\"tit\"><h2 class=\"tt\">" + cla.Key + "</h2></div>");

                    builder.AppendLine("<dl class=\"list-tit\">");
                    builder.AppendLine("<dd>产品</dd>");
                    builder.AppendLine("<dd>靶点</dd>");
                    builder.AppendLine("<dd>适应症</dd>");
                    builder.AppendLine("<dd>临床前</dd>");
                    builder.AppendLine("<dd>Ia期</dd>");
                    builder.AppendLine("<dd>Ib/II期</dd>");
                    builder.AppendLine("<dd>关键 II期/III期</dd>");
                    builder.AppendLine("<dd>NDA/BLA申报</dd>");
                    builder.AppendLine("<dd>NDA/BLA获批</dd>");
                    builder.AppendLine("<dd>合作同伴</dd>");
                    //builder.AppendLine("<div class=\"clear\"></div>");
                    builder.AppendLine("</dl>");

                    #region 产品
                    var proList = cla.ToList().OrderByDescending(p => p.Field<int?>("product17")).ToList();
                    foreach (var pro in proList)
                    {

                        builder.AppendLine("<dl class=\"dl\">");
                        builder.AppendLine("<dt class=\"span hrefPro\" proId=\"" + pro.Field<int>("product0") + "\">" + pro.Field<string>("product1") + "</dt>");
                        
                        builder.AppendLine("<dd>");
                        builder.AppendLine("<ol>");
                        builder.AppendLine("<span class=\"span hrefPro\" proId=\"" + pro.Field<int>("product0") + "\">" + pro.Field<string>("product2") + "</span>");
                        builder.AppendLine("<span class=\"span hrefPro\" proId=\"" + pro.Field<int>("product0") + "\">" + pro.Field<string>("product3") + "</span>");
                        builder.AppendLine("<span>");
                        builder.AppendLine("<div class=\"progress-bar progress-bar-striped active\" style=\"width:" + pro.Field<string>("product21") + ";background-color:" + barColor + "\"></div>");
                        builder.AppendLine("<div class=\"line\">");
                        builder.AppendLine("<i></i>");
                        builder.AppendLine("<i></i>");
                        builder.AppendLine("<i></i>");
                        builder.AppendLine("<i></i>");
                        builder.AppendLine("<i></i>");
                        builder.AppendLine("<i></i>");
                        builder.AppendLine("</div>");
                        builder.AppendLine("</span>");
                        //builder.AppendLine("<div class=\"clear\"></div>");
                        builder.AppendLine("</ol>");
                        builder.AppendLine("</dd>");

                        builder.AppendLine("<dt class=\"last\">"+ pro.Field<string>("product20") + "</dt>");
                        //builder.AppendLine("<div class=\"clear\"></div>");
                        builder.AppendLine("</dl>");
                    }
                    #endregion

                    builder.AppendLine("</div>");
                    #endregion
                }

            }
        }

        builder.AppendLine("</div>");
        builder.AppendLine("</div>");

        return builder.ToString();
    }
    /// <summary>
    /// 获取色彩
    /// </summary>
    /// <param name="color"></param>
    /// <returns></returns>
    public static string GetProductTag(string color)
    {
        if (string.IsNullOrWhiteSpace(color)) return "";

        return "<span style=\"width: 38px;height: 3px;background-color: " + color + ";display: block;margin: 0 auto;\"></span>";
    }

    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <param name="builder">body内容</param>
    /// <param name="filePath">附件地址</param>
    public static void SendEmail(StringBuilder builder, string[] filePath)
    {
        // 原始发件方式 
        try
        {
              SqlKey.WriteTextLog("【进入邮件】", "进入", DateTime.Now, "");
            SendEmail sd = new SendEmail();
            sd.sendMails("smtp.exmail.qq.com", "klbio_pv@kelun.com", "gFA6bzfWuZ5ipMuh", "klbio_pv@kelun.com", "klbio_pv@kelun.com", "《药品不良反映/事务汇报表》", builder.ToString(), filePath);
 
	 
            SqlKey.WriteTextLog("【进入邮件】", "已发送", DateTime.Now, "");
        }
        catch (Exception ex)
        {

            SqlKey.WriteTextLog("【邮件谬误原始】", ex.Message, DateTime.Now, "");
        }

    }

}

#line default
#line hidden