public async Task CReadNoteReq(ChatSession session, CReadNoteReqMessage message) { Logger.Debug() .Account(session) .Message("Id:{0}", message.Id) .Write(); var mail = session.Player.Mailbox[message.Id]; if (mail == null) { Logger.Error() .Account(session) .Message("Mail {0} not found", message.Id) .Write(); await session.SendAsync(new SReadNoteAckMessage(0, new NoteContentDto(), 1)) .ConfigureAwait(false); return; } mail.IsNew = false; await session.Player.Mailbox.UpdateReminderAsync() .ConfigureAwait(false); await session.SendAsync(new SReadNoteAckMessage(mail.Id, mail.Map <Mail, NoteContentDto>(), 0)) .ConfigureAwait(false); }
public void CReadNoteReq(ChatSession session, CReadNoteReqMessage message) { Logger.ForAccount(session) .Debug("Read note {id}", message.Id); var mail = session.Player.Mailbox[message.Id]; if (mail == null) { Logger.ForAccount(session) .Error("Mail {id} not found", message.Id); session.SendAsync(new SReadNoteAckMessage(0, new NoteContentDto(), 1)); return; } mail.IsNew = false; session.Player.Mailbox.UpdateReminderAsync(); session.SendAsync(new SReadNoteAckMessage(mail.Id, mail.Map <Mail, NoteContentDto>(), 0)); }
public async Task <bool> OnHandle(MessageContext context, CReadNoteReqMessage message) { var session = context.GetSession <Session>(); var plr = session.Player; var logger = plr.AddContextToLogger(_logger); logger.Debug("Read note {Id}", message.Id); var mail = session.Player.Mailbox[(long)message.Id]; if (mail == null) { logger.Error("Mail={Id} not found", message.Id); session.Send(new SReadNoteAckMessage(0, new NoteContentDto(), 1)); return(true); } mail.IsNew = false; plr.Mailbox.UpdateReminder(); session.Send(new SReadNoteAckMessage((ulong)mail.Id, mail.Map <Mail, NoteContentDto>(), 0)); return(true); }