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