Ejemplo n.º 1
0
        public async Task <bool> IsEmailAvailable(string email)
        {
            ISpecification <User> alreadyRegisteredSpec =
                new UserAlreadyRegisteredSpec(email);

            User existingUser = await this.genericRepository.FindOneAsync(alreadyRegisteredSpec);

            return(existingUser != null);
        }
Ejemplo n.º 2
0
        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)));
        }