private void ShowMessageCount() { BoxMessageCount msgCount = MessageManager.GetNumber((User)Session["Login"]); lblInbox.Text = msgCount.InboxTotal.ToString(); lblItNotRead.Text = msgCount.ItNotRead.ToString(); lblDraftFiles.Text = msgCount.DraftTotal.ToString(); lblSend.Text = msgCount.SendedTotal.ToString(); lblDeletedFiles.Text = msgCount.GarbageTotal.ToString(); }
/// <summary> /// 获得邮件信息的数量 /// </summary> /// <param name="user"></param> /// <returns></returns> public static BoxMessageCount GetNumber(User user) { BoxMessageCount msgCount = new BoxMessageCount(); int inbox = 0, sum = 0, count = 0, cread = 0, send = 0; try { //收到的非公共信息数目 string sql1 = "select count(a.MessageId) from Message a,MessageToUser b " + "where a.MessageId=b.MessageId and b.ToUserId='" + user.UserId + "' and a.IfPublish='1' and IfDelete=IfDeleteTo and IfDelete='0'"; inbox = int.Parse(DBHelper.GetScalar(sql1).ToString()); //未读非公共消息 string sql2 = "select count(a.MessageId) from Message a,MessageToUser b " + "where a.MessageId=b.MessageId and b.ToUserId='" + user.UserId + "' and a.IfPublish='1' and IfRead='0' and IfDelete=IfDeleteTo and IfDelete='0'"; sum = int.Parse(DBHelper.GetScalar(sql2).ToString()); //所有公共消息 string sql3 = "select count(a.MessageId) from Message a,MessageToUser b " + "where b.MessageId=a.MessageId and b.ToUserId='0'and a.IfPublish='1'and " + "IfDelete=IfDeleteTo and IfDelete='0' "; count = int.Parse(DBHelper.GetScalar(sql3).ToString()); //已读公共消息 string sql4 = "select count(a.MessageId) from ReadCommonMessage a,Message b,MessageToUser c where " + "a.MessageId=c.MessageId and c.MessageId =b.MessageId and c.ToUserId='0' and b.IfPublish='1' " + "and IfDelete=IfDeleteTo and IfDelete='0' and c.IfRead='1'"; cread = int.Parse(DBHelper.GetScalar(sql4).ToString()); //已发的数目 string sql5 = "select count(MessageId) from Message where FromUserId='" + user.UserId + "' and IfPublish='1'and IfDelete=IfDeleteTo and IfDelete='0' "; send = int.Parse(DBHelper.GetScalar(sql5).ToString()); //草稿数 string sql6 = "select count(MessageId) from Message where FromUserId='" + user.UserId + "' and IfPublish='0' and IfDelete=IfDeleteTo and IfDelete='0'"; msgCount.DraftTotal = int.Parse(DBHelper.GetScalar(sql6).ToString()); //已删除 string sql7 = "select count(MessageId) from Message where FromUserId='" + user.UserId + "' and (IfDelete in(1,2) or IfDeleteTo in(1,2)) "; msgCount.GarbageTotal = int.Parse(DBHelper.GetScalar(sql7).ToString()); } catch (Exception ex) { throw new ApplicationException(ex.Message); } //得到所有未读的 sum += count - cread; msgCount.ItNotRead = sum; //总文件数 msgCount.InboxTotal = inbox + count; //已发送 msgCount.SendedTotal = send; return(msgCount); }