Beispiel #1
0
        /// <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;
                }
            }
        }
Beispiel #2
0
        /// <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 { }
            }
        }