private static void ReleaseTicket(Session Session, ClientMessage Message) { if (!Session.HasRight("moderation_tickets")) { return; } int Amount = Message.PopWiredInt32(); lock (mSyncRoot) { using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { for (int i = 0; i < Amount; i++) { ModerationTicket Ticket = GetTicket(Message.PopWiredUInt32()); if (Ticket == null || Ticket.Status != ModerationTicketStatus.Assigned || Ticket.ModeratorUserId != Session.CharacterId) { continue; } Ticket.AssignTo(MySqlClient, 0); SendDataToAllModerators(ModerationTicketComposer.Compose(Ticket)); } } } }
private static void PickTicket(Session Session, ClientMessage Message) { if (!Session.HasRight("moderation_tickets")) { return; } int Unknown1 = Message.PopWiredInt32(); lock (mSyncRoot) { ModerationTicket Ticket = GetTicket(Message.PopWiredUInt32()); if (Ticket == null || Ticket.Status != ModerationTicketStatus.OpenTicket) { Session.SendData(ModerationPickingErrorComposer.Compose()); return; } using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Ticket.AssignTo(MySqlClient, Session.CharacterId); } SendDataToAllModerators(ModerationTicketComposer.Compose(Ticket)); } }