This repository has been archived on 2025-09-26. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Password-Manager-Legacy/Password Manager/GeneratePassword.cs
2023-03-27 00:19:30 +02:00

49 lines
1.7 KiB
C#

using Password_Generator;
namespace Password_Manager
{
public partial class GeneratePassword : Form
{
private string currentPath;
public GeneratePassword(string name, string currentPath)
{
InitializeComponent();
passwordName.Text = name;
this.currentPath = currentPath;
}
public void Generate(object sender, EventArgs e)
{
if (passwordName.Text == "" && passwordLength.Text == "")
{
MessageBox.Show("You must fill in all fields to continue.", "Error: Empty fields", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
bool valid = false;
while (!valid)
{
try
{
StreamWriter sw = new StreamWriter(currentPath + $"{passwordName.Text}.txt"); //TODO: rename to .gpg when encryption is possible
valid = true;
sw.Write(Generator.New(Convert.ToInt32(passwordLength.Text), noSymbols.Checked));
sw.Close();
}
catch (FormatException)
{
MessageBox.Show("Please enter a valid number for the password's length.", "Error: Invalid field", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (ArgumentNullException error)
{
MessageBox.Show(error.ToString(), "Error: No profile path", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (IOException error)
{
MessageBox.Show(error.ToString(), "IO Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}