예제 #1
0
        public IActionResult New([FromBody] NewUserRegistrationModel newUsr)
        {
            var result = Database.ChaliceDb.RegisterNewUser(newUsr);

            if (result == false)
            {
                return(Content("false"));
            }

            return(Redirect("/account/login"));
        }
예제 #2
0
        public static bool RegisterNewUser(NewUserRegistrationModel registration)
        {
            var user = new User
            {
                UserName = new Ganss.XSS.HtmlSanitizer().Sanitize(registration.UserName),
                Password = Security.GetPasswordHashString(registration.Password),
                Email    = registration.Email,
                Role     = "user",
                Created  = DateTime.Now
            };

            var history = new UserHistory
            {
                UserName = user.UserName,
                Target   = "account",
                Action   = "created",
                Value    = user.UserName,
                Created  = DateTime.Now
            };

            using (var db = new ChaliceDb())
            {
                var userEntry = db.Users.FirstOrDefault(d => d.UserName == user.UserName || d.Email == user.Email);

                if (userEntry != null)
                {
                    return(false);
                }

                db.BeginTransaction();

                db.InsertWithIdentity(user);
                db.InsertWithIdentity(history);

                db.CommitTransaction();
            }

            return(true);
        }