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); }
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(); } }
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(); } } }