public IActionResult AddUser(CreatedUser user) { User newUser = user.ToUser(); newUser.Id = _users.AddUser(user); return(Created(HttpContext.Request.Scheme + "//" + HttpContext.Request.Host + HttpContext.Request.Path + "/" + newUser.Id, newUser)); }
public async Task <ActionResult <User> > PostUser(NewUserViewModel vm) { var db = new DatabaseContext(); var energyLevel = db.EnergyLevels.FirstOrDefault(energyLevel => energyLevel.Id == vm.EnergyLevelId); var gender = db.Genders.FirstOrDefault(gender => gender.Id == vm.GenderId); var interest = db.InterestedEnergyLevels.FirstOrDefault(interest => interest.Id == vm.InterestedEnergyLevelId); if (energyLevel == null) { return(NotFound()); } else if (gender == null) { return(NotFound()); } else if (interest == null) { return(NotFound()); } else { var user = new User { Name = vm.Name, Breed = vm.Breed, About = vm.About, Size = vm.Size, EnergyLevelId = vm.EnergyLevelId, GenderId = vm.GenderId, InterestedEnergyLevelId = vm.InterestedEnergyLevelId }; db.Users.Add(user); db.SaveChanges(); var rv = new CreatedUser { Id = user.Id, Name = user.Name, Breed = user.Breed, About = user.About, Size = user.Size, EnergyLevelId = user.EnergyLevelId, GenderId = user.GenderId, InterestedEnergyLevelId = user.InterestedEnergyLevelId }; return(Ok(rv)); } }
public static User ToUser(this CreatedUser user) { if (user != null) { return(new User { Name = user.Name, NumberIdCard = user.NumberIdCard, Surname = user.Surname, PhoneNumber = user.PhoneNumber, Email = user.Email }); } else { return(null); } }
public async Task Login_Returns_BadRequest_When_UserHasErrorMessage() { var createdUser = new CreatedUser { ErrorMessage = "Failed to create user" }; _userManagerMock.Setup(m => m.CreateAsync(It.IsAny <NewUser>(), It.IsAny <CancellationToken>())).ReturnsAsync(createdUser); var newUser = new App.Controllers.V1.Users.Models.NewUser { Username = "******", Password = "******" }; var response = await _sut.CreateAsync(newUser, CancellationToken.None); Assert.IsType <BadRequestObjectResult>(response.Result); _userManagerMock.Verify(m => m.CreateAsync(It.IsAny <NewUser>(), It.IsAny <CancellationToken>()), Times.Once); }
public async Task <IActionResult> Register(UserForRegisterDto userforRegisterDto) { if (await _repository.UserExists(userforRegisterDto.Username.ToLower())) { ModelState.AddModelError("Username", "Username already exist"); } if (await _repository.EmailExists(userforRegisterDto.Email.ToLower())) { ModelState.AddModelError("Email", "Email already exist"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } userforRegisterDto.Username = userforRegisterDto.Username.ToLower(); //if (await _repository.UserExists(userforRegisterDto.Username)) // return BadRequest("Username is already taken "); var userToCreate = new User { Username = userforRegisterDto.Username, LastName = userforRegisterDto.LastName.ToLower(), FirstName = userforRegisterDto.LastName.ToLower(), Email = userforRegisterDto.Email.ToLower(), }; var createUser = await _repository.Register(userToCreate, userforRegisterDto.Password); var createdUser = new CreatedUser { Email = createUser.Email, FirstName = createUser.FirstName, Id = createUser.Id, LastName = createUser.LastName, Username = createUser.Username }; return(StatusCode(201, new { user = createdUser })); }
public int AddUser(CreatedUser createdUser) { User user = createdUser.ToUser(); return(_userRepository.Insert(user.ToEntity())); }
public IHttpActionResult Post([FromBody] NewUser user) { CreatedUser createdUser = userBusiness.Create(user); return(Created($"/api/users/{createdUser.Id}", createdUser)); }