using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Text;

public partial class News_SelectNews : PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //BindPageTitle();
        //BindWebTitle();
        //liUserList.Visible = false;//用户列表按钮隐藏(默认)
        //liNewsType.Visible = false;//公告类型按钮隐藏(默认)
        //liWeb.Visible = false;//网站信息按钮隐藏(默认)
        //liUpdatePwd.Visible = false;//修改密码按钮隐藏(默认)
        if (!this.Page.IsPostBack)
        {
            if (Request["NewsId"] == null)//页面地址中NewsId中的值为空时
            {
                Response.Redirect("../FirstPage.aspx");
            }
            else
            {
                BindPage();
                //spanUserName.InnerHtml = Operation.GetName(Convert.ToInt32(PersonalId));//用户名
                //liUpdatePwd.Visible = true;//修改密码按钮显示
                //int workid = Operation.GetWorkId(Convert.ToInt32(PersonalId));
                //if ((workid == 1 || workid == 2) == true)//登录用户workid为1-超级管理员，2-总经理
                //{
                //    liUserList.Visible = true;//用户列表按钮显示
                //    liNewsType.Visible = true;//公告类型按钮显示
                //    liWeb.Visible = true;//网站信息按钮显示
                //}

            }
        }
    }
    #region 绑定页面信息
    /// <summary>
    /// 绑定页面信息
    /// </summary>
    public void BindPage()
    {
        if (Request["NewsId"] != null)//页面地址中NewsId不为空
        {
            DataSet ds = Operation.GetDataSet("SELECT Nid,HandlerId,PulishDepartmentId,FileNum,NewsTitle,NewsType,NewsContent,FileName,FilePath,SignState,SubScript,TitleColor,CreateTime FROM dbo.tabN_News WHERE Nid=" + Request["NewsId"] + "");
            if (ds.Tables[0].Rows.Count > 0)
            {

                spanDepartment.InnerHtml = Operation.GetDepartmentName(Convert.ToInt32(ds.Tables[0].Rows[0]["PulishDepartmentId"]));//部门名
                spanfileNum.InnerHtml = Convert.ToString(ds.Tables[0].Rows[0]["FileNum"]);//文件号
                spanNewsTitle.InnerHtml = Convert.ToString(ds.Tables[0].Rows[0]["NewsTitle"]);//公告标题
                spanNewsTitle.Style["color"] = Convert.ToString(ds.Tables[0].Rows[0]["TitleColor"]);//标题颜色
                //spanNewsType.InnerHtml = Operation.GetNewsTypeName(Convert.ToInt32(ds.Tables[0].Rows[0]["NewsType"]));//公告类型
                spanSign.InnerHtml = Convert.ToString(ds.Tables[0].Rows[0]["SubScript"]);//落款
                spanNewsContent.InnerHtml = Convert.ToString(ds.Tables[0].Rows[0]["NewsContent"]);//公告内容
                string publishTime = Convert.ToString(ds.Tables[0].Rows[0]["CreateTime"]);//发布时间
                string[] pTimeArr = publishTime.Split('-');
                string dataTimespan = "";//发布时间显示
                if (pTimeArr.Length > 1)
                {
                    dataTimespan = pTimeArr[0] + "年" + pTimeArr[1] + "月" + pTimeArr[2].Split(' ')[0] + "日";
                }
                spanDataTime.InnerHtml = dataTimespan;//发布时间赋值
                //if (Convert.ToString(ds.Tables[0].Rows[0]["FileName"]) != "")//上传文件不为空时，显示文件名
                //{
                //    spanFile.InnerHtml = Convert.ToString(ds.Tables[0].Rows[0]["FileName"]);//上传文件名
                //    aSelect.HRef = Convert.ToString(ds.Tables[0].Rows[0]["FilePath"]);//文件路径
                //    aDownLoad.HRef = Convert.ToString(ds.Tables[0].Rows[0]["FilePath"]);//下载文件路径
                //}
                //else//上传文件为空
                //{
                //    trFile.Visible = false;//上传文件行隐藏
                //}

                spanSelectPerson.InnerHtml = GetSelectUser(Convert.ToInt32(ds.Tables[0].Rows[0]["Nid"]));//显示已查看人员真实姓名及查看时间
                AddSelectPerson(Convert.ToInt32(Request["NewsId"]));//添加该公告的查看人员
            }
            else//如果页面地址中的NewsId值在数据库中不存在，则返回首页
            {
                Response.Redirect("../b2c/index.aspx");
            }
        }
    }
    #endregion

    //#region 绑定网站名和logo图片
    ///// <summary>
    ///// 绑定网站名和logo图片
    ///// </summary>
    //public void BindWebTitle()
    //{
    //    DataSet ds = Operation.GetDataSet("SELECT CompanyLogo,webName,webDescribe FROM dbo.tabN_Company WHERE Cid=1");
    //    if (ds.Tables[0].Rows.Count > 0)
    //    {
    //        this.Page.Title = Convert.ToString(ds.Tables[0].Rows[0]["webName"]) + "-公告";//页面标题
    //        h3Title.InnerHtml = Convert.ToString(ds.Tables[0].Rows[0]["webName"]);//网站名
    //        if (Convert.ToString(ds.Tables[0].Rows[0]["CompanyLogo"]) != "")
    //        {
    //            imgLogo.Src = Convert.ToString(ds.Tables[0].Rows[0]["CompanyLogo"]);//网站logo
    //        }
    //        else
    //        {
    //            imgLogo.Src = "~/Image/nopic.gif";//即默认图片
    //        }
    //    }
    //}
    //#endregion

    //#region 绑定页面标题
    ///// <summary>
    ///// 绑定页面标题
    ///// </summary>
    //public void BindPageTitle()
    //{
    //    string pageTitle = "";//页面标题
    //    DataSet ds = Operation.GetDataSet("SELECT webName FROM dbo.tabN_Company WHERE Cid=1");
    //    if (ds.Tables[0].Rows.Count > 0)
    //    {
    //        pageTitle = Convert.ToString(ds.Tables[0].Rows[0]["webName"]);
    //        if (Request["NewsId"] != null)
    //        {
    //            DataSet dsNews = Operation.GetDataSet("SELECT NewsTitle FROM dbo.tabN_News WHERE Nid=" + Request["NewsId"] + "");
    //            if (dsNews.Tables[0].Rows.Count > 0)
    //            {
    //                pageTitle += Convert.ToString(dsNews.Tables[0].Rows[0]["NewsTitle"]);
    //            }
    //        }
    //    }
    //    if (pageTitle == null)
    //    {
    //        pageTitle = "洛阳完美网络科技有限公司";
    //    }
    //    this.Page.Title = pageTitle;
    //}
    //#endregion

    #region 获取某公告的已查看人员的真实姓名和查看时间
    /// <summary>
    /// 获取某公告的已查看人员的首次查看时间
    /// </summary>
    /// <param name="newsId">公告id</param>
    /// <returns>某公告的已查看人员的首次查看时间</returns>
    public string GetSelectUser(int newsId)
    {
        StringBuilder strb = new StringBuilder();
        DataSet ds = Operation.GetDataSet("SELECT SelectUserId,CreateTime FROM dbo.tabN_NewsSelect WHERE NewsId=" + newsId + " ORDER BY CreateTime DESC");
        if (ds.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                //strb.Append("<span id=\"spanPersonName" + i + "\" runat=\"server\">" + Operation.GetName(Convert.ToInt32(ds.Tables[0].Rows[i]["SelectUserId"])) + "</span>");
                //spanPersonName.InnerHtml = strb.ToString();
                //string spanname = "spanPersonName" + Convert.ToString(i);
                //((HtmlGenericControl)this.FindControl(spanname)).title= true;
                strb.Append(Operation.GetName(Convert.ToInt32(ds.Tables[0].Rows[i]["SelectUserId"])));
                strb.Append("，");
                strb.Append(ds.Tables[0].Rows[i]["CreateTime"]);
                strb.Append("；");
            }
            return strb.ToString().TrimEnd('；');
        }
        else
        {
            return "";
        }

    }
    #endregion

    #region 添加某公告中的查看人员(判断某公告查看人员中进入某公告详细页面时已登录用户在查看人员中是否存在,如果存在则不添加，如果不存在则添加)
    /// <summary>
    /// 添加某公告中的查看人员(判断某公告查看人员中进入某公告详细页面时已登录用户在查看人员中是否存在,如果存在则不添加，如果不存在则添加)
    /// </summary>
    /// <param name="newsId">公告id</param>
    public void AddSelectPerson(int newsId)
    {
        DataSet ds = Operation.GetDataSet("SELECT SelectNewsId From dbo.tabN_NewsSelect WHERE NewsId=" + newsId + " AND SelectUserId=" + PersonalId + "");
        if (ds.Tables[0].Rows.Count > 0)//登录人员已查看过该公告，则修改其查看公告记录的时间
        {
            try
            {
                Operation.Operations("UPDATE dbo.tabN_NewsSelect SET SelectDateTime='" + System.DateTime.Now + "' WHERE SelectNewsId=" + ds.Tables[0].Rows[0]["SelectNewsId"] + "");
            }
            catch { }
        }
        else//登录人员未查看过该公告，则直接添加
        {
            try
            {
                Operation.Operations("INSERT INTO dbo.tabN_NewsSelect VALUES(" + newsId + "," + PersonalId + ",'" + System.DateTime.Now + "','" + System.DateTime.Now + "')");
            }
            catch { }
        }
    }
    #endregion
}