Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }