コード例 #1
0
        }         // getAllWebPortalUsers

        /// <summary>
        /// gets an ArrayList of all (not deleted) WebPortalUsers that are in a specified role
        /// </summary>
        /// <param name="role">the (case insensitive) role to find all users for</param>
        /// <returns>an ArrayList of  Objects</returns>
        public WebPortalUser[] FetchAllWebPortalUsers(WebPortalUserRole role, WebPortalUser.SortUsersBy sortBy, PortalApplication portalApp)
        {
            string  sql = getStandardUserSQL("roles.roleId = " + role.RoleID + "", sortBy, portalApp);
            DataSet ds  = RunSelectQuery(sql);

            return(getWebPortalUsersFromStandardDataSet(ds));
        }         // getAllWebPortalUsers
コード例 #2
0
 public static bool Delete(WebPortalUserRole roleToDelete)
 {
     if (roleToDelete.RoleID > -1)
     {
         return((new WebPortalUserDB()).DeleteRole(roleToDelete));
     }
     return(false);
 }
コード例 #3
0
        private WebPortalUserRole roleFromRow(DataRow dr)
        {
            int    id   = Convert.ToInt32(dr["roleid"]);
            string name = dr["Name"].ToString();
            string desc = dr["Description"].ToString();

            WebPortalUserRole role = new WebPortalUserRole(id, name, desc);

            return(role);
        }
コード例 #4
0
        /// <summary>
        /// adds a role to the user's role list. Does NOT save this addition to the database.
        /// </summary>
        /// <param name="role"></param>
        public void AddUserRole(WebPortalUserRole role)
        {
            foreach (WebPortalUserRole r in Roles)
            {
                if (r.RoleID == role.RoleID)
                {
                    return;
                }
            }

            Roles.Add(role);
        }
コード例 #5
0
        }         // userExists

        /// <summary>
        /// adds a role to the system.
        /// </summary>
        /// <param name="role"></param>
        /// <returns>the role that was inserted or updated.</returns>
        public bool InsertRole(WebPortalUserRole role)
        {
            string sql = "INSERT INTO roles (name, description) VALUES ('" + dbEncode(role.Name) + "', '" + dbEncode(role.Description) + "') ";

            int newId = this.RunInsertQuery(sql);

            if (newId > -1)
            {
                role.RoleID = newId;
                return(true);
            }
            else
            {
                return(false);
            }
        } // AddRole
コード例 #6
0
        } // constructor

        public WebPortalUser(int UserId, string userName, string password, string[] roleNames)
        {
            uid          = UserId;
            UserName     = userName;
            Password     = password;
            FullName     = "";
            EmailAddress = "";
            Roles        = new List <WebPortalUserRole>();

            foreach (string roleName in roleNames)
            {
                WebPortalUserRole role = WebPortalUserRole.Fetch(roleName);
                if (role != null)
                {
                    AddUserRole(role);
                }
            } // foreach
            ApplicationPermissions = new List <PortalApplicationPermission>();
        }     // constructor
コード例 #7
0
        }         // setNameAndDescriptionAndSave

        public bool DeleteRole(WebPortalUserRole role)
        {
            if (role.RoleID > -1)
            {
                string sql = "UPDATE roles r SET ";
                sql += "r.Deleted = " + DBDialect.currentDateTime + " ";
                sql += "WHERE r.roleId = " + role.RoleID.ToString() + " ";

                try
                {
                    int numAffected = RunUpdateQuery(sql);
                    return(numAffected > 0);
                }
                catch
                {
                    return(false);
                }
            }
            return(false);
        }         // setNameAndDescriptionAndSave
コード例 #8
0
        }         // getUserRole

        public bool UpdateRole(WebPortalUserRole role)
        {
            if (role.RoleID > -1)
            {
                string sql = "UPDATE roles SET ";
                sql += "name = '" + dbEncode(role.Name) + "', ";
                sql += "description = '" + dbEncode(role.Description) + "' ";
                sql += "WHERE roleId = " + role.RoleID.ToString() + " ";

                try
                {
                    int numAffected = RunUpdateQuery(sql);
                    return(numAffected > 0);
                }
                catch
                {
                    return(false);
                }
            }
            return(false);
        }         // setNameAndDescriptionAndSave
コード例 #9
0
        }         // getAllWebPortalUsers

        /// <summary>
        /// returns an ArrayList of WebPortalUser objects. The passed in DataSet MUST have been created
        /// using getStandardUserSQL()
        /// </summary>
        /// <param name="ds">The DataSet returned from the query</param>
        /// <returns>an ArrayList of WebPortalUser objects</returns>
        private WebPortalUser[] getWebPortalUsersFromStandardDataSet(DataSet ds)
        {
            Dictionary <string, WebPortalUser> storage = new Dictionary <string, WebPortalUser>();

            if (hasRows(ds))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    string key = dr["AppUserId"].ToString();

                    // -- get the user
                    WebPortalUser user;
                    if (!storage.ContainsKey(key))
                    {
                        user              = new WebPortalUser(Convert.ToInt32(dr["AppUserId"]), dr["username"].ToString(), dr["password"].ToString());
                        user.FullName     = dr["FullName"].ToString();
                        user.EmailAddress = dr["EmailAddress"].ToString();
                        user.LastLogin    = getPossiblyNullValue(dr, "LastLoginDateTime", DateTime.MinValue);
                    }
                    else
                    {
                        user = storage[key];
                    }

                    // -- roles
                    if (dr["roleid"] != System.DBNull.Value)
                    {
                        WebPortalUserRole role = new WebPortalUserRole(Convert.ToInt32(dr["roleid"]), dr["RoleName"].ToString(), dr["RoleDesc"].ToString());
                        user.AddUserRole(role);
                    }

                    // x.`key` as exKey, x.`value` as exVal,


                    // -- Permissions
                    //      p.PermissionsId, p.ApplicationName, p.Action, p.Description
                    if (dr["PermissionsId"] != System.DBNull.Value)
                    {
                        PortalApplicationPermission p = new PortalApplicationPermission();
                        p.ID = Convert.ToInt32(dr["PermissionsId"]);
                        p.ApplicationName = dr["ApplicationName"].ToString().Trim();
                        p.Action          = dr["Action"].ToString().Trim();
                        p.Description     = dr["Description"].ToString();

                        user.AddUserPermission(p);
                    }


                    if (!storage.ContainsKey(key))
                    {
                        storage.Add(key, user);
                    }
                }         // foreach row
                          // ---- copy the storage NameValueCollection to the ArrayList
            }             // if there is data

            List <WebPortalUser> ret = new List <WebPortalUser>();

            foreach (string k in storage.Keys)
            {
                ret.Add(storage[k]);
            }

            return(ret.ToArray());
        }         // getWebPortalUsersFromStandardDataSet
コード例 #10
0
        } // FetchAll

        /// <summary>
        /// gets an Array of all WebPortalUsers that are in a specified role
        /// </summary>
        /// <param name="role">the (case insensitive) role to find all users for</param>
        /// <returns>an ArrayList of WebPortalUser Objects</returns>
        public static WebPortalUser[] FetchAll(WebPortalUserRole inRole, SortUsersBy sortBy, PortalApplication portalApp)
        {
            return((new WebPortalUserDB()).FetchAllWebPortalUsers(inRole, sortBy, portalApp));
        } // FetchAll