diff --git a/TBF/MainWnd.cs b/TBF/MainWnd.cs index bd4822bb7..37f5a6396 100644 --- a/TBF/MainWnd.cs +++ b/TBF/MainWnd.cs @@ -429,7 +429,7 @@ namespace TBF int len = connStr.ToUpper().IndexOf("; UID="); if (len > 0) dlg.TitleExtension = connStr.Substring(0, len); #else - Users.Forms.UserManagementDlg dlg = new Users.Forms.UserManagementDlg(false); + Users.Forms.UserManagementDlg dlg = new Users.Forms.UserManagementDlg(Users.DB.CreateSession(), false); #endif dlg.ShowDialog(); } diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index a393c8698..912057cef 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.18.797.0")] -[assembly: AssemblyFileVersion("2.18.797.0")] +[assembly: AssemblyVersion("2.18.798.0")] +[assembly: AssemblyFileVersion("2.18.798.0")] diff --git a/UserManagement/Program.cs b/UserManagement/Program.cs index 6149eb99c..715cd5451 100644 --- a/UserManagement/Program.cs +++ b/UserManagement/Program.cs @@ -128,7 +128,7 @@ namespace UserManagement try { - Users.Forms.UserManagementDlg dlg = new Users.Forms.UserManagementDlg(false); + Users.Forms.UserManagementDlg dlg = new Users.Forms.UserManagementDlg(Users.DB.CreateSession(), false); string connStr = LocalSettings.ConnectionString; int len = connStr.ToUpper().IndexOf("; UID="); diff --git a/UserManagement/Properties/AssemblyInfo.cs b/UserManagement/Properties/AssemblyInfo.cs index 53ed9e8b2..d672dcb8a 100644 --- a/UserManagement/Properties/AssemblyInfo.cs +++ b/UserManagement/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.18.788.0")] -[assembly: AssemblyFileVersion("2.18.788.0")] +[assembly: AssemblyVersion("2.18.798.0")] +[assembly: AssemblyFileVersion("2.18.798.0")] diff --git a/Users/Forms/EditSelectedUser.cs b/Users/Forms/EditSelectedUser.cs index b4d2fc198..79244c782 100644 --- a/Users/Forms/EditSelectedUser.cs +++ b/Users/Forms/EditSelectedUser.cs @@ -128,21 +128,19 @@ namespace Users.Forms } session.SaveOrUpdate(user); - transaction.Commit(); + session.Flush(); + Cursor.Current = Cursors.Default; + return true; } catch (Exception exc) { transaction.Rollback(); MessageBox.Show(string.Format("{0}{1}{2}", Strings.Save_or_update_user_failed, Environment.NewLine, exc.Message), Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + Cursor.Current = Cursors.Default; + return false; } - - if (transaction.WasCommitted) session.Flush(); - - Cursor.Current = Cursors.Default; - - return true; } /// @@ -172,12 +170,14 @@ namespace Users.Forms { if (Save()) { + DialogResult = DialogResult.OK; this.Close(); } } private void btnCancel_Click(object sender, EventArgs e) { + DialogResult = DialogResult.Cancel; this.Close(); } diff --git a/Users/Forms/UserManagementDlg.cs b/Users/Forms/UserManagementDlg.cs index 5bd0e2751..adfdf1874 100644 --- a/Users/Forms/UserManagementDlg.cs +++ b/Users/Forms/UserManagementDlg.cs @@ -20,14 +20,15 @@ namespace Users.Forms IList ListOfUsers; int LastSelectedIndex; - public UserManagementDlg(bool showLocalExtensions) + public UserManagementDlg(NHibernate.ISession session, bool showLocalExtensions) { InitializeComponent(); + this.session = session; this.showExtensions = showLocalExtensions; if (showLocalExtensions) copyFromRemoteButton.Visible = true; } - private void EditUsers_Load(object sender, EventArgs e) + private void UserManagementDlg_Load(object sender, EventArgs e) { Text = string.Format(string.IsNullOrEmpty(TitleExtension) ? "{0}" : "{0} : {1}", Strings.User_Management, TitleExtension); addButton.Text = Strings.AddBtnText; @@ -39,23 +40,22 @@ namespace Users.Forms listViewUsers.Columns.Add(Strings.User_code, 80); listViewUsers.Columns.Add(Strings.Full_name, 160); listViewUsers.Columns.Add(Strings.Groups, 300); - } - private void EditUsers_Activated(object sender, EventArgs e) - { - Cursor.Current = Cursors.WaitCursor; - session = Users.DB.CreateSession(); + try + { + ListOfUsers = session.QueryOver().List(); + } + catch (Exception exc) + { + string msg = exc.Message; + } ListUsers(); - RefreshButtonStates(); } public void ListUsers() { Cursor.Current = Cursors.WaitCursor; - ListOfUsers = session.QueryOver() - .List(); - listViewUsers.Items.Clear(); foreach (User u in ListOfUsers) { @@ -126,15 +126,23 @@ namespace Users.Forms private void addButton_Click(object sender, EventArgs e) { - new Forms.EditSelectedUser(session, new User()).ShowDialog(); + User newUser = new User(); + if (new Forms.EditSelectedUser(session, newUser).ShowDialog() == DialogResult.OK) + { + ListOfUsers.Add(newUser); + } ListUsers(); } private void deleteButton_Click(object sender, EventArgs e) { - Object Selecteduser = listViewUsers.SelectedItems[0].Tag; - Users.DB.DeleteObject(session, Selecteduser); - ListUsers(); + if (listViewUsers.SelectedItems.Count == 1 && listViewUsers.SelectedItems[0].Tag is User) + { + User Selecteduser = listViewUsers.SelectedItems[0].Tag as User; + Users.DB.DeleteObject(session, Selecteduser); + ListOfUsers.Remove(Selecteduser); + ListUsers(); + } } private void copyFromRemoteButton_Click(object sender, EventArgs e) diff --git a/Users/Forms/UserManagementDlg.designer.cs b/Users/Forms/UserManagementDlg.designer.cs index 4e083c03e..31afd5cf8 100644 --- a/Users/Forms/UserManagementDlg.designer.cs +++ b/Users/Forms/UserManagementDlg.designer.cs @@ -123,8 +123,7 @@ namespace Users.Forms this.Controls.Add(this.splitContainer1); this.Controls.Add(this.statusStrip1); this.Name = "UserManagementDlg"; - this.Activated += new System.EventHandler(this.EditUsers_Activated); - this.Load += new System.EventHandler(this.EditUsers_Load); + this.Load += new System.EventHandler(this.UserManagementDlg_Load); this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); diff --git a/Users/Properties/AssemblyInfo.cs b/Users/Properties/AssemblyInfo.cs index 8b46fb292..a57b328bf 100644 --- a/Users/Properties/AssemblyInfo.cs +++ b/Users/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.18.788.0")] -[assembly: AssemblyFileVersion("2.18.788.0")] +[assembly: AssemblyVersion("2.18.798.0")] +[assembly: AssemblyFileVersion("2.18.798.0")]