using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GeoTema { public partial class ChangePassword : Form { public ChangePassword() { InitializeComponent(); } private void btnChange_Click(object sender, EventArgs e) { string NewPass = txtNewPass.Text; string OldPass = txtOldPass.Text; if (NewPass == "" || OldPass == "") MessageBox.Show("Please fill in the necessary fields!"); else { string statement1 = "use GeoTema_Users select Password from Users where Password = @Exist"; if (!Sql.ExistCheck(statement1, OldPass)) MessageBox.Show("Old password is incorrect!"); else if (Sql.ExistCheck(statement1, OldPass) && OldPass == NewPass) MessageBox.Show("New password must be different from the old one!"); else { MainMenu main1 = new MainMenu(); if (main1.PasswordCheck(NewPass)) { List param1 = new List { NewPass }; string statement2 = "use GeoTema_Users update Users set password = @User where Username = '" + MainMenu.User + "'"; Sql.SQLConnect(statement2, param1); List param2 = new List { NewPass, OldPass }; string statement3 = "use master declare @sql nvarchar(max) set @sql = 'alter login " + MainMenu.User + " with password = ' + quotename(@User, '''') + ' old_password = ' + quotename(@Pass, '''') exec(@sql)"; Sql.SQLConnect(statement3, param2); MainMenu.Pass = NewPass; MessageBox.Show("Password changed!"); } else MessageBox.Show("Passwords must be a minimum of 8 characters long and contain at least one of each: small letter, big letter and number."); } } } private void btnBack_Click(object sender, EventArgs e) { switch (MainMenu.type) { case "administrator": { this.Hide(); AdminMenu Admin1 = new AdminMenu(); Admin1.ShowDialog(); this.Close(); break; } case "super user": { this.Hide(); SuperMenu Super1 = new SuperMenu(); Super1.ShowDialog(); this.Close(); break; } case "user": { this.Hide(); UserMenu User1 = new UserMenu(); User1.ShowDialog(); this.Close(); break; } } } } }