ZhiYeJianKang_PeiXun/Song.ViewData/Methods/Message.cs
2025-02-20 15:41:53 +08:00

166 lines
5.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Song.Entities;
using Song.ServiceInterfaces;
using Song.ViewData.Attri;
using WeiSha.Common;
using System.Data;
namespace Song.ViewData.Methods
{
/// <summary>
/// 课程学习中的咨询留言,可作为弹幕
/// </summary>
public class Message : IViewAPI
{
///// <summary>
///// 添加留言
///// </summary>
///// <returns></returns>
//[Student]
//public int Add(string msg, int playtime, int couid, int olid)
//{
// if (string.IsNullOrWhiteSpace(msg)) return 0;
// if (msg.Trim() == "") return 0;
// Song.Entities.Accounts acc = Extend.LoginState.Accounts.CurrentUser;
// if (acc == null) return 0;
// return this.Add(acc.Ac_AccName, playtime, couid, olid);
//}
/// <summary>
/// 添加留言
/// </summary>
/// <param name="acc">学员账号,如果账号为空则默认为当前登录账号</param>
/// <param name="msg">留言信息</param>
/// <param name="playtime">视频播放时间</param>
/// <param name="couid">课程id</param>
/// <param name="olid">章节id</param>
/// <returns></returns>
public int Add(string acc,string msg, int playtime, int couid, int olid)
{
Song.Entities.Accounts account = null;
if (!string.IsNullOrWhiteSpace(acc))
{
account = Business.Do<IAccounts>().AccountsSingle(acc, -1);
}
else
{
account = Extend.LoginState.Accounts.CurrentUser;
}
if (account == null) throw new Exception("当前账号不存在");
Song.Entities.Message entity = new Entities.Message();
entity.Msg_Context = msg.Length > 200 ? msg.Substring(0, 200) : msg;
entity.Msg_PlayTime = playtime;
if (couid <= 0)
{
Song.Entities.Outline outline = Business.Do<IOutline>().OutlineSingle(olid);
if (outline != null) couid = outline.Cou_ID;
}
entity.Cou_ID = couid;
entity.Ol_ID = olid;
entity.Ac_ID = account.Ac_ID;
entity.Ac_AccName = account.Ac_AccName;
entity.Ac_Name = account.Ac_Name;
entity.Msg_Phone = string.IsNullOrWhiteSpace(account.Ac_MobiTel1) ? account.Ac_MobiTel2 : account.Ac_MobiTel1;
entity.Msg_QQ = account.Ac_Qq;
entity.Ac_Photo = account.Ac_Photo;
entity.Msg_IP = WeiSha.Common.Browser.IP;
return Business.Do<IMessage>().Add(entity);
}
/// <summary>
/// 获取章节的所有留言
/// </summary>
/// <param name="olid">章节id</param>
/// <param name="order">排序方式desc或asc</param>
/// <returns></returns>
public Song.Entities.Message[] All(int olid, string order)
{
return Business.Do<IMessage>().GetAll(olid, order);
}
/// <summary>
/// 获取指定数量的留言
/// </summary>
/// <param name="olid">章节id</param>
/// <param name="order">排序方式desc或asc</param>
/// <param name="count">取多少条</param>
/// <returns></returns>
public Song.Entities.Message[] Count(int olid, string order,int count)
{
return Business.Do<IMessage>().GetCount(-1, olid, order, count);
}
/// <summary>
/// 获取留言数量
/// </summary>
/// <param name="couid">课程id</param>
/// <param name="olid">章节id</param>
/// <returns></returns>
public int Count(int couid, int olid)
{
return Business.Do<IMessage>().GetOfCount(couid, olid);
}
/// <summary>
/// 分页获取留言信息
/// </summary>
/// <param name="couid">课程id</param>
/// <param name="olid">章节id</param>
/// <param name="search">检索</param>
/// <param name="size">当页多条记录</param>
/// <param name="index">第几页</param>
/// <returns></returns>
public ListResult Pager(int couid, int olid, string search, int size, int index)
{
int count = 0;
Song.Entities.Message[] eas = null;
eas = Business.Do<IMessage>().GetPager(couid, olid, -1, search, null, null, size, index, out count);
ListResult result = new ListResult(eas);
result.Index = index;
result.Size = size;
result.Total = count;
return result;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="msid">留言id</param>
[Student, Admin, Teacher]
public bool Delete(int msid)
{
try
{
int row=Business.Do<IMessage>().Delete(msid);
return row > 0;
}
catch (Exception exp)
{
throw exp;
}
}
/// <summary>
/// 更新留言内容
/// </summary>
/// <param name="msid">留言id</param>
/// <param name="msg">留言内容</param>
/// <returns></returns>
public bool Update(int msid,string msg)
{
Song.Entities.Message mm = Business.Do<IMessage>().GetSingle(msid);
if (mm == null) throw new Exception("当前信息不存在");
mm.Msg_Context = msg;
try
{
Business.Do<IMessage>().Save(mm);
return true;
}
catch (Exception exp)
{
throw exp;
}
}
}
}