#region
|
|
using System;
|
using System.Data;
|
using System.Text;
|
using System.Windows.Forms;
|
using CSFrameworkV5.Business;
|
using CSFrameworkV5.Common;
|
using CSFrameworkV5.Core;
|
using CSFrameworkV5.Models;
|
|
#endregion
|
|
namespace CSFrameworkV5.Library.CommonForms
|
{
|
public delegate void OnReadMessage(int total, int index, DataRow message);
|
|
public partial class frmPrompt : frmBase
|
{
|
private static frmPrompt _Instance;
|
private bllMessageCenter _BLL;
|
private int _Index;
|
private DataTable _Messages;
|
private OnReadMessage _OnReadMessage;
|
|
public frmPrompt()
|
{
|
InitializeComponent();
|
}
|
|
private void btnClose_Click(object sender, EventArgs e)
|
{
|
Close();
|
}
|
|
private void btnNext_Click(object sender, EventArgs e)
|
{
|
if (_Index + 1 <= _Messages.Rows.Count - 1)
|
{
|
_Index++;
|
ShowMessage(_Index);
|
}
|
}
|
|
private void btnPrior_Click(object sender, EventArgs e)
|
{
|
if (_Index - 1 >= 0)
|
{
|
_Index--;
|
ShowMessage(_Index);
|
}
|
}
|
|
private void frmPrompt_FormClosed(object sender, FormClosedEventArgs e)
|
{
|
_Instance = null;
|
}
|
|
private void Init(DataTable message)
|
{
|
_BLL = new bllMessageCenter();
|
_Index = 0;
|
_Messages = message;
|
|
lblUserName.Text = Loginer.CurrentUser.AccountName + ", 您好!";
|
ShowMessage(_Index);
|
}
|
|
public static void ShowMessage(DataTable message,
|
OnReadMessage onReadMessage)
|
{
|
if (_Instance == null) _Instance = new frmPrompt();
|
|
_Instance._OnReadMessage = onReadMessage;
|
_Instance.Init(message);
|
_Instance.Show();
|
}
|
|
private void ShowMessage(int index)
|
{
|
try
|
{
|
frmWaitingEx.ShowMe(this);
|
|
if (_Messages.Rows.Count > 0)
|
{
|
var R = _Messages.Rows[index];
|
|
var sender = DataDictCache.GetValue(
|
DataDictCache.Cache.User,
|
tb_MyUser.Account, tb_MyUser.UserName,
|
ConvertEx.ToString(R["SendUser"]));
|
|
var sb = new StringBuilder();
|
sb.AppendLine("发送时间:" +
|
ConvertEx.ToDateTimeEx(R["SendTime"])
|
.ToString("yyyy-MM-dd HH:mm:ss") +
|
" 发送人:" + sender);
|
sb.AppendLine("--------------------------------------");
|
sb.AppendLine(ConvertEx.ToString(R["Message"]));
|
memoEdit1.Text = sb.ToStringEx();
|
var i = index + 1;
|
lblIndex.Text = "第" + i.ToStringEx() + "条,共" +
|
_Messages.Rows.Count.ToStringEx() + "条";
|
|
if (R["MessageID"] != DBNull.Value)
|
{
|
_BLL.MakeRead(R["MessageID"].ToStringEx(),
|
Loginer.CurrentUser.Account);
|
R["MessageID"] = DBNull.Value; //标记已读
|
}
|
|
if (_OnReadMessage != null)
|
_OnReadMessage(_Messages.Rows.Count, _Index, R);
|
}
|
else
|
{
|
memoEdit1.Text = "您没有消息!";
|
lblIndex.Text = "第0条,共0条";
|
}
|
}
|
finally
|
{
|
frmWaitingEx.HideMe(this);
|
}
|
}
|
}
|
}
|