Ejemplo n.º 1
0
        protected void RegisterBtn_Click(object sender, EventArgs e)
    {
        string Username = RegUsernameBox.Text;
        string Email = RegEmailBox.Text;
        string REmail = RegREmailBox.Text;
        string Password = RegPasswordBox.Text;
        string RPassword = RegRPasswordBox.Text;
        
        if (Email != REmail)
        {
            RegError.Text = "Email don't match";
        }
        else if (Password != RPassword)
        {
            RegError.Text = "Password don't match";
        }
        else
        {
            GaymerLINQDataContext db = new GaymerLINQDataContext();
            //Sjekk om email eller username eksisterer
            var UsernameTest = (from a in db.Users
                                where a.Username == Username
                                select a).FirstOrDefault();
            var EmailTest = (from a in db.Users
                             where a.Mail == Email
                             select a).FirstOrDefault();            
            
            if (UsernameTest == null && EmailTest == null)
            {
                //klar for registrering
                User use = new User();
                use.Username = Username;
                use.Mail = Email;

                Random rand = new Random();
                string salt = rand.Next().ToString();
                byte[] bytee = System.Text.Encoding.Default.GetBytes(Password + salt);
                byte[] byteHash = new SHA1CryptoServiceProvider().ComputeHash(bytee);
                string hash = Convert.ToBase64String(byteHash);

                use.Salt = salt;
                use.Password = hash;

                UserInRole uir = new UserInRole();
                uir.inRoleID = 2;

                use.UserInRoles.Add(uir);

                db.Users.InsertOnSubmit(use);
                db.UserInRoles.InsertOnSubmit(uir);

                try
                {
                    db.SubmitChanges();
                    RegError.Text = "You are now registered";
                    Response.Redirect("/User/UserPage.aspx");
                }
                catch
                {
                    RegError.Text = "General database error";
                }
                finally
                {
                    db.Dispose();
                }
            }
            else if (UsernameTest != null && EmailTest != null)
            {

            }
            else if (UsernameTest != null)
            {

            }
            else if (EmailTest != null)
            {

            }
        }

       
    }