/// <summary>
        /// 登入
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public virtual LoginEntity Login(LoginEntity login)
        {
            var locker = new LockerEntity
            {
                Name = login.Name,
                Tag  = login.LockerTag
            };

            if (!LockerDomainService.Check(locker))
            {
                login.Errors = login.Errors ?? new List <ErrorInfo>();
                login.Errors.AddList(locker.Errors);
                return(login);
            }
            login = LoginDomainService.Login(login);
            if (login.Errors != null && login.Errors.Count != 0)
            {
                var unitofworks = LockerDomainService.Set(locker);
                if (unitofworks != null)
                {
                    Creator.Get <IContext>().Commit(unitofworks);
                }
            }
            return(login);
        }
示例#2
0
        /// <summary>
        /// 重置密码
        /// </summary>
        /// <param name="name"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public virtual PasswordDto Reset(string name, string password)
        {
            var result = new PasswordDto
            {
                IsTimeout = CheckTemporary(name)
            };

            if (result.IsTimeout)
            {
                return(result);
            }
            var account = GetAccount(name);

            if (account == null)
            {
                result.Result = false;
                return(result);
            }
            SetSaveAccount(account, password);
            var unitofworks = AccountDomainService.Handle(account);

            if (unitofworks == null)
            {
                result.Result = false;
                result.Errors = account.Errors;
                return(result);
            }
            var locker = new LockerEntity
            {
                Name = account.Name,
                Tag  = IdentityEntity.LockTag
            };

            unitofworks.AddList(LockerDomainService.Release(locker));
            result.Result = Winner.Creator.Get <IContext>().Commit(unitofworks);
            result.Errors = locker.Errors;
            return(result);
        }