Example #1
0
        public T Insert(T obj)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("Entity");
            }

            var x = entities.Add(obj);

            _context.SaveChanges();
            return(x.Entity);
        }
Example #2
0
        public Users RegisterUser(Models.UserRegistration userRegister)
        {
            var userInDbUserName = _context.Users.FirstOrDefault(x => x.Username == userRegister.Username);
            var userInDbEmail    = _context.Users.FirstOrDefault(x => x.Email == userRegister.Email);

            if (userInDbUserName != null)
            {
                throw new UserException("Username already in use!");
            }

            if (userInDbEmail != null)
            {
                throw new UserException("Email already in use!");
            }

            if (userRegister.Password != userRegister.PasswordConfirmation)
            {
                throw new UserException("Passwords do not match!");
            }
            var user = new Users
            {
                Email     = userRegister.Email,
                Username  = userRegister.Username,
                FirstName = userRegister.FirstName,
                LastName  = userRegister.LastName,
                JoinDate  = DateTime.Now
            };

            user.PasswordSalt = HashGenSalt.GenerateSalt();
            user.PasswordHash = HashGenSalt.GenerateHash(user.PasswordSalt, userRegister.Password);

            _context.Users.Add(user);
            _context.SaveChanges();

            foreach (var role in userRegister.Roles)
            {
                UsersRoles usersRoles = new UsersRoles
                {
                    UserId = user.Id,
                    RoleId = role
                };
                _context.UsersRoles.Add(usersRoles);
            }
            _context.SaveChanges();

            return(user);
        }