/// <summary> /// Enter the main window with new user /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CreateButton_Click(object sender, EventArgs e) { // change the user name to lowercase // only when it isn't default display name if (userCreateBox.Text != "User Name") { // change the user name to lower case userCreateBox.Text = userCreateBox.Text.ToLower(); } // add one zero for check digit if (passwordCreateBox.TextLength == 8) { // add 0 at the beggining if the password is 8 digit and need check digit passwordCreateBox.Text = passwordCreateBox.Text.PadLeft(9, '0'); } // אם השם קצר מידי או שזה שם התצוגה if (userCreateBox.TextLength < 4 || userCreateBox.Text == "User Name") { MainForm.ButtonShaker(createButton); MainForm.infoSound.Play(); if (messageCreateLabel.Visible == true) { messageCreateLabel.Visible = false; } messageCreateLabel.Text = "שם משתמש קצר מדי"; messageCreateLabel.Location = new Point((Width / 2) - (messageCreateLabel.Width / 2), (Height / 4) + messageCreateLabel.Height); messageCreateLabel.Visible = true; } // אם הסיסמה קצרה מדי או שזה שם התצוגה else if (passwordCreateBox.TextLength < 8 || passwordCreateBox.Text == "ID Number") { MainForm.ButtonShaker(createButton); MainForm.infoSound.Play(); if (messageCreateLabel.Visible == true) { messageCreateLabel.Visible = false; } messageCreateLabel.Text = "מספר תעודת זהות קצרה מדי"; messageCreateLabel.Location = new Point((Width / 2) - (messageCreateLabel.Width / 2), (Height / 4) + messageCreateLabel.Height); messageCreateLabel.Visible = true; } // if the password isn't contains only numbers else if (!int.TryParse(passwordCreateBox.Text, out _)) { MainForm.ButtonShaker(createButton); MainForm.infoSound.Play(); if (messageCreateLabel.Visible == true) { messageCreateLabel.Visible = false; } messageCreateLabel.Text = "יש להכניס לתעודת הזהות" + "\n" + "מספרים בלבד"; messageCreateLabel.Location = new Point(Width / 2 - messageCreateLabel.Width / 2, (Height / 4) + (messageCreateLabel.Height / 3)); messageCreateLabel.Visible = true; } // if the ID number isn't correct else if (!IDCheck(passwordCreateBox.Text)) { MainForm.ButtonShaker(createButton); MainForm.infoSound.Play(); if (messageCreateLabel.Visible == true) { messageCreateLabel.Visible = false; } messageCreateLabel.Text = "מספר תעודה הזהות איננו תקין"; messageCreateLabel.Location = new Point(Width / 2 - messageCreateLabel.Width / 2, (Height / 4) + messageCreateLabel.Height); messageCreateLabel.Visible = true; } // if everything is OK, the user will be created else { string userInfo = $@"{_GCD}\{userCreateBox.Text}"; if (!Directory.Exists(userInfo)) { Directory.CreateDirectory(userInfo).Attributes |= FileAttributes.Hidden; } if (!File.Exists(userInfo += $@"\{userCreateBox.Text}.txt")) { using SoundPlayer sound = new SoundPlayer(_logonSound); sound.Play(); File.WriteAllText ( userInfo, userCreateBox.Text + "|" + StringCipher.Encrypt(passwordCreateBox.Text, userCreateBox.Text) ); new FileInfo(userInfo) { Attributes = FileAttributes.Hidden }; messageCreateLabel.Text = "המשתמש נוצר בהצלחה"; messageCreateLabel.Location = new Point((Width / 2) - (messageCreateLabel.Width / 2), (Height / 4) + messageCreateLabel.Height); messageCreateLabel.Visible = true; NewForm(); } else { MainForm.ButtonShaker(createButton); MainForm.infoSound.Play(); if (messageCreateLabel.Visible == true) { messageCreateLabel.Visible = false; } messageCreateLabel.Text = "המשתמש כבר קיים במערכת"; messageCreateLabel.Location = new Point(Width / 2 - messageCreateLabel.Width / 2, (Height / 4) + messageCreateLabel.Height); messageCreateLabel.Visible = true; } } }
/// <summary> /// Enter the main window with exist user /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EnterButton_Click(object sender, EventArgs e) { // change the user name to lowercase // only when it isn't default display name if (userExistBox.Text != "User Name") { // convert the user name to lower case userExistBox.Text = userExistBox.Text.ToLower(); } // add one zero for check digit if (passwordExistBox.TextLength == 8) { // add 0 at the beggining if the password is 8 digit and need check digit passwordExistBox.Text = passwordExistBox.Text.PadLeft(9, '0'); } // Empty fields if (userExistBox.Text == "User Name" && passwordExistBox.Text == "ID Number") { MainForm.ButtonShaker(enterButton); MainForm.infoSound.Play(); if (messageExistLabel.Visible == true) { messageExistLabel.Visible = false; } messageExistLabel.Text = "שדות ריקים"; messageExistLabel.Location = new Point(Width / 2 - messageExistLabel.Width / 2, messageExistLabel.Location.Y); messageExistLabel.Visible = true; } // if the user name is too short else if (userExistBox.TextLength < 4 || userExistBox.Text == "User Name") { MainForm.ButtonShaker(enterButton); MainForm.infoSound.Play(); if (messageExistLabel.Visible == true) { messageExistLabel.Visible = false; } messageExistLabel.Text = "שם משתמש קצר מדי"; messageExistLabel.Location = new Point((Width / 2) - (messageExistLabel.Width / 2), (Height / 4) + messageExistLabel.Height); messageExistLabel.Visible = true; } // if the ID number is too short else if (passwordExistBox.TextLength < 8 || passwordExistBox.Text == "ID Number") { MainForm.ButtonShaker(enterButton); MainForm.infoSound.Play(); if (messageExistLabel.Visible == true) { messageExistLabel.Visible = false; } messageExistLabel.Text = "מספר תעודת זהות קצרה מדי"; messageExistLabel.Location = new Point((Width / 2) - (messageExistLabel.Width / 2), (Height / 4) + messageExistLabel.Height); messageExistLabel.Visible = true; } // if the ID number isn't only numbers else if (!int.TryParse(passwordExistBox.Text, out _)) { MainForm.ButtonShaker(enterButton); MainForm.infoSound.Play(); if (messageExistLabel.Visible == true) { messageExistLabel.Visible = false; } messageExistLabel.Text = "יש להכניס לתעודת הזהות" + "\n" + "מספרים בלבד"; messageExistLabel.Location = new Point((Width / 2) - (messageExistLabel.Width / 2), (Height / 4) + (messageExistLabel.Height / 3)); messageExistLabel.Visible = true; } // At this point, every input test are OK else { try { string userInfoPath = $@"{_GCD}\{userExistBox.Text}\{userExistBox.Text}.txt"; // the folder name and user are the same // so if there isn't a folder with the user name // the user isn't exist if (File.Exists(userInfoPath)) { using StreamReader reader = new StreamReader(userInfoPath); // אם יש תוכן בקובץ if (reader.Peek() != -1) { string[] userInfo = reader.ReadToEnd().Split('|'); // האם שם המשתמש והסיסמה נכונים if (userInfo[0] == userExistBox.Text && StringCipher.Decrypt(userInfo[1], userExistBox.Text) == passwordExistBox.Text) { using SoundPlayer sound = new SoundPlayer(_logonSound); sound.Play(); messageExistLabel.Visible = false; reader.Close(); NewForm(); } // Password incorrect else { MainForm.ButtonShaker(enterButton); MainForm.infoSound.Play(); if (messageExistLabel.Visible == true) { messageExistLabel.Visible = false; } messageExistLabel.Text = "סיסמה שגויה"; messageExistLabel.Location = new Point((Width / 2) - (messageExistLabel.Width / 2), (Height / 4) + messageExistLabel.Height); messageExistLabel.Visible = true; } } reader.Close(); } // if the user isn't exist else { MainForm.ButtonShaker(enterButton); MainForm.infoSound.Play(); if (messageExistLabel.Visible == true) { messageExistLabel.Visible = false; } messageExistLabel.Text = "המשתמש לא קיים במערכת"; messageExistLabel.Location = new Point((Width / 2) - (messageExistLabel.Width / 2), (Height / 4) + messageExistLabel.Height); messageExistLabel.Visible = true; } } catch { } } }