public async Task <LoginResultStruct> LoginRequest(string account, string pwd) { LoginResultStruct result = new LoginResultStruct(); result.loginResult = LoginResult.Ok; result.acc = null; if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd)) { return(result); } account = account.ToLower(); pwd = pwd.ToLower(); var acc = await context.Accounts.FirstOrDefaultAsync(d => d.Mail.ToLower() == account || d.Phone == account); if (acc != null) { var model = new AccountEditModel(); model.Id = acc.Id; model.Frozened = acc.Frozened; model.ActivationTime = DataHelper.FormatDateTime(acc.ActivationTime); model.ExpireTime = DataHelper.FormatDateTime(acc.ExpireTime); model.Password = acc.Password; result.acc = model; } if (result.acc == null) { result.loginResult = LoginResult.AccOrPasswordWrong; } else { if (result.acc.Frozened) { result.loginResult = LoginResult.Frozen; } var now = DateTime.UtcNow; if (now < DataHelper.ParseDateTime(result.acc.ActivationTime).AddDays(-1)) { result.loginResult = LoginResult.NotActivation; } if (now > DataHelper.ParseDateTime(result.acc.ExpireTime)) { result.loginResult = LoginResult.Expired; } if (result.acc.Password != pwd) { result.loginResult = LoginResult.AccOrPasswordWrong; } } return(result); }
public async Task <LoginResultStruct> LoginRequest(string account, string pwd) { LoginResultStruct result = new LoginResultStruct(); result.loginResult = LoginResult.AccOrPasswordWrong; result.acc = null; if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd)) { return(result); } account = account.ToLower(); pwd = pwd.ToLower(); result.acc = await context.Accounts.FirstOrDefaultAsync(d => d.Mail == account || d.Phone == account); if (result.acc == null) { result.loginResult = LoginResult.AccOrPasswordWrong; } if (result.acc.Frozened) { result.loginResult = LoginResult.Frozen; } var now = DateTime.UtcNow; if (now < result.acc.ActivationTime) { result.loginResult = LoginResult.NotActivation; } if (now > result.acc.ExpireTime) { result.loginResult = LoginResult.Expired; } if (result.acc.Password != pwd) { result.loginResult = LoginResult.AccOrPasswordWrong; } return(result); }