コード例 #1
0
        public void Add(AddUserCommand user)
        {
            if (string.IsNullOrEmpty(user.LoginName) || string.IsNullOrEmpty(user.Password))
            {
                throw new LogException(LogicExceptionMessage.LoginNameOrPasswordIsNull);
            }
            if (!IsNumAndEnCh(user.LoginName) || !IsNumAndEnCh(user.Password))
            {
                throw new LogException(LogicExceptionMessage.LoginNameOrPasswordIsAlphabet);
            }
            if (!IsLengthMoreThanSix(user.LoginName) || !IsLengthMoreThanSix(user.Password))
            {
                throw new LogException(LogicExceptionMessage.LoginNameOrPasswordLengthMoreThanSix);
            }
            var equalName = _systemUserRepository.GetAll().FirstOrDefault(x => x.LoginName == user.LoginName);

            if (equalName != null)
            {
                throw new LogException(LogicExceptionMessage.TheSameLoginName);
            }
            var info = new SystemUser
            {
                LoginName  = user.LoginName,
                Password   = user.Password,
                CreateUser = LoginUserSection.CurrentUser.LoginName,
                CreateDate = _currentTimeProvider.CurrentTime()
            };

            _systemUserRepository.Add(info);
        }
コード例 #2
0
        public AuthenticatedViewModel Login(string email, string password)
        {
            if (string.IsNullOrEmpty(email))
            {
                throw new DomainException(ErrorMessage.UserEmailIsEmpty);
            }
            if (string.IsNullOrEmpty(password))
            {
                throw new DomainException(ErrorMessage.PasswordIsRequired);
            }

            var user = _systemUserRepository.GetAll(x => x.Email == email).FirstOrDefault();

            if (user == null)
            {
                throw new DomainException(ErrorMessage.UserIsNotExist);
            }
            if (!user.IsActive)
            {
                throw new DomainException(ErrorMessage.UserWasDisabled);
            }

            if (!PasswordHasher.ValidateHash(password, user.PasswordHash))
            {
                throw new DomainException(ErrorMessage.UserLoginFault);
            }



            using (var unitOfWork = _unitOfWorkFactory.GetCurrentUnitOfWork())
            {
                var authenticationToken = SHA256Hash.CreateHash(Guid.NewGuid().ToString());
                user.UpdateLogin(authenticationToken, _timeSource.LocalNow());


                _systemUserRepository.Edit(user);
                unitOfWork.Commit();

                _cacheManager.Add(authenticationToken, user.Id);
                var authenticatedViewModel = new AuthenticatedViewModel
                {
                    Id    = user.Id,
                    Name  = user.Name,
                    Email = user.Email,
                    AuthenticationToken = authenticationToken,
                    SystemRoleName      = user.SystemRole.Name,
                    SystemRoleId        = user.SystemRoleId
                };

                _cacheManager.Add(user.Id.ToString(), authenticatedViewModel);
                return(authenticatedViewModel);
            }
        }
コード例 #3
0
ファイル: FlowChartPCMHService.cs プロジェクト: HJ520134/PIS
        public List <SystemUserDTO> QueryBomUserInfo()
        {
            //获取所有用户信息,还要判断用户是否是MHFLAG
            var list = systemUserRepository.GetAll().ToList();
            var dto  = AutoMapper.Mapper.Map <List <SystemUserDTO> >(list);

            return(dto);
        }
コード例 #4
0
        public List <SystemUserDTO> GetAllUser()
        {
            List <SystemUserDTO> result = new List <SystemUserDTO>();

            var userlist = systemUserRepository.GetAll().ToList();

            foreach (var item in userlist)
            {
                result.Add(AutoMapper.Mapper.Map <SystemUserDTO>(item));
            }
            return(result);
        }
コード例 #5
0
        public UserViewModel Login(LoginUiCommand command)
        {
            if (IsNullOrEmpty(command.Account) || IsNullOrEmpty(command.Password))
            {
                throw new LogicException(ErrorMessage.UserLoginNull);
            }
            var currentUser = _systemUserRepository.GetAll(x =>
                                                           x.LoginName == command.Account).SingleOrDefault();

            if (currentUser == null)
            {
                throw new LogicException(ErrorMessage.UserIsNotExist);
            }
            if (!PasswordHasher.ValidateHash(command.Password, currentUser.Password))
            {
                throw new LogicException(ErrorMessage.UserLoginFault);
            }

            currentUser.LastLoginDate = _currentTimeProvider.CurrentTime();
            _systemUserRepository.Edit(currentUser);
            var user = currentUser.User.ToLoginViewModel();

            return(user);
        }
コード例 #6
0
 public IEnumerable <SystemUserTableViewModel> GetAll(int pageNumber, int recordNumbers)
 {
     return(_mapper.Map <IEnumerable <SystemUser>, IEnumerable <SystemUserTableViewModel> >(_systemUserRepository.GetAll(pageNumber, recordNumbers)));
 }