#region using System; using System.Data; using CSFramework.DB; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Interfaces; using CSFrameworkV5.Models; #endregion namespace CSFrameworkV5.DataAccess { /// /// 消息中心 /// public class dalMessageCenter : dalBase, IBridge_MessageCenter { public dalMessageCenter(Loginer loginer) : base(loginer) { } public void Broadcast(string message, string messageType) { var m = new sys_Message { Message = message, MessageType = messageType, PublishDate = DateTime.Now }; var db = new DbDataUpdate(DatabaseProvider.SystemDatabase); db.AddObject(m, "isid"); } public bool DeleteBroadcast(int isid) { var sql = $"DELETE FROM sys_Message WHERE isid={_Database.ParamSymboName}isid"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("isid", isid); return DatabaseProvider.SystemDatabase .ExecuteCommand(cmd.Command) == 1; } public bool DeleteMessage(string messageId) { var sql = $"DELETE FROM sys_MSG_Queue WHERE MessageID={_Database.ParamSymboName}MessageID"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("MessageID", messageId); return DatabaseProvider.SystemDatabase .ExecuteCommand(cmd.Command) == 1; } public DataTable GetBroadcast() { var sql = "SELECT * FROM sys_Message ORDER BY PublishDate DESC"; return DatabaseProvider.SystemDatabase.GetTable(sql, "sys_Message"); } public string GetBroadcastMessage() { var cmd = DatabaseProvider.SystemDatabase.CreateSqlProc( "usp_GetBroadcastMessage"); var o = DatabaseProvider.SystemDatabase.ExecuteScalar(cmd.Command); return ConvertEx.ToString(o); } public DataTable GetMessage(string account) { var sp = _Database.CreateSqlProc("usp_GetMessageByUser"); sp.AddParam("Account", DbType.String, account); return DatabaseProvider.SystemDatabase.GetTable(sp.Command, "sys_MSG_Queue"); } public DataTable GetMessageTopDays(int days) { var cmd = DatabaseProvider.SystemDatabase.CreateSqlProc( "usp_GetMessageByDays"); cmd.AddParam("Days", days); return DatabaseProvider.SystemDatabase.GetTable(cmd.Command, "sys_MSG_Queue"); } public void MakeRead(string messageID, string account) { var m = new sys_MSG_Read { AccountID = account, MessageID = messageID, ReadTime = DateTime.Now }; var db = new DbDataUpdate(DatabaseProvider.SystemDatabase); db.AddObject(m, "isid"); } public void SendMessage(string message, int accountGroupType, string accountOrGroup) { var m = new sys_MSG_Queue { AccountOrGroupID = accountOrGroup, AccountOrGroupType = char.Parse(accountGroupType.ToStringEx()), Description = "", Message = message, MessageID = Guid.NewGuid().ToStringEx(), MessageType = "1", SendTime = DateTime.Now, SendUser = _Loginer.Account }; var db = new DbDataUpdate(DatabaseProvider.SystemDatabase); db.AddObject(m, "isid"); } } }