| public interface IUserService | public interface IUserService | ||||
| { | { | ||||
| Task<IEnumerable<User?>> GetAll(); | Task<IEnumerable<User?>> GetAll(); | ||||
| Task<User?> GetById(int id); | |||||
| Task<User?> GetByEmail(string email); | |||||
| Task<User> GetById(int id); | |||||
| Task<User> GetByEmail(string email); | |||||
| Task CreateUser(CreateUserRequestDto model); | Task CreateUser(CreateUserRequestDto model); | ||||
| Task<bool?> ToggleEnable(User user); | Task<bool?> ToggleEnable(User user); | ||||
| Task RemoveUser(User user); | Task RemoveUser(User user); |
| return result; | return result; | ||||
| } | } | ||||
| #region REFACTORING CODE HERE TO CHECK IF USER IS NULL | #region REFACTORING CODE HERE TO CHECK IF USER IS NULL | ||||
| public async Task<User?> GetById(int id) | |||||
| public async Task<User> GetById(int id) | |||||
| { | { | ||||
| _logger.LogInformation($"Start searching user with id = {id}"); | _logger.LogInformation($"Start searching user with id = {id}"); | ||||
| var result = await _userManager.FindByIdAsync(id.ToString()); | var result = await _userManager.FindByIdAsync(id.ToString()); | ||||
| if (result == null) | |||||
| { | |||||
| throw new EntityNotFoundException("User not found"); | |||||
| } | |||||
| return result; | |||||
| } | |||||
| public async Task<User> GetByEmail(string email) | |||||
| { | |||||
| _logger.LogInformation($"Start searching user with mail = {email}"); | |||||
| var result = await _userManager.FindByEmailAsync(email); | |||||
| if (result == null) | |||||
| { | |||||
| throw new EntityNotFoundException("User not found"); | |||||
| } | |||||
| return result; | return result; | ||||
| } | } | ||||
| public async Task<User?> GetByEmail(string email) => | |||||
| await _userManager.FindByEmailAsync(email); | |||||
| #endregion | #endregion | ||||
| public async Task CreateUser(CreateUserRequestDto model) | public async Task CreateUser(CreateUserRequestDto model) | ||||
| { | { |
| { | { | ||||
| var user = await _userService.GetById(id); | var user = await _userService.GetById(id); | ||||
| if (user == null) | |||||
| { | |||||
| return BadRequest("User not found"); | |||||
| } | |||||
| await _userService.ToggleEnable(user); | await _userService.ToggleEnable(user); | ||||
| return Ok(user.Id); | return Ok(user.Id); | ||||
| { | { | ||||
| var user = await _userService.GetById(id); | var user = await _userService.GetById(id); | ||||
| if (user == null) | |||||
| { | |||||
| return BadRequest("User not found"); | |||||
| } | |||||
| await _userService.RemoveUser(user); | await _userService.RemoveUser(user); | ||||
| return Ok(user.Id); | return Ok(user.Id); | ||||
| { | { | ||||
| var user = await _userService.GetById(id); | var user = await _userService.GetById(id); | ||||
| if (user == null) | |||||
| { | |||||
| return BadRequest("User not found"); | |||||
| } | |||||
| return Ok(_mapper.Map<User, UserDetailsResponseDTO>(user)); | return Ok(_mapper.Map<User, UserDetailsResponseDTO>(user)); | ||||
| } | } | ||||