diff --git a/Authorization.cs b/Authorization.cs index 561041b..66eddc8 100644 --- a/Authorization.cs +++ b/Authorization.cs @@ -87,6 +87,17 @@ namespace AwesomeEmailExtractor Role = role; } + public void Delete() + { + SqliteCommand command = new SqliteCommand(); + command.Connection = Globals.db; + command.CommandText = "DELETE FROM users WHERE id = @id"; + + SqliteParameter loginParam = new SqliteParameter("@id", ID); + command.Parameters.Add(loginParam); + + command.ExecuteNonQuery(); + } } public class AdminUtils diff --git a/AwesomeEmailExtractor.csproj b/AwesomeEmailExtractor.csproj index e634b53..d078b5e 100644 --- a/AwesomeEmailExtractor.csproj +++ b/AwesomeEmailExtractor.csproj @@ -101,6 +101,12 @@ RegistrationForm.cs + + Form + + + SettingsForm.cs + AuthorizationForm.cs @@ -116,6 +122,9 @@ True Resources.resx + + SettingsForm.cs + RegistrationForm.cs diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 8ce0ef9..d0cf934 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -37,6 +37,10 @@ this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.аккаунтToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.administrationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.resultStatusStrip.SuspendLayout(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); @@ -112,6 +116,7 @@ // this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, + this.аккаунтToolStripMenuItem, this.helpToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; @@ -131,6 +136,35 @@ this.helpToolStripMenuItem.Size = new System.Drawing.Size(65, 20); this.helpToolStripMenuItem.Text = "Справка"; // + // аккаунтToolStripMenuItem + // + this.аккаунтToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.settingsToolStripMenuItem, + this.administrationToolStripMenuItem, + this.exitToolStripMenuItem}); + this.аккаунтToolStripMenuItem.Name = "аккаунтToolStripMenuItem"; + this.аккаунтToolStripMenuItem.Size = new System.Drawing.Size(63, 20); + this.аккаунтToolStripMenuItem.Text = "Аккаунт"; + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.settingsToolStripMenuItem.Text = "Настройки"; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); + // + // administrationToolStripMenuItem + // + this.administrationToolStripMenuItem.Name = "administrationToolStripMenuItem"; + this.administrationToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.administrationToolStripMenuItem.Text = "Администрирование"; + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.exitToolStripMenuItem.Text = "Выход"; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -166,6 +200,10 @@ private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel; + private System.Windows.Forms.ToolStripMenuItem аккаунтToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem administrationToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; } } diff --git a/MainForm.cs b/MainForm.cs index ca6ca5a..c37dbf9 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -53,5 +53,11 @@ namespace AwesomeEmailExtractor { "uniqueEmails", uniqueEmails } }); } + + private void settingsToolStripMenuItem_Click(object sender, EventArgs e) + { + SettingsForm settingsForm = FormManager.Current.CreateForm(); + settingsForm.ShowDialog(this); + } } } diff --git a/SettingsForm.Designer.cs b/SettingsForm.Designer.cs new file mode 100644 index 0000000..c139b18 --- /dev/null +++ b/SettingsForm.Designer.cs @@ -0,0 +1,122 @@ +namespace AwesomeEmailExtractor +{ + partial class SettingsForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.changePasswordButton = new System.Windows.Forms.Button(); + this.entryNewPassword = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.entryRePassword = new System.Windows.Forms.TextBox(); + this.deleteAccountButton = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // changePasswordButton + // + this.changePasswordButton.Location = new System.Drawing.Point(34, 96); + this.changePasswordButton.Name = "changePasswordButton"; + this.changePasswordButton.Size = new System.Drawing.Size(275, 26); + this.changePasswordButton.TabIndex = 0; + this.changePasswordButton.Text = "Изменить пароль"; + this.changePasswordButton.UseVisualStyleBackColor = true; + // + // entryNewPassword + // + this.entryNewPassword.Location = new System.Drawing.Point(158, 12); + this.entryNewPassword.Name = "entryNewPassword"; + this.entryNewPassword.Size = new System.Drawing.Size(151, 20); + this.entryNewPassword.TabIndex = 2; + this.entryNewPassword.UseSystemPasswordChar = true; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(30, 12); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(118, 20); + this.label2.TabIndex = 4; + this.label2.Text = "Новый пароль"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label3.Location = new System.Drawing.Point(30, 53); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(125, 20); + this.label3.TabIndex = 5; + this.label3.Text = "Повтор пароля"; + // + // entryRePassword + // + this.entryRePassword.Location = new System.Drawing.Point(158, 53); + this.entryRePassword.Name = "entryRePassword"; + this.entryRePassword.Size = new System.Drawing.Size(151, 20); + this.entryRePassword.TabIndex = 6; + this.entryRePassword.UseSystemPasswordChar = true; + // + // deleteAccountButton + // + this.deleteAccountButton.Location = new System.Drawing.Point(34, 137); + this.deleteAccountButton.Name = "deleteAccountButton"; + this.deleteAccountButton.Size = new System.Drawing.Size(275, 26); + this.deleteAccountButton.TabIndex = 7; + this.deleteAccountButton.Text = "Удалить аккаунт"; + this.deleteAccountButton.UseVisualStyleBackColor = true; + this.deleteAccountButton.Click += new System.EventHandler(this.deleteAccountButton_Click); + // + // SettingsForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(338, 184); + this.Controls.Add(this.deleteAccountButton); + this.Controls.Add(this.entryRePassword); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.entryNewPassword); + this.Controls.Add(this.changePasswordButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Name = "SettingsForm"; + this.Text = "Настройки"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button changePasswordButton; + private System.Windows.Forms.TextBox entryNewPassword; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox entryRePassword; + private System.Windows.Forms.Button deleteAccountButton; + } +} \ No newline at end of file diff --git a/SettingsForm.cs b/SettingsForm.cs new file mode 100644 index 0000000..5d516e9 --- /dev/null +++ b/SettingsForm.cs @@ -0,0 +1,36 @@ +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 AwesomeEmailExtractor +{ + public partial class SettingsForm : Form + { + public SettingsForm() + { + InitializeComponent(); + } + + private void deleteAccountButton_Click(object sender, EventArgs e) + { + DialogResult result = MessageBox.Show("Вы уверены что хотите удалить аккаунт?", "Удаление аккаунта", MessageBoxButtons.YesNo); + + if (result == DialogResult.Yes) + { + Globals.currentUser.Delete(); + MessageBox.Show("Аккаунт удален"); + + this.Close(); + + AuthorizationForm authorization = FormManager.Current.CreateForm(); + FormManager.Current.Navigate(this.Owner, authorization); + } + } + } +} diff --git a/SettingsForm.resx b/SettingsForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SettingsForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file