예제 #1
0
    public async Task <ResponseDto <UserDto> > GenerateActivationCode(GenerateActivationCodeDto userDto)
    {
        var userEntity = await userRepository.GetUserByEmail(userDto.Email);

        if (userEntity != null)
        {
            userEntity.ActivationId = GenerateActivationId();
            userEntity.IsActive     = false;
            userEntity.CreatedDate  = DateTime.Now;
        }
        var updatedUserEntity = await userRepository.UpdateUser(userEntity);

        if (updatedUserEntity != null)
        {
            return(new ResponseDto <UserDto> {
                Results = new UserDto {
                    Email = updatedUserEntity.Email,
                    Id = updatedUserEntity.Id,
                    FullName = updatedUserEntity.FullName,
                    ActivationId = updatedUserEntity.ActivationId
                }
            });
        }
        return(null);
    }
예제 #2
0
        public async Task <IActionResult> GenerateActivationCode(GenerateActivationCodeDto userDetails)
        {
            try
            {
                var activationCode = await userService.GenerateActivationCode(userDetails);

                return(Ok(activationCode));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  new ResponseDto <UserDto>
                {
                    Errors = new List <ErrorDto>
                    {
                        new ErrorDto
                        {
                            ErrorCode = 1, ErrorMessage = ex.Message
                        }
                    }
                }));
            }
        }