Beispiel #1
0
        public override void run()
        {
            int size = 1024;

            byte[] buffer = new byte[size];
            while (true)
            {
                try
                {
                    buffer = new byte[1024];
                    size   = socket.Receive(buffer);
                    Console.WriteLine(size);
                    Array.Resize(ref buffer, size);
                    Request request = (Request)SerializeDeserializeObject.Deserialize(buffer);

                    Object answer         = null;
                    int    nbRowsAffected = 0;
                    string CNE;
                    Branch branch;
                    switch (request.Type)
                    {
                    case RequestType.AddStudent:
                        Student student = (Student)request.Data;
                        Console.WriteLine("Adding student ...");
                        nbRowsAffected = connection.addStudent(student);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;

                    case RequestType.UpdateStudent:
                        Student data = (Student)request.Data;
                        Console.WriteLine("Updating student ...");
                        nbRowsAffected = connection.updateStudent(data);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;

                    case RequestType.GetOneStudnet:
                        Console.WriteLine("getting one Student");
                        CNE    = (string)request.Data;
                        answer = connection.getStudent(CNE);
                        break;

                    case RequestType.GetAllStudnets:
                        Console.WriteLine("getting all students");
                        answer = connection.getAllStudents();
                        break;

                    case RequestType.GetStudentByBranch:
                        Console.WriteLine("getting all students grouping by branch");
                        answer = connection.getStudentsByBranch();
                        break;

                    case RequestType.DeleteStudent:
                        Console.WriteLine("Deleting the student");
                        CNE            = (string)request.Data;
                        nbRowsAffected = connection.deleteStudent(CNE);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;

                    case RequestType.AddBranch:
                        Console.WriteLine("Adding a branch");
                        branch         = (Branch)request.Data;
                        nbRowsAffected = connection.addBranch(branch);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;

                    case RequestType.UpdateBranch:
                        Console.WriteLine("Updating a branch");
                        branch         = (Branch)request.Data;
                        nbRowsAffected = connection.updateBranch(branch);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;

                    case RequestType.GetAllBranches:
                        Console.WriteLine("Getting all branches");
                        answer = connection.getAllBranchs();
                        break;

                    case RequestType.DeleteBranch:
                        Console.WriteLine("Deleting the branch");
                        int ID = (int)request.Data;
                        nbRowsAffected = connection.deleteBranch(ID);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;

                    case RequestType.GetStatics:
                        Console.WriteLine("Getting the statistics");
                        answer = connection.getStatistics();
                        break;

                    case RequestType.CheckUser:
                        Console.WriteLine("Getting the user");
                        User user = request.Data as User;
                        answer = connection.CheckUser(user);

                        break;

                    case RequestType.UpdateUser:
                        Console.WriteLine("Updating the user");
                        User userUpadte = request.Data as User;
                        nbRowsAffected = connection.UpdateUser(userUpadte);
                        if (nbRowsAffected > 0)
                        {
                            answer = true;
                        }
                        else
                        {
                            answer = false;
                        }
                        break;
                    }

                    byte[] bufferAnswer = SerializeDeserializeObject.Serialize(answer);

                    socket.Send(bufferAnswer);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    Console.WriteLine(e.StackTrace);

                    /*socket.Close();
                     * socket.Dispose();*/
                    break;
                }
            }
        }