Example #1
0
        private void BtnStartGame_Click(object sender, RoutedEventArgs e)
        {
            UserToSession userSession = new UserToSession();
            Session       session     = new Session();

            userSession.Session      = session;
            userSession.User         = UserSet;
            userSession.Session.Quiz = QuizSet;
            int cnt = QuizSet.Question.Count;

            for (int i = 0; i < cnt; i++)
            {
                Play_Quiz play = new Play_Quiz(userSession, i);
                if (play.ShowDialog() == true)
                {
                    userSession = play.UserSessionSet;
                }
            }

            DbCommands cmd = new DbCommands();

            cmd.SendUserSession(userSession);

            Quiz_Final final = new Quiz_Final();

            final.ShowDialog();
        }
Example #2
0
        //Question

        //Session
        public void UserSessionAdd(UserToSession uts)
        {
            connection.Open();
            //  UserToSession userSession = uts;
            Session session = uts.Session;
            User    user    = uts.User;
            Quiz    quiz    = uts.Session.Quiz;

            session.Date       = DateTime.Now;
            session.QuizId     = quiz.Id;
            session.AccessCode = "asdad";

            string sqlQuery = "INSERT INTO Sessions(AccessCode, Date, StatusId, QuizId) " +
                              "VALUES (@AccessCode, @Date, 1, @QuizId)";

            connection.Execute(sqlQuery, session);
            Console.WriteLine(">>>Inserted in Sessions");

            sqlQuery = "SELECT * FROM Sessions WHERE QuizId = @QuizId and Date = @Date";
            session  = connection.QueryFirst <Session>(sqlQuery, session);
            Console.WriteLine(">>>Selected from Sessions");

            sqlQuery = "INSERT INTO UsersToSessions(SessionId,UserId) " +
                       $"VALUES (@Id, {user.Id})";
            connection.Execute(sqlQuery, session);
            Console.WriteLine(">>>Inserted in UsersToSessions");

            //?
            sqlQuery = "SELECT Id FROM UsersToSessions " +
                       $"WHERE SessionId = @Id and UserId = {user.Id}";
            uts.Id = connection.QueryFirst <int>(sqlQuery, session);
            Console.WriteLine(">>>Selected ID from UsersToSessions");

            foreach (Question question in uts.Session.Quiz.Question)
            {
                if (question.BoolTrue.Count != 0)
                {
                    sqlQuery = "INSERT INTO UserAnswersBool(Answer, BoolId, UserSessionId) " +
                               $"VALUES (@Answer, {question.BoolTrue.First().Id},{uts.Id})";
                    connection.Execute(sqlQuery, uts.UserAnswerBool);
                    Console.WriteLine(">>>>>>Inserted in UserAnswersBool");
                }
                if (question.DefaultTrue.Count != 0)
                {
                    sqlQuery = "INSERT INTO UserAnswersDefault(Answer, DefaultId, UserSessionId) " +
                               $"VALUES (@Answer, {question.DefaultTrue.First().Id},{uts.Id})";
                    connection.Execute(sqlQuery, uts.UserAnswerDefault);
                    Console.WriteLine(">>>>>>Inserted in UserAnswersDefault");
                }
                if (question.SequenceTrue.Count != 0)
                {
                    sqlQuery = "INSERT INTO UsersAnswersSequence(Answer1,Answer2,Answer3,Answer4,SequenceId,UserSessionId) " +
                               $"VALUES (@Answer1,@Answer2,@Answer3,@Answer4,{question.SequenceTrue.First().Id},{uts.Id})";
                    connection.Execute(sqlQuery, uts.UserAnswerSequence);
                    Console.WriteLine(">>>>>>Inserted in UsersAnswersSequence");
                }
            }

            connection.Close();
        }
Example #3
0
 public Play_Quiz(UserToSession uts, int num)
 {
     InitializeComponent();
     UserSessionSet   = uts;
     NumberOfQuestion = num;
     InitQuestion();
 }
Example #4
0
        public void SendUserSession(UserToSession uts)
        {
            try
            {
                TcpClient client = new TcpClient();
                client.Connect(ip, port);

                NetworkStream   ns = client.GetStream();
                BinaryFormatter bf = new BinaryFormatter();

                bf.Serialize(ns, uts);

                ns.Close();
                client.Close();
            }
            catch (Exception err) { }
        }
Example #5
0
        static async void WorkMethod()
        {
            try {
                DataManager   dm       = new DataManager();
                User          userType = new User();
                Quiz          quizType = new Quiz();
                UserToSession utsType  = new UserToSession();
                await Task.Run(() => {
                    while (true)
                    {
                        //  dm.test();
                        Console.WriteLine("Очікування запитів...");
                        TcpClient handler  = server.AcceptTcpClient();
                        NetworkStream ns   = handler.GetStream();
                        BinaryFormatter bf = new BinaryFormatter();

                        var item = bf.Deserialize(ns);
                        Console.WriteLine($"Отриманий об'єкт: {item.GetType()}");

                        //Якщо отриманий об'єкт - юзер
                        if (item.GetType() == userType.GetType())
                        {
                            User user = (User)item;
                            if (user.FuncName == "UserSignUp")
                            {
                                dm.UserSignUp(user);
                            }
                            if (user.FuncName == "UserEdit")
                            {
                                dm.UserEdit(user);
                                Console.WriteLine($"UserEdit: {user.Login} - {user.Password}");
                            }
                            if (user.FuncName == "UserSignIn")
                            {
                                user = dm.UserSignIn(user);
                                bf.Serialize(ns, user);
                            }
                            if (user.FuncName == "UserFind")
                            {
                                user = dm.UserFind(user);
                                bf.Serialize(ns, user);
                            }
                            if (user.FuncName == "SendActivateLink")
                            {
                                user = dm.SendActivateLink(user);
                                bf.Serialize(ns, user);
                            }
                        }
                        else if (item.GetType() == quizType.GetType())
                        {
                            Quiz quiz = (Quiz)item;
                            if (quiz.FuncName == "QuizQuestionsAdd")
                            {
                                Console.WriteLine("quiz - QuizQuestionsAdd");
                                dm.QuizQuestionsAdd(quiz);
                            }
                            if (quiz.FuncName == "QuizInit")
                            {
                                Console.WriteLine("quiz - QuizInit");
                                quiz = dm.QuizInit(quiz);
                                bf.Serialize(ns, quiz);
                            }
                            if (quiz.FuncName == "QuizGetAll")
                            {
                                Console.WriteLine("quiz - QuizGetAll");
                                List <Quiz> quizes = dm.QuizGetAll();
                                bf.Serialize(ns, quizes);
                            }
                        }
                        else if (item.GetType() == utsType.GetType())
                        {
                            dm.UserSessionAdd((UserToSession)item);
                        }


                        Console.WriteLine($"   >>>Done! {handler.Client.LocalEndPoint}");
                        ns.Close();
                        handler.Close();
                    }
                });
            } catch (Exception err) { Console.WriteLine(err.Message); }
        }