public virtual async Task <NetResult <LoginResult> > Login([FromBody] LoginViewModal model) { try { var result = await _user.Login(model); if (result.Item1 != null) { return(result.Item1); } if (result.Item2 != null || result.Item2.ShouldSendOtp) { var otp = RepositoryState.RandomInt(); _user.SetOtp(result.Item2, otp); SenNotify(result.Item2, otp); return(new LoginResult() { UserName = result.Item2.UserName, UserId = result.Item2.Id.ToString(), IsSentOtp = true, }); } return(null); } catch (Exception ext) { return(ext); } }
public virtual async Task <NetResult <ResponseData> > RestorePassword(string userName) { try { var otp = RepositoryState.RandomInt(); var user = await _user.GetByUserName(userName); if (user == null) { throw new CoreException("User not found"); } user.Token = RepositoryState.GenerateRandomString(24); _user.SetOtp(user, otp); SenNotify(user, otp); return(new ResponseData() { Result = new { Token = user.Token, UserName = user.UserName, IsSendSms = true } }); } catch (Exception ext) { return(ext); } }