⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guest.cs

📁 是一个简易的聊天系统
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Text;
using System.Collections.Generic;
namespace WebHelper.Model
{
    /// <summary>
    /// Guest 的摘要说明
    /// </summary>
    public class Guest
    {
        private string _guestID;
        private List<string> _message;
        private string _name;
        private string _email;
        private int _askType;
        private string _worker;
        private DateTime _lastTime;
        private List<string> _logData;


        private DateTime _firstTime;

        /// <summary>
        /// 访问者唯一ID,即时的,可以用SeesionID
        /// </summary>
        public string GuestID
        {
            get { return _guestID; }
        }

        public DateTime LastTime 
        {
            set { this._lastTime = value; }
            get { return _lastTime; }
        }

        public List<string> LogData
        {
            set { _logData = value; }
            get { return _logData; }
        }

       

        /// <summary>
        /// 信息
        /// </summary>
        public string Message
        {
            set 
            {
                _message.Add("'"+value+"'");
                _logData.Add("<msg time='"+DateTime.Now+"' from='1'><![CDATA["+value+"]]></msg>");
            }
            get
            {
                string re = String.Join(",", _message.ToArray());
                _message.Clear();
                return "["+re+"]";
            }
        }

        /// <summary>
        /// 用户名
        /// </summary>
        public string Name
        {
            set
            {
                this._name = value;
            }
            get
            {
                return _name;
            }
        }

        /// <summary>
        /// EMAIL地址
        /// </summary>
        public string Email
        {
            set
            {
                this._email = value;
            }
            get
            {
                return _email;
            }
        }


        public int AskType
        {
            set
            {
                this._askType = value;
            }
            get
            {
                return this._askType;
            }
        }

        public string Worker
        {
            set
            {
                this._worker = value;
            }
            get
            {
                return _worker;
            }
        }

        public Guest(string guestID)
        {
            _guestID = guestID;
            _message = new List<string>();
            _firstTime = DateTime.Now;
            this._logData = new List<string>();
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }



        /// <summary>
        /// 根据最后的日志创建客户信息
        /// </summary>
        public void CreateLog()
        {
            try
            {



                string log = "<guest name='" + this.Name + "' SessionID='" + this._guestID + "' mail='" + this.Email + "' type='" + this.AskType.ToString() + "' loginTime='" + _firstTime.ToString() + "'>\n";
                log += String.Join("\n", this._logData.ToArray());
                log += "</guest>\n";
                //XmlDocument newDoc = new XmlDocument();
                //newDoc.LoadXml(log);

                string lastPath = Path.Combine(ConfigurationManager.AppSettings["path"], string.Format("{0}_{1}.xml", this._worker, DateTime.Now.ToString("yyyyMMdd")));
                if (!File.Exists(lastPath)) BuildLogFile(lastPath);

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(lastPath);

                XmlDocumentFragment myNew = xmlDoc.CreateDocumentFragment();
                myNew.InnerXml = log;

                xmlDoc.DocumentElement.AppendChild(myNew);

                xmlDoc.Save(lastPath);
                _firstTime = DateTime.Now;
                _logData.Clear();
                //newDoc = null;
                xmlDoc = null;
            }
            catch { }
   
        }

        private void BuildLogFile(string path) 
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
            sb.Append("<root>\n<fileInfo date=\""+DateTime.Now.ToString()+"\" loginName=\""+this.Worker+"\" />\n</root>");
            File.WriteAllText(path,sb.ToString(), System.Text.Encoding.UTF8);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -