Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }