public void OnResponse(object response, RequestCodes requestCode)
 {
     if (requestCode == RequestCodes.GetPersonalityInfo)
     {
         userPersonality             = (UserPerosonalityTypeInfo)response;
         lblPersonalityTitle.Text    = "تیپ شخصیتی : " + userPersonality.PersonalityTypeTitle.Trim();
         lblKeyAttribute.Text        = "صفات کلیدی : " + userPersonality.PersonalityTypeKeyAttribute;
         lblFamousCharacters.Text    = "اشخاص معروف : " + userPersonality.PersonalityTypeFamousCharacters;
         lblStrenghtsPoints.Text     = "نقاط قوت : " + userPersonality.PersonalityTypeStrenghtsPoints;
         lblWeakPoints.Text          = "نقاط ضعف : " + userPersonality.PersonalityTypeWeakPoints;
         lblRelationsWithOthers.Text = "روابط با دیگران : " + userPersonality.PersonalityTypeRelationsWithOthers;
         lblProperJobs.Text          = "مشاغل مربوط : " + userPersonality.PersonalityTypeProperJobs;
         pictureBox1.Image           = Image.FromFile(Application.StartupPath + "/Images/" + userPersonality.PersonalityTypeAvatar);
     }
 }
Example #2
0
        public static byte[] SerializeRequest <T>(T request, RequestCodes code)
        {
            string data       = JsonConvert.SerializeObject(request);
            uint   dataLength = (uint)data.Length;

            byte[] serialized = new byte[1 + 4 + dataLength];
            serialized[0] = BitConverter.GetBytes((ushort)code)[0];
            for (int i = 1; i < 5; i++)
            {
                serialized[i] = BitConverter.GetBytes(dataLength)[i - 1];
            }
            for (int i = 5, j = 0; i < serialized.Length; i++, j++)
            {
                serialized[i] = ASCIIEncoding.ASCII.GetBytes(data)[j];
            }
            return(serialized);
        }
Example #3
0
        public void OnResponse(object response, RequestCodes requestCode)
        {
            labelWating.Visible = false;

            if (requestCode == RequestCodes.ChatsReceived)
            {
                Chats = (List <Chat>)response;
                listBoxChats.Items.Clear();
                for (int i = 0; i < Chats.Count; i++)
                {
                    listBoxChats.Items.Add("گفتگوی شماره " + (i + 1));
                }
                listBoxChats.SelectedIndex = listBoxChats.Items.Count - 1;
            }
            else if (requestCode == RequestCodes.MessagesReceived)
            {
                List <Models.Message> messages = (List <Models.Message>)response;
                if (messages.Count > Messages.Count)
                {
                    Messages = messages;
                    if (Messages.Count != 0)
                    {
                        listBoxMessages.Items.Clear();
                        foreach (var message in Messages)
                        {
                            if (int.Parse(message.UserIdSender) == Program.UserId)
                            {
                                listBoxMessages.Items.Add("شما: " + message.ChatMessageText);
                            }
                            else
                            {
                                listBoxMessages.Items.Add("مشاور: " + message.ChatMessageText);
                            }
                        }
                        listBoxMessages.TopIndex = listBoxMessages.Items.Count - 1;
                    }
                }
            }
            else if (requestCode == RequestCodes.NewMessageSent)
            {
                GetChats();
                labelSending.Visible      = false;
                buttonSendMessage.Enabled = true;
            }
        }
Example #4
0
        public void OnResponse(object response, RequestCodes requestCode)
        {
            if (requestCode == RequestCodes.UserSignedUp)
            {
                int result = int.Parse(response.ToString());
                if (result > 0)
                {
                    Program.UserId = int.Parse(response.ToString());
                    GetRoleType(userId: int.Parse(response.ToString()));
                }
                else if (result == (int)SignUpStatus.AlreadyRegistered)
                {
                    MessageBox.Show("شما قبلا ثبت نام کرده اید");
                }
                else if (result == (int)SignUpStatus.Exception)
                {
                    MessageBox.Show("خطایی رخ داده");
                }
            }
            else if (requestCode == RequestCodes.RoleTypeReceived)
            {
                labelWating.Visible = false;

                int result = int.Parse(response.ToString());
                if (result == (int)RoleTypes.CounseltorRole)
                {
                    this.Invoke(new Action(() =>
                    {
                        this.Hide();
                        ConsulatorForm consulatorForm = new ConsulatorForm();
                        consulatorForm.Show();
                    }));
                }
                else if (result == (int)RoleTypes.CounselorRecipentRole || result == (int)RoleTypes.RobotRole)
                {
                    this.Invoke(new Action(() =>
                    {
                        this.Hide();
                        ConsultationRecipientForm recipientForm = new ConsultationRecipientForm();
                        recipientForm.Show();
                    }));
                }
            }
        }
        public void OnResponse(object response, RequestCodes requestCode)
        {
            if (requestCode == RequestCodes.UserSignedIn)
            {
                int result = int.Parse(response.ToString());
                if (result > 0)
                {
                    Program.UserId = int.Parse(response.ToString());
                    GetRoleType(int.Parse(response.ToString()));
                }
                else if (result == (int)LoginStatus.WrongPasswordOrUserName)
                {
                    MessageBox.Show("نام کاربری یا گذرواژه اشتباه است");
                }
            }
            else if (requestCode == RequestCodes.RoleTypeReceived)
            {
                labelWating.Visible = false;

                int result = int.Parse(response.ToString());
                if (result == (int)RoleTypes.CounseltorRole)
                {
                    this.Invoke(new Action(() =>
                    {
                        this.Hide();
                        ConsulatorForm consulatorForm = new ConsulatorForm();
                        consulatorForm.Show();
                    }));
                }
                else if (result == (int)RoleTypes.CounselorRecipentRole || result == (int)RoleTypes.RobotRole)
                {
                    this.Invoke(new Action(() =>
                    {
                        this.Hide();
                        ConsultationRecipientForm recipientForm = new ConsultationRecipientForm();
                        recipientForm.Show();
                    }));
                }
            }
        }
 void SendRequest(RequestCodes request)
 {
     byte[] array = BitConverter.GetBytes((short)request);
     byte temp = array[0];
     array[0] = array[1];
     array[1] = temp;
     _radio.SendTo(new byte[] { 0xF0, 0xF0, 0xF0, 0xF0, 0xE1 }, array);
     Debug.Print("Sent: " + request);
 }
Example #7
0
        public void OnResponse(object response, RequestCodes requestCode)
        {
            labelWating.Visible = false;

            if (requestCode == RequestCodes.QuestionDownloaded)
            {
                Questions = (List <Question>)response;
                foreach (var question in Questions)
                {
                    listBoxQuestions.Items.Add(question.QuestionId + "- " + question.QuestionTitle);
                }
                GetUsers();
            }
            else if (requestCode == RequestCodes.UsersDownloaded)
            {
                Users = (List <User>)response;
                foreach (var user in Users)
                {
                    listBoxUsers.Items.Add(user.FirstName + " " + user.LastName);
                }
                GetChats();
            }
            else if (requestCode == RequestCodes.ChatsReceived)
            {
                Chats = (List <Chat>)response;
                listBoxChats.Items.Clear();
                for (int i = 0; i < Chats.Count; i++)
                {
                    listBoxChats.Items.Add("گفتگوی شماره " + (i + 1));
                }
                listBoxChats.SelectedIndex = listBoxChats.Items.Count - 1;
                listBoxChats.TopIndex      = listBoxChats.Items.Count - 1;
            }
            else if (requestCode == RequestCodes.MessagesReceived)
            {
                List <Models.Message> messages = (List <Models.Message>)response;
                if (messages.Count > Messages.Count)
                {
                    Messages = messages;
                    try
                    {
                        listBoxMessages.Items.Clear();
                        foreach (var message in Messages)
                        {
                            if (int.Parse(message.UserIdSender) == Program.UserId)
                            {
                                listBoxMessages.Items.Add("شما: " + message.ChatMessageText);
                            }
                            else
                            {
                                listBoxMessages.Items.Add("کاربر: " + message.ChatMessageText);
                            }
                        }
                        listBoxMessages.TopIndex = listBoxMessages.Items.Count - 1;

                        for (int i = Messages.Count - 1; i >= 0; --i)
                        {
                            if (int.Parse(Messages[i].UserIdSender) != Program.UserId)
                            {
                                ValidateProperAnswer(Messages[i]);
                                break;
                            }
                        }
                    }
                    catch {; }
                }
            }
            else if (requestCode == RequestCodes.NewMessageSent)
            {
                //Add current question(the question that just has been asked.) to the quiz list.
                if (listBoxQuestions.SelectedIndex != -1)
                {
                    QuizList.Add(new QuizValidateModel
                    {
                        QuestionId  = int.Parse(Questions[listBoxQuestions.SelectedIndex].QuestionId),
                        QuestionKey = Questions[listBoxQuestions.SelectedIndex].QuestionKey
                    });
                }

                GetChats();
                labelSending.Visible      = false;
                buttonSendMessage.Enabled = true;

                //If is Robot, then the robot response to judge.
                if (IsFirstMessage && Users[listBoxUsers.SelectedIndex].RoleId == (int)RoleTypes.RobotRole)
                {
                    int randomNumber = RandomInstance.Next(0, RobotWellcomeTexts.Length - 1);
                    int randomDelay  = RandomInstance.Next(7000, 15000);
                    Thread.Sleep(randomDelay);
                    SendMessageFromRobot(int.Parse(Chats[listBoxChats.SelectedIndex].ChatId), int.Parse(Users[listBoxUsers.SelectedIndex].UserId), RobotWellcomeTexts[randomNumber]);
                    IsFirstMessage = false;
                }
            }
            else if (requestCode == RequestCodes.AnswersReceived)
            {
                if (Users[listBoxUsers.SelectedIndex].RoleId == (int)RoleTypes.RobotRole)
                {
                    if (Messages.Count == 1)
                    {
                        int randomNumber = RandomInstance.Next(0, RobotWellcomeTexts.Length - 1);
                        int randomDelay  = RandomInstance.Next(1000, 2000);
                        Thread.Sleep(randomDelay);
                        SendMessageFromRobot(int.Parse(Chats[listBoxChats.SelectedIndex].ChatId), int.Parse(Users[listBoxUsers.SelectedIndex].UserId), RobotWellcomeTexts[randomNumber]);
                    }
                    else
                    {
                        Answers = (List <string>)response;
                        int randomNumber = RandomInstance.Next(0, Answers.Count - 1);
                        int randomDelay  = RandomInstance.Next(1000, 2000);
                        Thread.Sleep(randomDelay);
                        SendMessageFromRobot(int.Parse(Chats[listBoxChats.SelectedIndex].ChatId), int.Parse(Users[listBoxUsers.SelectedIndex].UserId), Answers[randomNumber]);
                    }
                }
            }
            else if (requestCode == RequestCodes.NewMessageSentFromRobot)
            {
                GetChats();
            }
            else if (requestCode == RequestCodes.ProperAnswerValidator)
            {
                if (listBoxQuestions.SelectedIndex != -1)
                {
                    extractProperAnswer = new List <ExtractedProperAnswer>();
                    extractProperAnswer = (List <ExtractedProperAnswer>)response;
                    for (int i = 0; i < QuizList.Count; ++i)
                    {
                        if (QuizList[i].QuestionId == int.Parse(Questions[listBoxQuestions.SelectedIndex].QuestionId))
                        {
                            if (extractProperAnswer.Count > 0)
                            {
                                QuizList[i].AnswerKeySection = int.Parse(extractProperAnswer[0].AnswerKeyCode);
                                QuizList[i].QuestiontypeId   = int.Parse(extractProperAnswer[0].QuestionTypeId);
                            }
                            else
                            {
                                QuizList[i].AnswerKeySection = 2;
                                QuizList[i].QuestiontypeId   = 3;
                            }
                            break;
                        }
                    }
                }
            }
        }