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;
     }
 }
Example #2
0
        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;
            }
        }
Example #4
0
 public void RefreshDataGrid()
 {
     using (VoiceChatDBEntities db = new VoiceChatDBEntities())
     {
         usersList = db.Users.ToList();
         UsersDataGrid.ItemsSource = usersList;
     }
 }
Example #5
0
 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;
     }
 }
Example #7
0
        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;
            }
        }
Example #9
0
        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);
            }
        }