public T Insert(T obj) { if (obj == null) { throw new ArgumentNullException("Entity"); } var x = entities.Add(obj); _context.SaveChanges(); return(x.Entity); }
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); }