Example #1
0
        /// <summary>
        /// Create user from Contract_JMMUser
        /// </summary>
        /// <returns></returns>
        private object CreateUser()
        {
            Request request = this.Request;

            Entities.JMMUser _user = (Entities.JMMUser) this.Context.CurrentUser;
            if (_user.IsAdmin == 1)
            {
                Contract_JMMUser user = this.Bind();
                user.Password       = Digest.Hash(user.Password);
                user.HideCategories = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
                user.PlexUsers      = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
                if (new JMMServiceImplementation().SaveUser(user) == "")
                {
                    return(APIStatus.statusOK());
                }
                else
                {
                    return(APIStatus.internalError());
                }
            }
            else
            {
                return(APIStatus.adminNeeded());
            }
        }
Example #2
0
 public static bool CompareUser(Contract_JMMUser olduser, Contract_JMMUser newuser)
 {
     if (olduser == null || !olduser.HideCategories.SetEquals(newuser.HideCategories))
     {
         return(true);
     }
     return(false);
 }
Example #3
0
        public Contract_JMMUser ToContract()
        {
            Contract_JMMUser contract = new Contract_JMMUser();

            contract.JMMUserID             = this.JMMUserID;
            contract.Username              = this.Username;
            contract.Password              = this.Password;
            contract.IsAdmin               = this.IsAdmin;
            contract.IsAniDBUser           = this.IsAniDBUser;
            contract.IsTraktUser           = this.IsTraktUser;
            contract.HideCategories        = this.HideCategories;
            contract.CanEditServerSettings = this.CanEditServerSettings;

            return(contract);
        }
Example #4
0
 public JMMUser(string username)
 {
     foreach (JMMUser us in RepoFactory.JMMUser.GetAll())
     {
         if (us.Username.ToLower() == username.ToLower())
         {
             JMMUserID             = us.JMMUserID;
             Username              = us.Username;
             Password              = us.Password;
             IsAdmin               = us.IsAdmin;
             IsAniDBUser           = us.IsAniDBUser;
             IsTraktUser           = us.IsTraktUser;
             HideCategories        = us.HideCategories;
             CanEditServerSettings = us.CanEditServerSettings;
             PlexUsers             = us.PlexUsers;
             _contract             = us._contract;
             Claims = us.Claims;
             break;
         }
     }
 }
Example #5
0
        public static void GenerateContract(JMMUser user)
        {
            Contract_JMMUser contract = new Contract_JMMUser();

            contract.JMMUserID   = user.JMMUserID;
            contract.Username    = user.Username;
            contract.Password    = user.Password;
            contract.IsAdmin     = user.IsAdmin;
            contract.IsAniDBUser = user.IsAniDBUser;
            contract.IsTraktUser = user.IsTraktUser;
            if (!string.IsNullOrEmpty(user.HideCategories))
            {
                contract.HideCategories =
                    new HashSet <string>(
                        user.HideCategories.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                        .Select(a => a.Trim())
                        .Where(a => !string.IsNullOrEmpty(a)).Distinct(StringComparer.InvariantCultureIgnoreCase),
                        StringComparer.InvariantCultureIgnoreCase);
            }
            else
            {
                contract.HideCategories = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
            }

            contract.CanEditServerSettings = user.CanEditServerSettings;
            if (!string.IsNullOrEmpty(user.PlexUsers))
            {
                contract.PlexUsers =
                    new HashSet <string>(
                        user.PlexUsers.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                        .Select(a => a.Trim())
                        .Where(a => !string.IsNullOrEmpty(a)).Distinct(StringComparer.InvariantCultureIgnoreCase),
                        StringComparer.InvariantCultureIgnoreCase);
            }
            else
            {
                contract.PlexUsers = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
            }
            user.Contract = contract;
        }