internal void BroadcastCurrentSongData(Room Instance)
 {
     if (this.mSong != null)
     {
         Instance.SendMessage(JukeboxDiscksComposer.ComposePlayingComposer(this.mSong.SongData.Id, this.mSongQueuePosition, 0), null);
     }
     else
     {
         Instance.SendMessage(JukeboxDiscksComposer.ComposePlayingComposer(0, 0, 0), null);
     }
 }
Esempio n. 2
0
        public static void ShowResults(Room Room, int QuestionId, GameClient Session)
        {
            Thread.Sleep(30000);
            string Question;
            DataTable Data = null;
            using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
            {
                Question = dbClient.ReadString("SELECT question FROM infobus_questions WHERE id = '" + QuestionId + "' LIMIT 1");
                Data = dbClient.ReadDataTable("SELECT * FROM infobus_answers WHERE question_id = '" + QuestionId + "'");
            }

            /*ServerMessage InfobusQuestion = new ServerMessage(80);
            InfobusQuestion.AppendStringWithBreak(Question);
            InfobusQuestion.AppendInt32(Data.Rows.Count);
            if (Data != null)
            {
                foreach (DataRow Row in Data.Rows)
                {
                    int ResultCount;
                    InfobusQuestion.AppendInt32((int)Row["id"]);
                    InfobusQuestion.AppendStringWithBreak((string)Row["answer_text"]);
                    using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                    {
                        ResultCount = dbClient.ReadInt32("SELECT COUNT(*) FROM infobus_results WHERE answer_id = '" + (int)Row["id"] + "' AND question_id = '" + QuestionId + "'");
                    }
                    InfobusQuestion.AppendInt32(ResultCount);
                }
            }
            int AnswerUserCount;
            using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
            {
                AnswerUserCount = dbClient.ReadInt32("SELECT COUNT(*) FROM infobus_results WHERE question_id = '" + QuestionId + "'");
            }
            InfobusQuestion.AppendInt32(AnswerUserCount);
            Room.SendMessage(InfobusQuestion, null);

            using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
            {
                dbClient.ExecuteQuery("DELETE FROM infobus_results WHERE question_id = '" + QuestionId + "'");
            }*/

            ServerMessage InfobusQuestion = new ServerMessage(Outgoing.InfobusPoll2); // Updated
            InfobusQuestion.AppendStringWithBreak(Question);
            InfobusQuestion.AppendInt32(Data.Rows.Count);
            if (Data != null)
            {
                foreach (DataRow Row in Data.Rows)
                {
                    int ResultCount = Room.InfobusAnswers.Where(number => (int)Data.Rows[number - 1]["id"] == (int)Row["id"]).Count();
                    InfobusQuestion.AppendInt32((int)Row["id"]);
                    InfobusQuestion.AppendStringWithBreak((string)Row["answer_text"]);
                    InfobusQuestion.AppendInt32(ResultCount);
                }
            }
            int AnswerUserCount = Room.InfobusAnswers.Count;
            InfobusQuestion.AppendInt32(AnswerUserCount);
            Room.SendMessage(InfobusQuestion, null);

            Room.InfobusAnswers.Clear();
        }