コード例 #1
0
        public async Task <IActionResult> ActivationAccount([FromBody] ActivationAccountRequest activation)
        {
            var result = await _accountService.ActivationAccountAsync(activation);

            var mapped = _mapper.Map <UserResponse>(result);
            await _hub.Clients.All.SendAsync(HubConstants.USER_ACTIVATED, mapped);

            return(Ok(new ApiOkResponse(mapped)));
        }
コード例 #2
0
        public async Task <User> ActivationAccountAsync(ActivationAccountRequest activation)
        {
            var user = await _uow.UserRepository.FindBy(u => u.Email == activation.Email && u.VerificationCode == activation.Code).FirstOrDefaultAsync();

            if (user == null)
            {
                throw new NotFoundException(ExceptionConstants.NOT_FOUND, "User");
            }
            user.Status           = StatusEnum.ACTIVE;
            user.VerificationCode = 0;
            user.ActivatedAt      = DateTime.UtcNow;

            await _uow.UserRepository.UpdateAsync(user, user.Id);

            await _subscriptionService.GetOrInitSubscriptionAsync(user, SubscriptionEnum.VIRTUAL_ASESSOR);

            await _uow.CommitAsync();

            return(user);
        }