Subversion Repositories Code-Repo

Rev

Rev 50 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 50 Rev 53
Line 4... Line 4...
4
using System.Data;
4
using System.Data;
5
using System.Drawing;
5
using System.Drawing;
6
using System.Linq;
6
using System.Linq;
7
using System.Text;
7
using System.Text;
8
using System.Windows.Forms;
8
using System.Windows.Forms;
-
 
9
using System.DirectoryServices.AccountManagement;
9
 
10
 
10
namespace SWAT_Office_App
11
namespace SWAT_Office_App
11
{
12
{
12
    public partial class ManageUserAccounts_Form : Form
13
    public partial class ManageUserAccounts_Form : Form
13
    {
14
    {
Line 15... Line 16...
15
        {
16
        {
16
            InitializeComponent();
17
            InitializeComponent();
17
            // Designate columns to include in listview for the Manage User Accounts Form
18
            // Designate columns to include in listview for the Manage User Accounts Form
18
            ColumnHeader Column_1 = new ColumnHeader();
19
            ColumnHeader Column_1 = new ColumnHeader();
19
            Column_1.Text = "Username";
20
            Column_1.Text = "Username";
20
            Column_1.Width = 101;
21
            Column_1.Width = 121;
21
            this.lst_UserAccounts.Columns.Add(Column_1);
22
            this.lst_UserAccounts.Columns.Add(Column_1);
22
            ColumnHeader Column_2 = new ColumnHeader();
23
            ColumnHeader Column_2 = new ColumnHeader();
23
            Column_2.Text = "Pass?";
24
            Column_2.Text = "Share";
24
            Column_2.Width = 46;
25
            Column_2.Width = 46;
25
            Column_2.TextAlign = HorizontalAlignment.Center;
26
            Column_2.TextAlign = HorizontalAlignment.Center;
26
            this.lst_UserAccounts.Columns.Add(Column_2);
27
            this.lst_UserAccounts.Columns.Add(Column_2);
27
            ColumnHeader Column_3 = new ColumnHeader();
28
            ColumnHeader Column_3 = new ColumnHeader();
28
            Column_3.Text = "Share?";
29
            Column_3.Text = "Size";
29
            Column_3.Width = 46;
30
            Column_3.Width = 75;
30
            Column_3.TextAlign = HorizontalAlignment.Center;
31
            Column_3.TextAlign = HorizontalAlignment.Center;
31
            this.lst_UserAccounts.Columns.Add(Column_3);
32
            this.lst_UserAccounts.Columns.Add(Column_3);
32
            ColumnHeader Column_4 = new ColumnHeader();
33
            ColumnHeader Column_4 = new ColumnHeader();
33
            Column_4.Text = "Size";
34
            Column_4.Text = "Date Created";
34
            Column_4.Width = 50;
35
            Column_4.Width = 80;
35
            Column_4.TextAlign = HorizontalAlignment.Center;
36
            Column_4.TextAlign = HorizontalAlignment.Center;
36
            this.lst_UserAccounts.Columns.Add(Column_4);
37
            this.lst_UserAccounts.Columns.Add(Column_4);
37
            ColumnHeader Column_5 = new ColumnHeader();
-
 
38
            Column_5.Text = "Date Created";
-
 
39
            Column_5.Width = 80;
-
 
40
            Column_5.TextAlign = HorizontalAlignment.Center;
-
 
41
            this.lst_UserAccounts.Columns.Add(Column_5);
-
 
42
 
38
 
43
            PaintUserListbox();
39
            PaintUserListbox();
44
            this.btn_Delete.Enabled = false;
40
            this.btn_Delete.Enabled = false;
45
            this.btn_Pass.Enabled = false;
41
            this.btn_Pass.Enabled = false;
46
            this.btn_Share.Enabled = false;
42
            this.btn_Share.Enabled = false;
Line 49... Line 45...
49
            this.lst_UserAccounts.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(this.lst_ItemSelectionChanged);
45
            this.lst_UserAccounts.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(this.lst_ItemSelectionChanged);
50
            this.Activated += new EventHandler(this.form_Activated);
46
            this.Activated += new EventHandler(this.form_Activated);
51
        }
47
        }
52
        private void PaintUserListbox()
48
        private void PaintUserListbox()
53
        {
49
        {
-
 
50
            try
-
 
51
            {
54
            // Function for refreshing/painting the listbox
52
                // Function for refreshing/painting the listbox
55
            this.lst_UserAccounts.BeginUpdate();
53
                this.lst_UserAccounts.BeginUpdate();
56
            ManageUserAccounts.QueryUserAccounts();
54
                ManageUserAccounts.QueryUserAccounts();
57
 
55
 
58
            // Temporary entries in listview
56
                // Temporary entries in listview
59
            //ListViewItem entry;
57
                //ListViewItem entry;
60
            //ListViewItem.ListViewSubItem s_entry;
58
                //ListViewItem.ListViewSubItem s_entry;
61
            //entry = new ListViewItem();
59
                //entry = new ListViewItem();
62
            //entry.Text = "TestUser";
60
                //entry.Text = "TestUser";
63
            //s_entry = new ListViewItem.ListViewSubItem();
61
                //s_entry = new ListViewItem.ListViewSubItem();
64
            //s_entry.Text = "Yes";
62
                //s_entry.Text = "Yes";
65
            //entry.SubItems.Add(s_entry);
63
                //entry.SubItems.Add(s_entry);
66
            //s_entry = new ListViewItem.ListViewSubItem();
64
                //s_entry = new ListViewItem.ListViewSubItem();
67
            //s_entry.Text = "Yes";
65
                //s_entry.Text = "Yes";
68
            //entry.SubItems.Add(s_entry);
66
                //entry.SubItems.Add(s_entry);
69
            //s_entry = new ListViewItem.ListViewSubItem();
67
                //s_entry = new ListViewItem.ListViewSubItem();
70
            //s_entry.Text = "01/05/2010";
68
                //s_entry.Text = "01/05/2010";
71
            //entry.SubItems.Add(s_entry);
69
                //entry.SubItems.Add(s_entry);
72
            //this.lst_User_Accounts.Items.Add(entry);
70
                //this.lst_User_Accounts.Items.Add(entry);
73
 
71
 
74
            this.lst_UserAccounts.Items.Clear();
72
                this.lst_UserAccounts.Items.Clear();
75
            // Prevents system accounts from showing, depending on settings
73
                // Prevents system accounts from showing, depending on settings
76
            foreach (string user in ManageUserAccounts.UserAccountsList)
74
                foreach (UserPrincipal user in ManageUserAccounts.UserAccountsList)
77
            {
75
                {
78
                ListViewItem entry = new ListViewItem();
76
                    ListViewItem entry = new ListViewItem();
79
                bool remove = false;
77
                    bool remove = false;
80
                foreach (string hiddenUser in Settings_Form.hiddenAccounts)
78
                    foreach (string hiddenUser in Settings_Form.hiddenAccounts)
81
                {
-
 
82
                    if (user.ToLower() == hiddenUser.ToLower())
-
 
83
                    {
79
                    {
-
 
80
                        if (user.Name.ToLower() == hiddenUser.ToLower())
-
 
81
                        {
84
                        remove = true;
82
                            remove = true;
85
                        break;
83
                            break;
-
 
84
                        }
86
                    }
85
                    }
87
                }
-
 
88
                // Adds the subitem columns for each entry
86
                    // Populates the subitem columns for each entry
89
                if (remove == false)
87
                    if (remove == false)
90
                {
-
 
91
                    ListViewItem.ListViewSubItem s_password = new ListViewItem.ListViewSubItem();
-
 
92
                    string[] extraUserInformation = ManageUserAccounts.QueryUserAccountExtraInformation(user);
-
 
93
                    s_password.Text = extraUserInformation[0];
-
 
94
                    entry.SubItems.Add(s_password);
-
 
95
                    ListViewItem.ListViewSubItem s_share = new ListViewItem.ListViewSubItem();
-
 
96
                    if (ManageUserAccounts.QueryUserSharedFolderExist(user))
-
 
97
                        s_share.Text = "Yes";
-
 
98
                    else
-
 
99
                        s_share.Text = "No";
-
 
100
                    entry.SubItems.Add(s_share);
-
 
101
                    ListViewItem.ListViewSubItem s_size = new ListViewItem.ListViewSubItem();
-
 
102
                    if (Settings_Form.showFileSizes)
-
 
103
                    {
88
                    {
-
 
89
                        ListViewItem.ListViewSubItem s_share = new ListViewItem.ListViewSubItem();
-
 
90
                        if (ManageUserAccounts.QueryUserSharedFolderExist(user.Name))
-
 
91
                            s_share.Text = "Yes";
-
 
92
                        else
-
 
93
                            s_share.Text = "No";
-
 
94
                        entry.SubItems.Add(s_share);
-
 
95
                        ListViewItem.ListViewSubItem s_size = new ListViewItem.ListViewSubItem();
104
                        long size = ManageUserAccounts.GetShareSize(user);
96
                        long size = ManageUserAccounts.GetShareSize(user.Name);
105
                        if ((size / 1073741824) > 0)
97
                        if ((size / 1073741824) > 0)
106
                            s_size.Text = (size / 1073741824).ToString() + " GB";
98
                            s_size.Text = (size / 1073741824).ToString() + " GB";
107
                        else
99
                        else
108
                            s_size.Text = (size / 1048576).ToString() + " MB";
100
                            s_size.Text = (size / 1048576).ToString() + " MB";
-
 
101
                        entry.SubItems.Add(s_size);
-
 
102
                        ListViewItem.ListViewSubItem s_datecreated = new ListViewItem.ListViewSubItem();
-
 
103
                        s_datecreated.Text = user.Description;
-
 
104
                        entry.SubItems.Add(s_datecreated);
109
                    }
105
                    }
110
                    else
106
                    if (remove == false)
111
                    {
107
                    {
112
                        s_size.Text = "NA";
108
                        entry.Text = user.Name;
-
 
109
                        this.lst_UserAccounts.Items.Add(entry);
113
                    }
110
                    }
114
                    entry.SubItems.Add(s_size);
-
 
115
                    ListViewItem.ListViewSubItem s_datecreated = new ListViewItem.ListViewSubItem();
-
 
116
                    s_datecreated.Text = extraUserInformation[1];
-
 
117
                    entry.SubItems.Add(s_datecreated);
-
 
118
                }
-
 
119
                if (remove == false)
-
 
120
                {
-
 
121
                    entry.Text = user;
-
 
122
                    this.lst_UserAccounts.Items.Add(entry);
-
 
123
                }
111
                }
-
 
112
                this.lst_UserAccounts.EndUpdate();
-
 
113
            }
-
 
114
            catch (Exception e)
-
 
115
            {
-
 
116
                //MessageBox.Show(e.ToString(), "Error");
-
 
117
                DebugText.appendText(e.ToString());
-
 
118
                MessageBox.Show("An error has occured. Please notify a supervisor to debug.", "Error");
124
            }
119
            }
125
            this.lst_UserAccounts.EndUpdate();
-
 
126
        }
120
        }
127
        private void lst_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
121
        private void lst_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
128
        {
122
        {
129
            lst_ValidateAll();
123
            lst_ValidateAll();
130
        }
124
        }
131
        private void lst_ValidateAll()
125
        private void lst_ValidateAll()
132
        {
126
        {
133
            // Disables certain buttons depending on number of items selected
127
            // Enables/disables certain buttons depending on number of items selected
134
            ListView.SelectedListViewItemCollection collection = this.lst_UserAccounts.SelectedItems;
128
            ListView.SelectedListViewItemCollection collection = this.lst_UserAccounts.SelectedItems;
135
            
129
            
136
            if (collection.Count == 0)
130
            if (collection.Count == 0)
137
            {
131
            {
138
                this.btn_Delete.Enabled = false;
132
                this.btn_Delete.Enabled = false;
Line 152... Line 146...
152
                if (check == false)
146
                if (check == false)
153
                {
147
                {
154
                    this.btn_Delete.Enabled = true;
148
                    this.btn_Delete.Enabled = true;
155
                    this.btn_Pass.Enabled = true;
149
                    this.btn_Pass.Enabled = true;
156
                    this.btn_Share.Enabled = true;
150
                    this.btn_Share.Enabled = true;
157
                    ListViewItem.ListViewSubItem subItem = collection[0].SubItems[2];
151
                    ListViewItem.ListViewSubItem subItem = collection[0].SubItems[1];
158
                    if (subItem.Text == "Yes")
152
                    if (subItem.Text == "Yes")
159
                        this.btn_OpenShare.Enabled = true;
153
                        this.btn_OpenShare.Enabled = true;
160
                    else
154
                    else
161
                        this.btn_OpenShare.Enabled = false;
155
                        this.btn_OpenShare.Enabled = false;
162
                }
156
                }
Line 195... Line 189...
195
            AddUserAccount_Form.Add_User_Account_Instance.ShowDialog();
189
            AddUserAccount_Form.Add_User_Account_Instance.ShowDialog();
196
            lst_ValidateAll();
190
            lst_ValidateAll();
197
        }
191
        }
198
        private void btn_Delete_Click(object sender, EventArgs e)
192
        private void btn_Delete_Click(object sender, EventArgs e)
199
        {
193
        {
200
            if (ManageUserAccounts.SessionsOpen() == false)
194
            if (!ManageUserAccounts.SessionsOpen())
201
            {
195
            {
202
                ListView.SelectedListViewItemCollection selectedItems = this.lst_UserAccounts.SelectedItems;
196
                ListView.SelectedListViewItemCollection selectedItems = this.lst_UserAccounts.SelectedItems;
203
                List<string> userList = new List<string>();
197
                List<string> userList = new List<string>();
204
                foreach (ListViewItem user in selectedItems)
198
                foreach (ListViewItem user in selectedItems)
205
                    userList.Add(user.Text);
199
                    userList.Add(user.Text);