public IActionResult Delete(int id) { UserEntity userDb = _userRepository.GetSingle(id); if (userDb == null) { return(new NotFoundResult()); } else { IEnumerable <Model.Entities.Fraction> existingFraction = _fractionRepository.FindBy(uh => uh.User.Id == id); if (existingFraction != null) { throw new Exception("Cannot delete user because it has fractions tied to it!"); } IEnumerable <Recycling.Model.Entities.UserHub> userHubs = _userHubRepository.FindBy(a => a.UserId == id); foreach (var userHub in userHubs) { _userHubRepository.Delete(userHub); } _userRepository.Delete(userDb); _userRepository.Commit(); return(new NoContentResult()); } }
public IActionResult Get(int id) { UserEntity user = _userRepository.GetSingle(u => u.Id == id, u => u.TrashDeliveries); if (user != null) { User userDto = Mapper.Map <UserEntity, User>(user); return(new OkObjectResult(userDto)); } else { return(NotFound()); } }
public IActionResult Create([FromBody] UserEntity user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } UserEntity newUser = new UserEntity { FirstName = user.FirstName, LastName = user.LastName }; _userRepository.Add(newUser); _userRepository.Commit(); user = Mapper.Map <UserEntity, UserEntity>(newUser); CreatedAtRouteResult result = CreatedAtRoute("GetUser", new { controller = "Users", id = user.Id }, user); return(result); }
public IActionResult Patch(int id, [FromBody] User user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } UserEntity userDb = _userRepository.GetSingle(id); if (userDb == null) { return(NotFound()); } else { userDb.FirstName = user.FirstName; userDb.LastName = user.LastName; _userRepository.Commit(); } var userDto = Mapper.Map <UserEntity, User>(userDb); return(new OkObjectResult(userDto)); }