public void SendRegistrationCode(string linkKey) { var invite = _inviteRepository.GetByLinkKey(linkKey); CheckInvite(invite); if (invite.PhoneCode != 0) { ContextAccessor.SetModelError("phoneCode", "Code has been sent yet"); ContextAccessor.ThrowIfModelInvalid(); } var verificationCode = SecurityExtensions.GetVerificationCode(); var user = _userRepository.GetById(invite.IdUser); _messengerService.SendSms(user.Phone, $"Your code: {verificationCode}"); invite.PhoneCode = verificationCode; _inviteRepository.Save(invite); }
public UserModel LoginAs(LoginModel modelParam, string roleName) { // TODO: ardasovvadim: encrypt and decrypt password ValidateDomain(modelParam.Email); _actionContext.ThrowIfModelInvalid(); var repositoryUser = _userRepository.GetByEmail(modelParam.Email); CheckCredentials(modelParam, repositoryUser, roleName); _actionContext.ThrowIfModelInvalid(); var verificationCode = SecurityExtensions.GetVerificationCode(); _logInfoService.AddVerificationLog(repositoryUser, verificationCode); _messengerService.SendSms(repositoryUser.Phone, $"Your Code: {verificationCode}"); return(_mapper.Map <UserModel>(repositoryUser)); }