using HL_FristAidPlatform_Help; using HL_FristAidPlatform_IDataBase; using HL_FristAidPlatform_Models; using SqlSugar; using System; using System.Collections.Generic; namespace HL_FristAidPlatform_DataBase { /// /// 消息接收人 /// public class T_Service_NoticeReceivingDB : BaseDB, IT_Service_NoticeReceiving { public SqlSugarClient db = GetClient(); /// /// 增加一条数据 /// public bool Add(T_Service_NoticeReceiving model) { return db.Insertable(model).ExecuteCommand() == 0 ? false : true; } /// /// 更新一条数据 /// public bool Update(T_Service_NoticeReceiving model) { return db.Updateable(model).ExecuteCommand() == 0 ? false : true; } /// /// 删除一条数据 /// public bool Delete(long ID) { return db.Deleteable(it => it.ID == ID).ExecuteCommand() == 0 ? false : true; ; } /// /// 获得数据列表 /// public TableModel GetPageList(int pageIndex, int pageSize) { int total = 0; List data = db.Queryable().ToPageList(pageIndex, pageSize, ref total); TableModel t = new TableModel(); t.Code = 0; t.PageCount = data.Count; t.TotalNumber = total; t.Data = data; t.Msg = "成功"; return t; } /// /// 获得前几行数据 /// public T_Service_NoticeReceiving Get(long ID) { return db.Queryable().First(it => it.ID == ID); } /// /// 更改阅读状态 /// /// /// public int UpdateReadState(T_Service_NoticeReceiving model) { //return db.Updateable().UpdateColumns(it => new T_Service_NoticeReceiving() { ReadState = 1, FirstReadingTime = model.FirstReadingTime, TotalReading = model.TotalReading + 1 }).Where(it => it.NoticeID == model.NoticeID && it.UserID == model.UserID).ExecuteCommand(); //return db.Updateable(model).UpdateColumns(it => new { ReadState = 1, FirstReadingTime = model.FirstReadingTime, TotalReading = model.TotalReading + 1 }).WhereColumns(it => it.NoticeID == model.NoticeID && it.UserID == model.UserID).ExecuteCommand(); return db.Updateable().SetColumns(it => new T_Service_NoticeReceiving() { ReadState = model.ReadState, FirstReadingTime = model.FirstReadingTime, TotalReading = model.TotalReading }).Where(it => it.NoticeID == model.NoticeID && it.UserID == model.UserID).ExecuteCommand(); } /// /// 消息通知状态获取 /// /// /// /// public TableModel getNoticeAndReadState(int pageIndex, int pageSize, long UserID) { int total = 0; List list = new List(); var data = db.Queryable((a, b) => new JoinQueryInfos(JoinType.Left, b.NoticeID == a.ID)) .Where((a, b) => b.UserID == UserID) .OrderBy((a, b) => new { b.ReadState }) .OrderBy((a, b) => new { a.CreationDate }, OrderByType.Desc) .Select((a, b) => new T_Service_NoticeAndReadState() { ReadState = b.ReadState, Content = a.Content, FirstReadingTime = b.FirstReadingTime, TotalReading = b.TotalReading, NoticeID = b.NoticeID, ID = b.ID, UserID = b.UserID }).ToPageList(pageIndex, pageSize, ref total); TableModel t = new TableModel(); t.Code = 0; t.PageCount = data.Count; t.TotalNumber = data.Count; t.Data = data; t.Msg = "成功"; return t; } /// /// 用户未读/已读消息列表 /// /// /// /// /// public TableModel GetNoticeMsgList(int pageIndex, int pageSize, long UserID, int readState) { int total = 0; List list = new List(); var data = db.Queryable((a, b) => new JoinQueryInfos(JoinType.Left, b.NoticeID == a.ID)) .Where((a, b) => b.UserID == UserID && b.ReadState == readState) .OrderBy((a, b) => a.CreationDate, OrderByType.Desc) .OrderBy((a, b) => b.FirstReadingTime, OrderByType.Desc) .Select((a, b) => new T_Service_NoticeAndReadState() { ReadState = b.ReadState, Content = a.Content, FirstReadingTime = b.FirstReadingTime, TotalReading = b.TotalReading, NoticeID = b.NoticeID, ID = b.ID, UserID = b.UserID }).ToPageList(pageIndex, pageSize, ref total); TableModel t = new TableModel(); t.Code = 0; t.PageCount = data.Count; t.TotalNumber = total; t.Data = data; t.Msg = "成功"; return t; } public TableModel getReadStateByNoticeID(string NoticeID) { int total = 0; List list = new List(); var data = db.Queryable((a, b) => new JoinQueryInfos(JoinType.Left, b.NoticeID == a.ID)) .Where((a, b) => b.ID == Convert.ToInt32(NoticeID)) .Select((a, b) => new T_Service_NoticeAndReadState() { ReadState = b.ReadState, Content = a.Content, FirstReadingTime = b.FirstReadingTime, TotalReading = b.TotalReading, ID = b.ID, NoticeID = b.NoticeID, UserID = b.UserID }).ToList(); TableModel t = new TableModel(); t.Code = 0; t.PageCount = data.Count; t.TotalNumber = data.Count; t.Data = data; t.Msg = "成功"; return t; } } }