Example #1
0
        public void getUserGroup()

        {
            try
            {
                UserGropsListBox.Items.Clear();
                string      urlUserGroupSearch = serverURL + "/user/group/direct?username="******"";
                retrive.GET(urlUserGroupSearch, auth, out groupList);

                XmlDocument doc = new XmlDocument();
                doc.LoadXml(groupList);
                foreach (XmlNode noda in doc.DocumentElement)
                {
                    if (noda.LocalName == "group")
                    {
                        UserGropsListBox.Items.Add(noda.Attributes["name"].Value);
                    }
                }
            }


            catch

            (Exception ex)
            {
                MessageBox1(ex.Message);
            }
        }
Example #2
0
        public void getGroup()

        {
            try
            {
                listBoxAvailibleGroups.Items.Clear();
                string      urlGroupSearch = serverURL + "/search?entity-type=group";
                getResponse retrive        = new getResponse();
                string      groupList      = "";
                retrive.GET(urlGroupSearch, auth, out groupList);

                XmlDocument doc = new XmlDocument();
                doc.LoadXml(groupList);
                foreach (XmlNode noda in doc.DocumentElement)
                {
                    if (noda.LocalName == "group")
                    {
                        listBoxAvailibleGroups.Items.Add(noda.Attributes["name"].Value);
                    }
                }
            }

            catch (Exception ex)
            {
                MessageBox1(ex.Message);
            }
        }
Example #3
0
        public void GroupsTab()
        {
            try
            {
                existingGroupsComboBox.Items.Clear();
                string      urlGroupSearch = serverURL + "/search?entity-type=group";
                getResponse retrive        = new getResponse();
                string      groupList      = "";
                retrive.GET(urlGroupSearch, auth, out groupList);


                XmlDocument doc = new XmlDocument();
                doc.LoadXml(groupList);
                foreach (XmlNode noda in doc.DocumentElement)
                {
                    if (noda.LocalName == "group")
                    {
                        existingGroupsComboBox.Items.Add(noda.Attributes["name"].Value);
                    }
                }

                existingGroupsComboBox.SelectedIndex = 0;
            }

            catch (Exception ex)
            {
                MessageBox1(ex.Message);
            }
        }
Example #4
0
        private void copyGroupsButton_Click(object sender, RoutedEventArgs e)
        {
            List <string> diffGroups  = new List <string>();
            string        XmlDocument = "";

            foreach (string group in listBoxSearchUser.Items)
            {
                if (listBox1.Items.Contains(group) == false)
                {
                    diffGroups.Add(group);
                }
            }



            if (diffGroups.Count != 0)
            {
                DialogBox DialogBox1 = new DialogBox();
                DialogBox1.Show("Group/s will be added. Would you like to continue?");
                if (DialogBox1.DialogResult == true)

                {
                    foreach (string group in diffGroups)
                    {
                        string      url     = serverURL + "/group?groupname=" + group;
                        getResponse retrive = new getResponse();
                        string      data    = "";
                        retrive.GET(url, auth0, out data);

                        if (data == "")

                        {
                            string createGroupURL = "/group";
                            XmlDocument = "<group name = \"" + group + "\" expand=\"attributes\"><type>GROUP</type><description>" + group + "</description><active>true</active><attributes><link rel =\"self\" href = \"/group?groupname=" + group + "\" /></attributes></group>";
                            retrive     = new getResponse();
                            data        = "";
                            retrive.POST(serverURL + createGroupURL, XmlDocument, auth0, out data);
                            log("Create Group - " + group + " - Result: group successfully created");
                        }

                        string addToGroupURL = "/user/group/direct?username="******"<group name=\"" + group + "\"/>";
                        retrive     = new getResponse();
                        data        = "";
                        retrive.POST(serverURL + addToGroupURL + userUnderProcess, XmlDocument, auth0, out data);
                        log("Add to Group - " + userUnderProcess + " - Result: was successfully added to the '" + group + "' group");
                        listBox1.Items.Add(group);
                    }
                }
            }


            this.DialogResult = true;
        }
Example #5
0
        //private void logo_Click(object sender, RoutedEventArgs e)

        //{
        //    System.Diagnostics.Process proc = new System.Diagnostics.Process();
        //    proc.StartInfo.FileName = "mailto:[email protected]?subject=ServiceRequest // "+DateTime.UtcNow.ToUniversalTime();
        //    proc.Start();
        //}

        private void attributsButton_Click(object sender, RoutedEventArgs e)
        {
            string      attributes        = "";
            string      urlUserAttributes = serverURL + "/user/attribute?username="******"";

            retrive.GET(urlUserAttributes, auth, out attributesList);
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(attributesList);
            foreach (XmlNode noda in doc.DocumentElement)
            {
                if (noda.LocalName == "attribute")
                {
                    var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                    switch (noda.Attributes["name"].Value)
                    {
                    case "requiresPasswordChange": attributes += "Requires Password Change : " + noda.InnerText + "\r\n";
                        break;

                    case "invalidPasswordAttempts": attributes += "Invalid Password Attempts : " + noda.InnerText + "\r\n";
                        break;

                    case "autoGroupsAdded": attributes += "Auto Groups Added : " + noda.InnerText + "\r\n";
                        break;

                    case "lastActive": attributes += "Last Active : " + epoch.AddMilliseconds(Convert.ToInt64(noda.InnerText)).ToString() + "\r\n";
                        break;

                    case "lastAuthenticated": attributes += "Last Authenticated : " + epoch.AddMilliseconds(Convert.ToInt64(noda.InnerText)).ToString() + "\r\n";
                        break;

                    case "passwordLastChanged": attributes += "Password Last Changed : " + epoch.AddMilliseconds(Convert.ToInt64(noda.InnerText)).ToString() + "\r\n";
                        break;

                    default: continue;
                    }
                }
            }

            MessageBox1(attributes);
        }
Example #6
0
        public void getUserGroups(string user)

        {
            foreach (var directory in directories)
            {
                if (listBoxSearchUser.Items.Count != 0)
                {
                    return;
                }

                getCredentials(directory);

                try
                {
                    listBoxSearchUser.Items.Clear();
                    string      urlUserGroupSearch = serverURL + "/user/group/direct?username="******"";
                    retrive.GET(urlUserGroupSearch, auth, out groupList);

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(groupList);
                    foreach (XmlNode noda in doc.DocumentElement)
                    {
                        if (noda.LocalName == "group")
                        {
                            listBoxSearchUser.Items.Add(noda.Attributes["name"].Value);
                        }
                    }
                }


                catch

                (Exception ex)
                {
                    MessageBox1(ex.Message);
                }
            }
        }
Example #7
0
        private void GetMambersButton_Click(object sender, RoutedEventArgs e)
        {
            listBox.Items.Clear();
            totalMembersCountTextBlock.Text = "";
            if (existingGroupsComboBox.Text == "")
            {
                MessageBox1("Please, select group first.");


                return;
            }
            try
            {
                string      urlGroupMembersSearch = serverURL + "/group/user/direct?groupname=" + existingGroupsComboBox.Text + "&max-result=10000";
                getResponse retrive          = new getResponse();
                string      groupMembersList = "";
                retrive.GET(urlGroupMembersSearch, auth, out groupMembersList);
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(groupMembersList);
                foreach (XmlNode noda in doc.DocumentElement)
                {
                    if (noda.LocalName == "user")
                    {
                        listBox.Items.Add(noda.Attributes["name"].Value);
                    }
                }

                totalMembersCountTextBlock.Text = "Total: " + listBox.Items.Count;
                log("Get Group Members - " + existingGroupsComboBox.Text + ". Result: " + totalMembersCountTextBlock.Text + ": users found");
            }

            catch (Exception ex)
            {
                MessageBox1(ex.Message);
            }
        }
Example #8
0
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            foreach (var directory in directories)
            {
                getCredentials(directory);

                searchTextBox.Text = searchTextBox.Text.TrimStart(' ').TrimEnd(' ');

                if (searchTextBox.Text.Contains(" "))
                {
                    string      url     = serverURL + "/search?entity-type=user&restriction=displayName%20=%20%22*" + searchTextBox.Text + "*%22";
                    getResponse retrive = new getResponse();
                    string      data    = "";
                    retrive.GET(url, auth, out data);

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(data);
                    foreach (XmlNode noda in doc.DocumentElement)
                    {
                        if (noda.LocalName == "user")
                        {
                            userName = noda.Attributes["name"].Value;

                            foundUsers.Add(userName);
                        }
                    }
                }

                if (searchTextBox.Text.Contains("@"))
                {
                    string      url     = serverURL + "/search?entity-type=user&restriction=email%20=%20%22*" + searchTextBox.Text + "*%22";
                    getResponse retrive = new getResponse();
                    string      data    = "";
                    retrive.GET(url, auth, out data);

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(data);
                    foreach (XmlNode noda in doc.DocumentElement)
                    {
                        if (noda.LocalName == "user")
                        {
                            userName = noda.Attributes["name"].Value;

                            foundUsers.Add(userName);
                        }
                    }

                    searchTextBox.Text.Substring(0, searchTextBox.Text.IndexOf("@"));

                    url     = serverURL + "/search?entity-type=user&restriction=name%20=%20%22*" + searchTextBox.Text + "*%22";
                    retrive = new getResponse();
                    data    = "";
                    retrive.GET(url, auth, out data);

                    doc = new XmlDocument();
                    doc.LoadXml(data);
                    foreach (XmlNode noda in doc.DocumentElement)
                    {
                        if (noda.LocalName == "user")
                        {
                            userName = noda.Attributes["name"].Value;

                            foundUsers.Add(userName);
                        }
                    }
                }

                else
                {
                    string      url     = serverURL + "/search?entity-type=user&restriction=name%20=%20%22*" + searchTextBox.Text + "*%22";
                    getResponse retrive = new getResponse();
                    string      data    = "";
                    retrive.GET(url, auth, out data);

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(data);
                    foreach (XmlNode noda in doc.DocumentElement)
                    {
                        if (noda.LocalName == "user")
                        {
                            userName = noda.Attributes["name"].Value;

                            foundUsers.Add(userName);
                        }
                    }
                }
            }
            if (foundUsers.Count == 0)
            {
                MessageBox1("No users found");
                return;
            }

            getUserGroups(foundUsers.Last());
        }
Example #9
0
        private void SearchButton_Click(object sender, RoutedEventArgs e)
        {
            userName = "";
            foundUsers.Clear();
            maxIndex = 0;
            nextUserButton.Visibility = Visibility.Hidden;
            SearchTextBox.Text        = SearchTextBox.Text.TrimStart(' ').TrimEnd(' ');
// if field search is empty

            if (SearchTextBox.Text == "")
            {
                MessageBox1("Search field is empty.");
                return;
            }
// if master mode should be enabled
            if (SearchTextBox.Text == "#master")
            {
                DeleteUserButton.Visibility  = Visibility.Visible;
                deleteGroupButton.Visibility = Visibility.Visible;
                return;
            }



// User search

            string      xmlFile       = File.ReadAllText(Environment.CurrentDirectory + "\\application.conf");
            XmlDocument configuration = new XmlDocument();

            configuration.LoadXml(xmlFile);
            foreach (XmlNode tag in configuration.DocumentElement)
            {
                if (userName != "")
                {
                    return;
                }

                if (tag.Attributes["company"].Value == company)
                {
                    string directory = tag.Attributes["name"].Value;
                    serverURL = tag.Attributes["url"].Value + "/rest/usermanagement/1";
                    auth[0]   = tag.Attributes["user"].Value;
                    auth[1]   = tag.Attributes["password"].Value;
                    DirectoryComboBox.Text = directory;

// if string contains @ symbol do search by email address

                    if (SearchTextBox.Text.Contains("@") == true)
                    {
                        string      url         = serverURL + "/search?entity-type=user";
                        string      XmlDocument = "<property-search-restriction><property><name>email</name><type>STRING</type></property><match-mode>EXACTLY_MATCHES</match-mode><value>" + SearchTextBox.Text + "</value></property-search-restriction>";
                        getResponse retrive     = new getResponse();
                        string      data        = "";
                        retrive.POST(url, XmlDocument, auth, out data);

                        if (data == notFoundXML)

                        {
                            cleanSearchFields();
                            url         = serverURL + "/search?entity-type=user";
                            XmlDocument = "<property-search-restriction><property><name>name</name><type>STRING</type></property><match-mode>EXACTLY_MATCHES</match-mode><value>" + SearchTextBox.Text.Substring(0, SearchTextBox.Text.IndexOf("@")) + "</value></property-search-restriction>";
                            retrive     = new getResponse();
                            data        = "";
                            retrive.POST(url, XmlDocument, auth, out data);
                            if (data == notFoundXML)

                            {
                                cleanSearchFields();
                            }
                        }

                        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(data);
                        foreach (XmlNode noda in doc.DocumentElement)
                        {
                            if (noda.LocalName == "user")
                            {
                                UserNameBox.Text = noda.Attributes["name"].Value;
                                userName         = noda.Attributes["name"].Value;

                                foundUsers.Add(userName);
                            }
                        }

                        if (foundUsers.Count > 1)

                        {
                            severalUsersFound();
                        }

                        try
                        {
                            string urlUserSearch = serverURL + "/user?username="******"";
                            retrive.GET(urlUserSearch, auth, out userInfo);

                            doc = new XmlDocument();
                            doc.LoadXml(userInfo);
                            foreach (XmlNode noda in doc.DocumentElement)
                            {
                                if (noda.LocalName == "active")
                                {
                                    active = Convert.ToBoolean(noda.FirstChild.Value);
                                }
                                else if (noda.LocalName == "first-name")
                                {
                                    firstName = noda.FirstChild.Value;
                                }
                                else if (noda.LocalName == "last-name")
                                {
                                    lastName = noda.FirstChild.Value;
                                }
                                else if (noda.LocalName == "email")
                                {
                                    email = noda.FirstChild.Value;
                                }
                            }

                            FirstNameBox.Text = firstName;
                            LastNameBox.Text  = lastName;
                            EmailBox.Text     = email;
                            if (active == true)
                            {
                                ActiveCheckBox.IsChecked = true;
                            }
                            else
                            {
                                ActiveCheckBox.IsChecked = false;
                            }


//Set lable Update on the button if the user was found


                            resetPasswordButton.Visibility = Visibility.Visible;
                            copyGroupButton.Visibility     = Visibility.Visible;

                            CreateUpdateButton.Content = "Update";
                            log("Search - " + SearchTextBox.Text + " - Result: Found username - " + userName);
                            attributsButton.Visibility    = Visibility.Visible;
                            recreateUserButton.Visibility = Visibility.Visible;
                        }

                        catch (Exception ex)
                        {
                            cleanSearchFields();
                        }

//Find a groups for the user

                        getUserGroup();

// Retrive groups list

                        getGroup();
                    }

//If first name and last name provided

                    else if (SearchTextBox.Text.Contains(" "))
                    {
                        string      url     = serverURL + "/search?entity-type=user&restriction=displayName%20=%20%22*" + SearchTextBox.Text + "*%22";
                        getResponse retrive = new getResponse();
                        string      data    = "";
                        retrive.GET(url, auth, out data);

                        if (data == notFoundXML)

                        {
                            cleanSearchFields();
                        }

                        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(data);
                        foreach (XmlNode noda in doc.DocumentElement)
                        {
                            if (noda.LocalName == "user")
                            {
                                UserNameBox.Text = noda.Attributes["name"].Value;
                                userName         = noda.Attributes["name"].Value;

                                foundUsers.Add(userName);
                            }
                        }

                        if (foundUsers.Count > 1)

                        {
                            severalUsersFound();
                        }

                        try
                        {
                            string urlUserSearch = serverURL + "/user?username="******"";
                            retrive.GET(urlUserSearch, auth, out userInfo);

                            doc = new XmlDocument();
                            doc.LoadXml(userInfo);
                            foreach (XmlNode noda in doc.DocumentElement)
                            {
                                if (noda.LocalName == "active")
                                {
                                    active = Convert.ToBoolean(noda.FirstChild.Value);
                                }
                                else if (noda.LocalName == "first-name")
                                {
                                    firstName = noda.FirstChild.Value;
                                }
                                else if (noda.LocalName == "last-name")
                                {
                                    lastName = noda.FirstChild.Value;
                                }
                                else if (noda.LocalName == "email")
                                {
                                    email = noda.FirstChild.Value;
                                }
                            }

                            FirstNameBox.Text = firstName;
                            LastNameBox.Text  = lastName;
                            EmailBox.Text     = email;
                            if (active == true)
                            {
                                ActiveCheckBox.IsChecked = true;
                            }
                            else
                            {
                                ActiveCheckBox.IsChecked = false;
                            }

                            //Set lable Update on the button if the user was found
                            resetPasswordButton.Visibility = Visibility.Visible;
                            copyGroupButton.Visibility     = Visibility.Visible;

                            CreateUpdateButton.Content = "Update";
                            log("Search - " + SearchTextBox.Text + " - Result: Found username - " + userName);
                            attributsButton.Visibility    = Visibility.Visible;
                            recreateUserButton.Visibility = Visibility.Visible;
                        }

                        catch (Exception ex)
                        {
                            cleanSearchFields();
                        }

                        //Find a groups for the user

                        getUserGroup();

                        // Retrive groups list

                        getGroup();
                    }


// if search box contains username
                    else
                    {
                        getUserByUserName();
                    }
                }
            }


            if (userName == "")
            {
                listBoxAvailibleGroups.Items.Clear();
                MessageBox1("User not found!");
                if (SearchTextBox.Text.Contains("@"))
                {
                    EmailBox.Text    = SearchTextBox.Text;
                    UserNameBox.Text = SearchTextBox.Text.Substring(0, SearchTextBox.Text.IndexOf("@"));
                    string compOfAcc = SearchTextBox.Text.Substring(SearchTextBox.Text.IndexOf("@") + 1, SearchTextBox.Text.LastIndexOf(".") - SearchTextBox.Text.IndexOf("@") - 1);
                    LastNameBox.Text = " (" + char.ToUpper(compOfAcc[0]) + compOfAcc.Substring(1) + ")";
                    //LastNameBox.Text = SearchTextBox.Text.LastIndexOf(".").ToString();
                }
                log("Search - " + SearchTextBox.Text + " - Result: Not Found");
            }
        }
Example #10
0
        public void getUserByUserName()

        {
            string      url         = serverURL + "/search?entity-type=user";
            string      XmlDocument = "<property-search-restriction><property><name>name</name><type>STRING</type></property><match-mode>EXACTLY_MATCHES</match-mode><value>" + SearchTextBox.Text + "</value></property-search-restriction>";
            getResponse retrive     = new getResponse();
            string      data        = "";

            retrive.POST(url, XmlDocument, auth, out data);
            if (data == notFoundXML)

            {
                cleanSearchFields();
            }

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(data);
            foreach (XmlNode noda in doc.DocumentElement)
            {
                if (noda.LocalName == "user")
                {
                    UserNameBox.Text = noda.Attributes["name"].Value;
                    userName         = noda.Attributes["name"].Value;
                }
            }


            try
            {
                string urlUserSearch = serverURL + "/user?username="******"";
                retrive.GET(urlUserSearch, auth, out userInfo);
                doc = new XmlDocument();
                doc.LoadXml(userInfo);
                foreach (XmlNode noda in doc.DocumentElement)
                {
                    if (noda.LocalName == "active")
                    {
                        active = Convert.ToBoolean(noda.FirstChild.Value);
                    }
                    else if (noda.LocalName == "first-name")
                    {
                        firstName = noda.FirstChild.Value;
                    }
                    else if (noda.LocalName == "last-name")
                    {
                        lastName = noda.FirstChild.Value;
                    }
                    else if (noda.LocalName == "email")
                    {
                        email = noda.FirstChild.Value;
                    }
                }

                FirstNameBox.Text = firstName;
                LastNameBox.Text  = lastName;
                EmailBox.Text     = email;
                if (active == true)
                {
                    ActiveCheckBox.IsChecked = true;
                }
                else
                {
                    ActiveCheckBox.IsChecked = false;
                }

//Set lable Update on the button if the user was found



                resetPasswordButton.Visibility = Visibility.Visible;
                copyGroupButton.Visibility     = Visibility.Visible;
                CreateUpdateButton.Content     = "Update";
                log("Search - " + SearchTextBox.Text + " - Result: Found username - " + userName);
                attributsButton.Visibility    = Visibility.Visible;
                recreateUserButton.Visibility = Visibility.Visible;
            }
            catch (Exception ex)
            {
                cleanSearchFields();
            }

            //Find a groups for the user

            getUserGroup();

            // Retrive groups list

            getGroup();
        }