Exemplo n.º 1
0
        private void btn_sabt_Click(object sender, EventArgs e)
        {
            if (this.formtype == 1) ///add user
            {
                if (!CheckNotNull())
                {
                    return;
                }
                try
                {
                    //// check not duplicate user
                    var checkRepeateUsername_query = (from U in database.Users where U.Username == txt_username.Text.Trim() where U.Activity == 1 select U).ToList();
                    if (checkRepeateUsername_query.Count == 1)
                    {
                        MessageBox.Show("The username entered is already selected");
                        return;
                    }


                    /////////////hashing password
                    SHA256CryptoServiceProvider SHA256 = new SHA256CryptoServiceProvider();
                    Byte[] B1;
                    Byte[] B2;
                    B1 = UTF8Encoding.UTF8.GetBytes(txt_password.Text.Trim());
                    B2 = SHA256.ComputeHash(B1);
                    string HashedPassword = BitConverter.ToString(B2);

                    //////////// Create Image Array
                    FileStream fs_userImage   = new FileStream(userImageName, FileMode.Open, FileAccess.Read);
                    byte[]     imageByteArray = new byte[fs_userImage.Length];
                    fs_userImage.Read(imageByteArray, 0, Convert.ToInt32(fs_userImage.Length));
                    fs_userImage.Close();

                    //////////// Create Signature Image
                    FileStream fs_UserSignature         = new FileStream(UserSignatureName, FileMode.Open, FileAccess.Read);
                    byte[]     imageByteArray_Signature = new byte[fs_UserSignature.Length];
                    fs_UserSignature.Read(imageByteArray_Signature, 0, Convert.ToInt32(fs_UserSignature.Length));
                    fs_UserSignature.Close();

                    ///// check Gender
                    byte checkGender = 0;
                    if (rdb_man.Checked)
                    {
                        checkGender = 1;
                    }
                    else
                    {
                        checkGender = 2;
                    }
                    /////// Get Birthday Date
                    string Birthday = string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(persianDate_birthDay.Value.Year + "/" + persianDate_birthDay.Value.Month + "/" + persianDate_birthDay.Value.Day));

                    database.Sp_insert_Users(txt_name.Text, txt_family.Text, txt_username.Text, HashedPassword, txt_personalCode.Text, txt_email.Text, checkGender, 1, txt_tel.Text, Birthday.Trim(), imageByteArray
                                             , lbl_date.Text, imageByteArray_Signature);
                    database.SaveChanges();
                    MessageBox.Show("New user created successfully");
                    this.Close();
                }
                catch
                {
                    MessageBox.Show("Errors in recording information. Please try again.");
                }
            }
            else if (this.formtype == 2)  //// update user (s.20)
            {
                if (!CheckNotNull_forUpdateUser())
                {
                    return;
                }
                try
                {
                    byte[] imageByteArray = null;
                    if (userImageName != null)
                    {
                        //////////// Create User Image Array
                        FileStream fs_userImage = new FileStream(userImageName, FileMode.Open, FileAccess.Read);
                        imageByteArray = new byte[fs_userImage.Length];
                        fs_userImage.Read(imageByteArray, 0, Convert.ToInt32(fs_userImage.Length));
                        fs_userImage.Close();
                    }


                    ///// check Gender
                    byte checkGender = 0;
                    if (rdb_man.Checked)
                    {
                        checkGender = 1;
                    }
                    else
                    {
                        checkGender = 2;
                    }

                    /////// User Birthday Date
                    string Birthday = string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(persianDate_birthDay.Value.Year + "/" + persianDate_birthDay.Value.Month + "/" + persianDate_birthDay.Value.Day));

                    if (userImageName != "")
                    {
                        database.Sp_Update_Users(this.userID, txt_name.Text.Trim(), txt_family.Text.Trim(), txt_personalCode.Text.Trim(), txt_email.Text.Trim(), checkGender, txt_tel.Text.Trim(), Birthday, imageByteArray);
                    }
                    else if (userImageName == "")
                    {
                        database.Sp_Update_Users_noImage(this.userID, txt_name.Text.Trim(), txt_family.Text.Trim(), txt_personalCode.Text.Trim(), txt_email.Text.Trim(), checkGender, txt_tel.Text.Trim(), Birthday);
                    }

                    database.SaveChanges();
                    MessageBox.Show("User information successfully edited");
                    this.Close();
                }
                catch
                {
                    MessageBox.Show("There was a problem registering user information. Please try again");
                    return;
                }
            }
        }