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;
}
}
}