public void DeleteUser(Users user) { try { using (var db = new VoiceChatDBEntities()) { var userToRemove = db.Users.FirstOrDefault(u => u.Email == user.Email); if (userToRemove != null) { //delete friendsList int id = userToRemove.UserId; foreach (var item in db.FriendsList) { if (item.UserId == id || item.FriendId == id)//usuwany rekordy gdy my mamy usera w znajomych ale trez gdy on ma nas { db.FriendsList.Remove(item); } } //now we can delete user db.Users.Remove(userToRemove); db.SaveChanges(); } } } catch (Exception e) { throw e; } }
private void EditPasswordButton_Click(object sender, RoutedEventArgs e) { try { if (!PasswordValidator.ValidatePassword(PasswordTextBox.Password)) { MessageBox.Show("Hasło jest za słabe!"); return; } VoiceChatDBEntities serverDB = new VoiceChatDBEntities(); var queryEmailResult = serverDB.Users.FirstOrDefault(u => u.Email == EmailTextBox.Text); if (server.OnlineUsers.Any(u => u.Id == user.UserId)) { MessageBox.Show("Nie można edytować użytkownika, który jest online!"); return; } user.Password = CscSHA512Generator.get_SHA512_hash_as_string(PasswordTextBox.Password); manager.EditUser(user); if (UserControl != null) { UserControl.RefreshDataGrid(); } MessageBox.Show("Zaktualizowano dane użytkownika."); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void EditUser(Users user) { try { using (var db = new VoiceChatDBEntities()) { var result = db.Users.FirstOrDefault(u => u.UserId == user.UserId); if (result != null) { //result.UserId = user.UserId; if (user.Email.Length > 0) { result.Email = user.Email; } if (user.Password.Length > 0) { result.Password = user.Password; } } else { throw new Exception("Nie znaleziono takiego rekordu!"); } db.SaveChanges(); } } catch (Exception e) { throw e; } }
public void RefreshDataGrid() { using (VoiceChatDBEntities db = new VoiceChatDBEntities()) { usersList = db.Users.ToList(); UsersDataGrid.ItemsSource = usersList; } }
public UsersDBControl(MainServer server) { InitializeComponent(); using (VoiceChatDBEntities db = new VoiceChatDBEntities()) { usersList = db.Users.ToList(); this.server = server; } }
public void AddUser(Users users) { try { using (var db = new VoiceChatDBEntities()) { db.Users.Add(users); db.SaveChanges(); } } catch (Exception e) { throw e; } }
private void EditEmailButton_Click(object sender, RoutedEventArgs e) { try { if (!EmailValidator.IsValid(EmailTextBox.Text)) { MessageBox.Show("Adres email niepoprawny!"); return; } VoiceChatDBEntities serverDB = new VoiceChatDBEntities(); var queryEmailResult = serverDB.Users.FirstOrDefault(u => u.Email == EmailTextBox.Text); if (queryEmailResult != null) { MessageBox.Show("Podany adres email jest już zajęty!"); return; } if (server.OnlineUsers.Any(u => u.Id == user.UserId)) { MessageBox.Show("Nie można edytować użytkownika, który jest online!"); return; } user.Email = EmailTextBox.Text; manager.EditUser(user); //n !!! trzeba wyslac wszystkim userom online info, zeby zaktualizowali sobie tego usera var onlineUsers = server.OnlineUsers; foreach (var singleUser in onlineUsers) { server.SendNewFriendUserEncrypted(singleUser.Client, new cscprotocol.CscChangeFriendData { Id = user.UserId }, singleUser.DH.Key); } if (UserControl != null) { UserControl.RefreshDataGrid(); } MessageBox.Show("Zaktualizowano dane użytkownika."); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void LoadGrid(CurrentPage page) { var localEntities = new VoiceChatDBEntities();//n to chyba sie przyda do odswierzania na serwerze ladnego okienek !!!!! currentPage = page; //default button color #FF673AB7 switch (page) { case CurrentPage.OnlineUsers: var onlineUsersControl = new OnlineUsersControl(); onlineUsersControl.OnlineUsersDataGrid.ItemsSource = onlineUsers; CustomUserControl.Content = onlineUsersControl; break; case CurrentPage.UsersDB: var allUsers = localEntities.Users.ToList(); var userControl = new UsersDBControl(server); userControl.UsersDataGrid.ItemsSource = allUsers; CustomUserControl.Content = userControl; break; case CurrentPage.FriendsDB: var friendsControl = new FriendsListControl(); friendsControl.FriendsListDataGrid.ItemsSource = localEntities.FriendsList.ToList(); CustomUserControl.Content = friendsControl; break; case CurrentPage.ServerLog: CustomUserControl.Content = serverLogControl; break; case CurrentPage.Settings: CustomUserControl.Content = settingUserControl; break; case CurrentPage.Guide: CustomUserControl.Content = new GuideUserControl(); break; default: break; } }
private void AddUserButton_Click(object sender, RoutedEventArgs e) { try { if (!EmailValidator.IsValid(EmailTextBox.Text)) { MessageBox.Show("Adres email niepoprawny!"); return; } if (!PasswordValidator.ValidatePassword(PasswordTextBox.Password)) { MessageBox.Show("Hasło jest za słabe!"); return; } VoiceChatDBEntities serverDB = new VoiceChatDBEntities(); var queryEmailResult = serverDB.Users.FirstOrDefault(u => u.Email == EmailTextBox.Text); if (!(queryEmailResult == null)) { MessageBox.Show("Podany adres email jest już zajęty!"); return; } var user = new Users() { Email = EmailTextBox.Text, Password = CscSHA512Generator.get_SHA512_hash_as_string(PasswordTextBox.Password), RegistrationDate = DateTime.Now, LastLoginDate = null }; manager.AddUser(user); EmailTextBox.Clear(); PasswordTextBox.Clear(); if (UserControl != null) { UserControl.RefreshDataGrid(); } MessageBox.Show("Pomyślnie dodano użytkownika"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }