#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
|
{
|
/// <summary>
|
/// 消息中心
|
/// </summary>
|
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");
|
}
|
}
|
}
|