Beispiel #1
0
        public override void NetDirtyHandle()
        {
            var msg = new MailList();

            foreach (var mail in Children)
            {
                if (mail.NetDirty) //脏邮件
                {
                    var thisMail = (Mail)mail;
                    var tempMail = new MailCell
                    {
                        Guid      = thisMail.Guid,
                        StartTime = thisMail.OverTime,
                        Name      = thisMail.Name,
                        Type      = thisMail.Type
                    };

                    if (thisMail.Reward.Count > 0)
                    {
                        tempMail.State = thisMail.State + 100;
                    }
                    else
                    {
                        tempMail.State = thisMail.State + 200;
                    }
                    msg.Mails.Add(tempMail);
                }
            }
            mCharacter.Proxy.SyncMails(msg);
        }
Beispiel #2
0
        public void LoadAllMessages()
        {
            IList messages = null;

            using (IDbSession session = m_sessionFactory.NewSession())
            {
                messages = session.QueryForList("GetAllMessages", null);
            }

            List <Row> rows = new List <Row>();

            foreach (Message message in messages)
            {
                MessageRow row = new MessageRow(message);
                row.Tag = message;
                MailCell mailCell = new MailCell(m_sessionFactory, message, new Image[] { m_image_close_mail, m_image_open_mail });
                row.Cells.Add(mailCell);
                row.Cells.Add(new LevelCell(m_sessionFactory, message, new Image[] { m_image_right, m_image_gray_flag, m_image_red_flag }));
                row.Cells.Add(new Cell(message.HeaderFrom));
                row.Cells.Add(new ReadStateCell(m_sessionFactory, message, new Image[] { m_image_litter_point, m_image_big_point }, mailCell));
                row.Cells.Add(new Cell(message.HeaderSubject));
                row.Cells.Add(new SpamCell(m_sessionFactory, message, new Image[] { m_image_litter_point, m_image_spam }));
                row.Cells.Add(new Cell(message.ReceivedDate.ToShortTimeString()));
                row.Cells.Add(new Cell(message.HeaderSize));

                rows.Add(row);
            }
            tableModel.Rows.Clear();
            tableModel.Rows.AddRange(rows.ToArray());

            foreach (Row row in tableModel.Rows)
            {
                foreach (Cell cell in row.Cells)
                {
                    MessageCell messageCell = cell as MessageCell;
                    if (null != messageCell)
                    {
                        messageCell.Refresh();
                    }
                }
            }
        }