コード例 #1
0
        public BaseResult <IUser> Authorize(LoginUser loginUser)
        {
            User user = _userRepository.GetByEmail(loginUser.LoginOrEmail);

            var result = new BaseResult <IUser>();

            if (user.Password == Md5Hash.Generate(loginUser.Password))
            {
                result.Success = true;
                result.Message = "User authorized!";
                result.Data    = new User
                {
                    Id    = user.Id,
                    Name  = user.Name,
                    Email = user.Email
                };
            }
            else
            {
                result.Success = false;
                result.Message = "Not authorized!";
            }

            return(result);
        }
コード例 #2
0
        public bool Save(User user)
        {
            User u = context.Users.Where(x => x.Email == user.Email).FirstOrDefault();

            if (u != null)
            {
                throw new EmailAlreadyExistsException("Email já está em uso");
            }
            // Encrypts user password
            user.Password = Md5Hash.Generate(user.Password);
            var state = user.Id == 0 ? EntityState.Added : EntityState.Modified;

            context.Entry(user).State = state;
            context.Add(user);
            context.SaveChanges();
            return(true);
        }
コード例 #3
0
        public User Update(LoginUser user)
        {
            var _user = context.Users.Where(x => x.Email == user.LoginOrEmail).FirstOrDefault();

            if (_user != null)
            {
                // When user forgets the password, he can change it by sending the email
                user.Password  = Md5Hash.Generate(user.Password);
                _user.Password = user.Password;

                context.Entry(_user).State = EntityState.Modified;
                context.SaveChanges();
            }
            // Usuário não encontrado
            else
            {
                throw new UserNotFoundException("Usuário não encontrado");
            }

            return(_user);
        }