示例#1
0
        private static void AddAnswer(RMessage message, TcpClient connection)
        {
            Console.WriteLine("ChangeQuestionStatus");
            AnswerData answer = (AnswerData)message.Data;

            LogConnector.AddAnswer(answer);
            UserConnector.UpdateUserRank(answer.Owner, Ranking.ADD_ANSWER);
            foreach (ClientWorker workersIterator in ServerCore.GetAllWorkers())
            {
                workersIterator.SendMessage(new RMessage(MessageType.ADD_ANSWER_REPLY, answer));
            }
        }
示例#2
0
        private static void GetAnswers(RMessage message, TcpClient connection)
        {
            Console.WriteLine("GetAnswers");
            UInt32            questionId = (UInt32)message.Data;
            List <AnswerData> answers    = LogConnector.GetQuestionAnswers(questionId);

            List <UserData> users = new List <UserData>();

            for (int i = 0; i < answers.Count; i++)
            {
                users.Add(UserConnector.GetUser(answers[i].Owner));
            }

            List <Object> data = new List <Object>();

            data.Add(answers);
            data.Add(users);
            RMessage replyMessage = new RMessage(MessageType.GET_QUESTION_ANSWERS_REPLY, data);

            ServerCore.GetWorkerByConnection(connection).SendMessage(replyMessage);
        }