Пример #1
0
 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();
 }
Пример #2
0
        /// <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);
        }