/// <summary> /// 记录新访问者的信息 /// </summary> /// <param name="visitor">访问者信息</param> /// <returns></returns> public static long InsertNewVisitor(VisitorRecord visitor) { var newVisitor = new tbl_VisitRecord() { VisitorIP = visitor.VisitorIP, UserAgent = visitor.UserAgent, VisitTime = visitor.VisitTime }; XwgWebDBEntities db = new XwgWebDBEntities(); db.tbl_VisitRecord.Add(newVisitor); var count = db.SaveChanges(); return count > 0 ? newVisitor.VisitorId : -1; }
/// <summary> /// 保存聊天记录 /// </summary> /// <param name="visitorId">访问者Id</param> /// <param name="nickname">昵称</param> /// <param name="message">发送的消息</param> /// <returns></returns> public static long SaveChatMessage(long visitorId, string nickname, string message) { var newMessage = new tbl_ChatRecord() { VisitorId = visitorId, Message = message, NickName = nickname, SendTime = DateTime.Now }; XwgWebDBEntities db = new XwgWebDBEntities(); db.tbl_ChatRecord.Add(newMessage); var count = db.SaveChanges(); return count > 0 ? newMessage.RecordId : -1; }
/// <summary> /// 添加新的评论 /// </summary> /// <param name="record">评论记录</param> /// <returns></returns> public static CommentRecord AddNew(CommentRecord record, long pageId) { var newComment = new tbl_CommentRecord { Comment = record.Comment, CommentTime = record.CommentTime, NickName = record.Nickname, PageId = pageId, VisitorId = record.VisitorId }; XwgWebDBEntities entities = new XwgWebDBEntities(); entities.tbl_CommentRecord.Add(newComment); var count = entities.SaveChanges(); record.RecordId = newComment.RecordId; return count > 0 ? record : null; }
/// <summary> /// 根据页面Id获取该页面的所有评论(分页) /// 查询条件:{ desc:"倒序(布尔)" } /// </summary> /// <param name="param">分页参数</param> /// <param name="pageId">页面Id</param> /// <returns></returns> public static PagerResult GetCommentByPageId(PagerParam param, long pageId) { var result = param.GetPagerResult(); bool isDescent; param.TryGetQueryOptions("desc", out isDescent); XwgWebDBEntities entities = new XwgWebDBEntities(); var query = entities.tbl_CommentRecord.Where(r => r.PageId == pageId); if (isDescent) { query = query.OrderByDescending(r => r.CommentTime); } else { query = query.OrderBy(r => r.CommentTime); } result.Total = query.Count(); param.CheckLastPage(result.Total); result.Items = query.Skip(param.SkipCount).Take(param.RowCount) .Select(r => new CommentRecord() { RecordId = r.RecordId, Comment = r.Comment, CommentTime = r.CommentTime, VisitorId = r.VisitorId, IP = r.tbl_VisitRecord.VisitorIP, Nickname = r.NickName }) .ToArray(); return result; }