Skip to content

Commit bfa2579

Browse files
authored
Merge pull request #96 from sainsaji/updatebtnerrorfix
Updatebtnerrorfix with main
2 parents 293589f + b158644 commit bfa2579

5 files changed

Lines changed: 140 additions & 75 deletions

File tree

Forms/Admin/AdminUserControls/AdminUserManagementUserControl.Designer.cs

Lines changed: 66 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Forms/Admin/AdminUserControls/AdminUserManagementUserControl.cs

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
using System.Data;
77
using System.Linq;
88
using System.Net.Mail;
9+
using System.Security.Cryptography;
10+
using System.Text;
911
using System.Text.RegularExpressions;
1012
using System.Windows.Forms;
1113

@@ -290,6 +292,11 @@ private void updateBtn_Click(object sender, EventArgs e)
290292
string password = passwordText.Text;
291293
string HashedPassword = BCrypt.Net.BCrypt.HashPassword(password);
292294
Role SelectedRole = (Role)roleComboBox.SelectedItem;
295+
if (password == "" || SelectedRole == null)
296+
{
297+
MessageBox.Show("Please select a user to update");
298+
return;
299+
}
293300
Users users = new Users(0, userNameText.Text, HashedPassword, SelectedRole.RoleId, nameText.Text, emailText.Text, phoneNumberText.Text, addressText.Text, false);
294301
if (users.Username == "" && password == "" && users.Name == "" && users.Email == "" && users.PhoneNumber == "" && users.Address == "")
295302
{
@@ -341,9 +348,13 @@ private void deleteBtn_Click(object sender, EventArgs e)
341348
}
342349
else
343350
{
344-
MessageBox.Show("No User Selected.");
351+
MessageBox.Show("Error Updating User.");
345352
}
346353
}
354+
else
355+
{
356+
MessageBox.Show("No User Selected.");
357+
}
347358
}
348359
}
349360

@@ -356,5 +367,53 @@ private void addressLabel_Click(object sender, EventArgs e)
356367
{
357368

358369
}
370+
371+
private void button1_Click(object sender, EventArgs e)
372+
{
373+
string generatedPass = generateStrongPass();
374+
passwordText.Text = generatedPass;
375+
}
376+
377+
private string generateStrongPass()
378+
{
379+
// Define character sets for each password requirement
380+
string lowercaseChars = "abcdefghijklmnopqrstuvwxyz";
381+
string uppercaseChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
382+
string digitChars = "0123456789";
383+
string specialChars = "!@#$%^&*()_+-=[]{}|;:'\"<>,.?/";
384+
385+
// Combine all character sets
386+
string allChars = lowercaseChars + uppercaseChars + digitChars + specialChars;
387+
388+
// Create a secure random number generator
389+
using (var rng = new RNGCryptoServiceProvider())
390+
{
391+
StringBuilder password = new StringBuilder();
392+
393+
// Add at least one character from each required set
394+
password.Append(GetRandomCharacter(lowercaseChars, rng));
395+
password.Append(GetRandomCharacter(uppercaseChars, rng));
396+
password.Append(GetRandomCharacter(digitChars, rng));
397+
password.Append(GetRandomCharacter(specialChars, rng));
398+
399+
// Add random characters to meet the length requirement
400+
int requiredLength = 8;
401+
while (password.Length < requiredLength)
402+
{
403+
password.Append(GetRandomCharacter(allChars, rng));
404+
}
405+
406+
return password.ToString();
407+
}
408+
409+
}
410+
411+
static char GetRandomCharacter(string characterSet, RNGCryptoServiceProvider rng)
412+
{
413+
byte[] randomBytes = new byte[1];
414+
rng.GetBytes(randomBytes);
415+
int index = randomBytes[0] % characterSet.Length;
416+
return characterSet[index];
417+
}
359418
}
360419
}

Forms/Shared/UserLogin.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@ public partial class UserLogin : Form
1212

1313
public UserLogin(ServiceProvider serviceProvider)
1414
{
15+
1516
_serviceProvider = serviceProvider;
1617
InitializeComponent();
1718
checkDebug();
19+
DoubleBuffered = true;
20+
1821
}
1922

2023
private void checkDebug()

Forms/User/UserDashBoard.Designer.cs

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)