public async Task <bool> IsEmailAvailable(string email) { ISpecification <User> alreadyRegisteredSpec = new UserAlreadyRegisteredSpec(email); User existingUser = await this.genericRepository.FindOneAsync(alreadyRegisteredSpec); return(existingUser != null); }
public async Task <Response <UserDTO> > Add(UserDTO userDto) { ISpecification <User> alreadyRegisteredSpec = new UserAlreadyRegisteredSpec(userDto.Email); User existingUser = await this.genericRepository.FindOneAsync(alreadyRegisteredSpec); if (existingUser != null) { return(new Response <UserDTO>("User with this email already exists")); } User user = User.Create(userDto.Name, userDto.Email); this.unitOfWork.BeginTransaction(); this.genericRepository.Add(user); await this.unitOfWork.CommitAsync(); return(new Response <UserDTO>(this.mapper.Map <User, UserDTO>(user))); }