public User Create(RegisterUserPostDto userNew) { // TODO: how to store the user that added the expense as a field in Expense? User toAdd = RegisterUserPostDto.ToUser(userNew); context.Users.Add(toAdd); context.SaveChanges(); context.Users.Attach(toAdd); UserRole role = new UserRole { Id = 1, Name = RoleConstants.REGULAR }; UserUserRole history = new UserUserRole { UserRole = role, StartTime = DateTime.Now }; List <UserUserRole> list = new List <UserUserRole> { history }; context.UserRoles.Add(role); context.UserRoles.Attach(role); toAdd.UserUserRoles = list; context.SaveChanges(); return(toAdd); }
public ErrorsCollection Validate(RegisterUserPostDto registerUserPostDto, ExpensesDbContext context) { ErrorsCollection errorsCollection = new ErrorsCollection { Entity = nameof(RegisterUserPostDto) }; User existing = context.Users.FirstOrDefault(u => u.Username == registerUserPostDto.Username); if (existing != null) { errorsCollection.ErrorMessages.Add($"The username {registerUserPostDto.Username} is already taken!"); } if (registerUserPostDto.Password.Length < 6) { errorsCollection.ErrorMessages.Add("The password cannot be shorter than 6 characters!"); } int numberOfDigits = 0; foreach (char c in registerUserPostDto.Password) { if (c >= '0' && c <= '9') { numberOfDigits++; } } if (numberOfDigits < 2) { errorsCollection.ErrorMessages.Add("The password must contain at least two digits!"); } if (errorsCollection.ErrorMessages.Count > 0) { return(errorsCollection); } return(null); }
public void DeleteShouldDeleteUser() { var options = new DbContextOptionsBuilder <ExpensesDbContext>() .UseInMemoryDatabase(databaseName: nameof(DeleteShouldDeleteUser)) .Options; using (var context = new ExpensesDbContext(options)) { var userService = new UserService(context, null, config); var newUser = new RegisterUserPostDto { Email = "*****@*****.**", FullName = "dana", Password = "******", Username = "******" }; userService.Register(newUser); User addedUser = context.Users.Last(); context.Entry(addedUser).State = EntityState.Detached; //var addedUser = context.Users.Where(u => u.Username == "alina3").FirstOrDefault(); userService.Delete(addedUser.Id, User); int users = userService.GetAll().Count(); Assert.Zero(users); } }
public void AuthenticateShouldLoginAUser() { var options = new DbContextOptionsBuilder <ExpensesDbContext>() .UseInMemoryDatabase(databaseName: nameof(AuthenticateShouldLoginAUser)) .Options; using (var context = new ExpensesDbContext(options)) { var usersService = new UserService(context, config); var added = new RegisterUserPostDto { FullName = "codruta", Username = "******", Email = "*****@*****.**", Password = "******" }; var result = usersService.Register(added); var authenticated = new LoginPostDto { Username = "******", Password = "******" }; var authresult = usersService.Authenticate(added.Username, added.Password); Assert.IsNotNull(authresult); Assert.AreEqual(1, authresult.Id); Assert.AreEqual(authenticated.Username, authresult.Username); } }
//[HttpPost] public IActionResult Register([FromBody] RegisterUserPostDto registerModel) { var user = userService.Register(registerModel); if (user == null) { return(BadRequest(user)); } return(Ok()); }
public IActionResult Post([FromBody] RegisterUserPostDto userNew) { var user = userService.Create(userNew); if (user == null) { return(BadRequest(user)); } return(Ok()); }
//[HttpPost] public IActionResult Register([FromBody] RegisterUserPostDto registerModel) { var user = _userService.Register(registerModel); if (user == null) { return(BadRequest(new { ErrorMessage = "Username already exists." })); } return(Ok(user)); }
public GetUserDto Register(RegisterUserPostDto register) { User existing = context.Users.FirstOrDefault(u => u.Username == register.Username); if (existing != null) { return(null); } User user = new User { Email = register.Email, FullName = register.FullName, Password = ComputeSha256Hash(register.Password), Username = register.Username, CreatedAt = DateTime.Now }; context.Users.Add(user); context.SaveChanges(); context.Users.Attach(user); UserRole role = new UserRole { Id = 1, Name = RoleConstants.REGULAR }; UserUserRole history = new UserUserRole { UserRole = role, StartTime = DateTime.Now }; List <UserUserRole> list = new List <UserUserRole> { history }; context.UserRoles.Add(role); context.UserRoles.Attach(role); user.UserUserRoles = list; context.SaveChanges(); return(Authenticate(register.Username, register.Password)); }
public GetUserDto Register(RegisterUserPostDto registerInfo) { User existing = context.Users.FirstOrDefault(u => u.Username == registerInfo.Username); if (existing != null) { return(null); } context.Users.Add(new User { FullName = registerInfo.FullName, Email = registerInfo.Email, Username = registerInfo.Username, Password = ComputeSha256Hash(registerInfo.Password) }); context.SaveChanges(); return(Authenticate(registerInfo.Username, registerInfo.Password)); }
public void ValidRegisterShouldCreateNewUser() { var options = new DbContextOptionsBuilder <ExpensesDbContext>() .UseInMemoryDatabase(databaseName: nameof(ValidRegisterShouldCreateNewUser))// "ValidRegisterShouldCreateNewUser") .Options; using (var context = new ExpensesDbContext(options)) { var usersService = new UserService(context, null, config); var added = new RegisterUserPostDto { FullName = "fdsfsdfs", Username = "******", Email = "[email protected]", Password = "******", }; var result = usersService.Register(added); Assert.IsNotNull(result); } }
public void GetAllShouldReturnAllUser() { var options = new DbContextOptionsBuilder <ExpensesDbContext>() .UseInMemoryDatabase(databaseName: nameof(GetAllShouldReturnAllUser)) .Options; using (var context = new ExpensesDbContext(options)) { var usersService = new UserService(context, config); var added1 = new RegisterUserPostDto { FullName = "codruta1", Email = "*****@*****.**", Username = "******", Password = "******" }; var added2 = new RegisterUserPostDto { FullName = "codruta3", Email = "*****@*****.**", Username = "******", Password = "******" }; usersService.Register(added1); usersService.Register(added2); int numberOfElements = usersService.GetAll().Count(); Assert.NotZero(numberOfElements); } }