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); }
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(); } } } }