public async Task <SignInResultViewModel> SignInStepTwo(SignInStepTwoViewModel model) { var phone = model.PhoneNumber.Trim().ToNormalPhoneNumber(); var code = model.SecurityCode.Trim().ToNormalNumber(); var user = await _context.Users.FirstOrDefaultAsync(w => w.PhoneNumber == phone); if (user == null) { throw new Exception("کاربر مورد نظر یافت نشد"); } if ((user.SecurityCode != code) || (user.SecurityCode == code && user.SecurityCodeExpiration < DateTime.Now)) { throw new Exception("کد وارد شده معتبر نیست"); } return(new SignInResultViewModel { PhoneNumber = phone, FullName = user.FullName, RoleEnum = user.RoleEnum, RoleTitle = ((RoleEnum)user.RoleEnum).GetEnumName(), Token = _jwtTokenGenerator.GenerateToken(user.Id, true) }); }
public async Task <IActionResult> SingInStepTwo([FromBody] SignInStepTwoViewModel model) { try { var result = await _userRepository.SignInStepTwo(model); return(Ok(_result.SetSuccess(result))); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(BadRequest(_result.SetBadRequest(ex))); } }