コード例 #1
0
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            UserAddWindow userAddWindow = new UserAddWindow();

            Application.Current.Dispatcher.Invoke((Action) delegate
            {
                userAddWindow.ShowDialog();

                if (userAddWindow.UserLW != null)
                {
                    UserList.Add(userAddWindow.UserLW);
                }

                lastAddedUser = userAddWindow.UserLW;
            });

            TrueMessage trueMessageToServer = new TrueMessage {
                Command = Command.AddUser, Login = login, Message = userAddWindow.UserLW
            };

            byte[]     dataAddUserRequest;
            IFormatter formatter = new BinaryFormatter();

            using (MemoryStream stream = new MemoryStream())
            {
                formatter.Serialize(stream, trueMessageToServer);
                dataAddUserRequest = stream.ToArray();
            }

            networkStream.BeginWrite(dataAddUserRequest, 0, dataAddUserRequest.Length, new AsyncCallback(AddUserRequest), null);
        }
コード例 #2
0
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            if (CheckData())
            {
                TextBlock selectedItem = (TextBlock)UserTypeComboBox.SelectedItem;

                UserLW = new UserLW
                {
                    Login    = LoginTextBox.Text,
                    Password = PasswordTextBox.Password,
                    FullName = FullNameTextBox.Text,
                    UserType = selectedItem.Text
                };

                this.Close();
            }
        }
コード例 #3
0
        private void AddUser(TcpClient tcpClient, TrueMessage trueMessage)
        {
            Console.WriteLine("AddUser");

            SqlConnection sqlConnection = new SqlConnection(connectionString);

            try
            {
                if (sqlConnection.State == ConnectionState.Closed)
                {
                    sqlConnection.Open();
                }

                UserLW newUser = (UserLW)trueMessage.Message;

                SqlCommand sqlCommand = new SqlCommand("Proc_LoginAvailabilityCheck", sqlConnection);
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.Parameters.AddWithValue("@Login", newUser.Login);
                int count = Convert.ToInt32(sqlCommand.ExecuteScalar());

                TrueMessage trueMessageToClient = new TrueMessage();

                if (count == 1)
                {
                    Console.WriteLine("AddUserReject Login exists");

                    trueMessageToClient.Command = Command.Reject;
                    trueMessageToClient.Message = "User with that login already exists";
                }
                else
                {
                    sqlCommand             = new SqlCommand("Proc_GetUserTypeId", sqlConnection);
                    sqlCommand.CommandType = CommandType.StoredProcedure;
                    sqlCommand.Parameters.AddWithValue("@UserType", newUser.UserType);
                    int userTypeId = Convert.ToInt32(sqlCommand.ExecuteScalar());

                    if (userTypeId == 0)
                    {
                        Console.WriteLine("AddUserReject wrong UserType");

                        trueMessageToClient.Command = Command.Reject;
                        trueMessageToClient.Message = "Wrong UserType";
                    }
                    else
                    {
                        Console.WriteLine("AddUserApprove");

                        sqlCommand             = new SqlCommand("Proc_AddUser", sqlConnection);
                        sqlCommand.CommandType = CommandType.StoredProcedure;
                        sqlCommand.Parameters.AddWithValue("@Login", newUser.Login);
                        sqlCommand.Parameters.AddWithValue("@Password", newUser.Password);
                        sqlCommand.Parameters.AddWithValue("@FullName", newUser.FullName);
                        sqlCommand.Parameters.AddWithValue("@UserTypeId", userTypeId);
                        sqlCommand.ExecuteNonQuery();

                        trueMessageToClient.Command = Command.Approve;
                    }
                }

                byte[]     dataAddUserAnswer;
                IFormatter formatter = new BinaryFormatter();

                using (MemoryStream stream = new MemoryStream())
                {
                    formatter.Serialize(stream, trueMessageToClient);
                    dataAddUserAnswer = stream.ToArray();
                }

                NetworkStream networkStream = tcpClient.GetStream();

                networkStream.BeginWrite(dataAddUserAnswer, 0, dataAddUserAnswer.Length, new AsyncCallback(AddUserAnswer), tcpClient);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (sqlConnection.State != ConnectionState.Closed)
                {
                    sqlConnection.Close();
                }
            }
        }