BootstrapAdmin/Bootstrap.DataAccess/Helper/MessageHelper.cs

60 lines
2.0 KiB
C#
Raw Normal View History

using Longbow.Cache;
using Longbow.Data;
2018-10-19 23:09:52 +08:00
using System.Collections.Generic;
using System.Linq;
2018-10-19 23:09:52 +08:00
namespace Bootstrap.DataAccess
{
/// <summary>
///
/// </summary>
public static class MessageHelper
{
/// <summary>
///
/// </summary>
public const string RetrieveMessageDataKey = "MessageHelper-RetrieveMessages";
2019-06-24 10:42:59 +08:00
2018-10-19 23:09:52 +08:00
/// <summary>
/// 收件箱
/// </summary>
/// <param name="userName"></param>
public static IEnumerable<Message> Inbox(string userName) => DbContextManager.Create<Message>().Inbox(userName);
2019-06-24 10:42:59 +08:00
2018-10-19 23:09:52 +08:00
/// <summary>
/// 发件箱
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static IEnumerable<Message> SendMail(string userName) => DbContextManager.Create<Message>().SendMail(userName);
2019-06-24 10:42:59 +08:00
2018-10-19 23:09:52 +08:00
/// <summary>
/// 垃圾箱
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static IEnumerable<Message> Trash(string userName) => DbContextManager.Create<Message>().Trash(userName);
2019-06-24 10:42:59 +08:00
2018-10-19 23:09:52 +08:00
/// <summary>
/// 标旗
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static IEnumerable<Message> Mark(string userName) => DbContextManager.Create<Message>().Mark(userName);
2019-06-24 10:42:59 +08:00
2018-10-19 23:09:52 +08:00
/// <summary>
/// 获取Header处显示的消息列表
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static IEnumerable<Message> Retrieves(string userName) => CacheManager.GetOrAdd(RetrieveMessageDataKey, key => DbContextManager.Create<Message>().RetrieveHeaders(userName).OrderByDescending(n => n.SendTime));
2019-06-24 10:42:59 +08:00
/// <summary>
///
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
public static bool Save(Message msg) => DbContextManager.Create<Message>().Save(msg);
2018-10-19 23:09:52 +08:00
}
}