Example #1
0
        public async Task <IResult> Register(UserForRegisterDto userForRegisterDto)
        {
            byte[] passwordHash, passwordSalt;
            HashingHelper.CreatePasswordHash(userForRegisterDto.Password, out passwordHash, out passwordSalt);
            var user = new User
            {
                Email        = userForRegisterDto.Email,
                Name         = userForRegisterDto.Name,
                Password     = passwordHash,
                PasswordSalt = passwordSalt,
                Status       = true
            };
            await _userDal.AddAsync(user);

            await _cacheManager.RemoveByPattern("GetUser*");

            await AddUserOperationClaim(new UserOperationClaim { UserID = user.ID, OperationClaimID = 1 });

            return(new SuccessResult(Messages.UserAdded));
        }
            public async Task <IResult> Handle(CreateUserCommand request, CancellationToken cancellationToken)
            {
                var userExits = await _userDal.GetAsync(u => u.UserName == request.UserName);

                if (userExits != null)
                {
                    return(new ErrorResult(Messages.UserExists));
                }

                var user = _mapper.Map <User>(request);

                byte[] passwordHash, passwordSalt;
                HashingHelper.CreatePasswordHash(request.Password, out passwordSalt, out passwordHash);
                user.PasswordHash = passwordHash;
                user.PasswordSalt = passwordSalt;
                user.Status       = true;

                await _userDal.AddAsync(user);

                return(new SuccessResult(Messages.UserCreated));
            }
        /// <summary>
        /// Creates a new User and Employee from the details provided
        /// </summary>
        /// <param name="newUserDetails"></param>
        /// <returns></returns>
        public async Task <UserFullDetailsDto> CreateUserAsync(UserForRegistrationDto newUserDetails)
        {
            if (newUserDetails == null)
            {
                throw new ArgumentNullException(nameof(newUserDetails));
            }

            // map elements of the UserForRegistrationDto to JobDescription and Employee
            var newJobDescription = new JobDescription()
            {
                Description = newUserDetails.JobDescription,
                Role        = newUserDetails.Role
            };

            var newEmployeeDetails = new Employee()
            {
                Firstname = newUserDetails.FirstName,
                Lastname  = newUserDetails.LastName,
                Title     = newUserDetails.Title,
            };

            // Create the Password Hash and Salt
            _cryptoSvc.CreateHash(newUserDetails.Password, out var passwordHash, out var passwordSalt);

            // Combine elements to make the new user
            var newUser = new User()
            {
                Username        = newUserDetails.Username,
                PasswordHash    = passwordHash,
                PasswordSalt    = passwordSalt,
                State           = newUserDetails.State,
                JobDescription  = newJobDescription,
                EmployeeDetails = newEmployeeDetails
            };

            // Save to the database
            var result = await _userDal.AddAsync(newUser);

            return(result != null ? new UserFullDetailsDto(result) : null);
        }
Example #4
0
        public async Task <IResult> Add(User user)
        {
            await _userDal.AddAsync(user);

            return(new SuccessResult(Messages.UserAdded));
        }
Example #5
0
        public async Task <IResult> AddAsync(User entity)
        {
            await _userDal.AddAsync(entity);

            return(new SuccessResult());
        }
 public IResult AddAsync(User user)
 {
     _userDal.AddAsync(user);
     return(new SuccessResult(UserMessages.Added));
 }
Example #7
0
        public async Task <IResult> AddAsync(Entities.Concrete.User user)
        {
            await _userDal.AddAsync(user);

            return(new SuccessResult());
        }
Example #8
0
 public async Task <User> Created(User user)
 {
     return(await _userDal.AddAsync(user));
 }