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))); }
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); }