public static int AddTicket(ModerationTicket ticket) { using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { dbClient.AddParameter("time", ticket.Timestamp); dbClient.AddParameter("senderId", ticket.SenderId); dbClient.AddParameter("reporterID", ticket.ReportedId); dbClient.AddParameter("issue", ticket.Message); dbClient.AddParameter("type", ModerationTicketTypes.GetIntFromType(ticket.Type)); dbClient.AddParameter("roomId", ticket.RoomId); dbClient.AddParameter("category", ticket.Category); dbClient.Query("INSERT INTO `support_tickets` (`timestamp`, `sender_id`, `reported_id`, `issue`, `type`, `room_id`, `category`) VALUES (@time, @senderId, @reporterId, @issue, @type, @roomId, @category)"); return(dbClient.LastInsertedId()); } }
public static List <ModerationTicket> ReadTickets() { List <ModerationTicket> tickets = new List <ModerationTicket>(); using (DatabaseConnection dbClient = Alias.Server.DatabaseManager.GetConnection()) { using (MySqlDataReader Reader = dbClient.DataReader("SELECT * FROM `support_tickets` WHERE `state` != 0")) { while (Reader.Read()) { string senderUsername = "******"; string reportedUsername = "******"; string modUsername = ""; ModerationTicket ticket = new ModerationTicket() { Id = Reader.GetInt32("id"), State = ModerationTicketStates.GetStateFromInt(Reader.GetInt32("state")), Timestamp = Reader.GetInt32("timestamp"), Priority = Reader.GetInt32("score"), SenderId = Reader.GetInt32("sender_id"), SenderUsername = senderUsername, ReportedId = Reader.GetInt32("reported_id"), ReportedUsername = reportedUsername, ModId = Reader.GetInt32("mod_id"), ModUsername = modUsername, Message = Reader.GetString("issue"), Type = ModerationTicketTypes.GetTypeFromInt(Reader.GetInt32("type")), RoomId = Reader.GetInt32("room_id"), Category = Reader.GetInt32("category") }; if (ticket.ModId <= 0) { ticket.ModUsername = ""; ticket.State = ModerationTicketState.OPEN; } tickets.Add(ticket); } } } return(tickets); }