Пример #1
0
        public void processRequest(string requestdata)
        {
            JObject jObject = JObject.Parse(requestdata);

            MyTransactionFactory factory     = MyTransactionFactory.getInstance();
            MyBaseTransaction    transaction = factory.createTransaction(jObject);

            switch (transaction.MyTransactioncode)
            {
            case Transaction_Code.cl_client_connect_infor:
                string _password = _currentForm.getPassword();
                MyTr_Client_Connect_Infor transactionoff = (MyTr_Client_Connect_Infor)transaction;
                if (_password == transactionoff.password)
                {
                    // if password is match
                    this.Username = transactionoff.username;
                    MyBaseTransaction info = new MyBaseTransaction();
                    info.MyTransactioncode = Transaction_Code.sv_login_accept;
                    _mysendFactory.sendJsonObject(info);
                    _currentForm.addClientToListView(this);

                    _currentForm.addToReceiverText(">> User có id: " + id + " có tên: " + username);
                }
                else
                {
                    // if password not match
                    _currentForm.addToReceiverText(">> User có id: " + id + " thử kết nối nhưng không đúng mật khẩu.");
                    _mysendFactory.quickSendJsonObject(Transaction_Code.sv_incorrect_info);
                }
                break;

            case Transaction_Code.cl_disconnect:
                Stop();
                _currentForm.addToReceiverText(">> User " + username + "(" + id + ") đã ngắt kết nối!");
                break;

            case Transaction_Code.cl_answer_question:
                MyTr_Cl_AnswerQuestion trans_answer = new MyTr_Cl_AnswerQuestion();
                trans_answer = factory.recreateMyTr_Cl_AnswerQuestion(jObject);
                _currentForm.updateClientAnswer(this, trans_answer.Answer);
                setClientAnswer(trans_answer.Answer, _currentIndexQuestion);
                break;
            }
        }