diff --git a/Config/Config.csproj b/Config/Config.csproj
index 0e64637a2..f5b2cae4a 100644
--- a/Config/Config.csproj
+++ b/Config/Config.csproj
@@ -93,8 +93,6 @@
-
-
@@ -134,6 +132,12 @@
+
+
+ {6E5CB0E9-E1B6-4E5D-AC6E-B1049E180F2B}
+ Users
+
+
Exit application
- }
- else
- {
- for (int i = 0; i < LocalSettings.BenchesCount; i++)
- {
- if (LocalSettings.TestBenches[i].BenchName == loginDlg.BenchName)
- {
- log.FatalFormat("Test bench name: {0}", loginDlg.BenchName);
-
- Config.IUser loadedUser = null;
- try
- {
- bool authorized = false;
-
- if (User.IsPowerUser(loginDlg.Alias, loginDlg.Password))
- {
- loadedUser = new User(loginDlg.Alias, 6, true);
- authorized = loadedUser.Authorize(loginDlg.Alias, loginDlg.Password);
- }
-
- ///
- /// Try authorisation with Users DB first
- ///
- if (!authorized)
- {
- bool settingsChanged = false;
-
- if (string.IsNullOrEmpty(LocalSettings.TestBenches[i].UsersDBSettings.ConnectionString))
- {
- LocalSettings.TestBenches[i].UsersDBSettings.ConnectionString = LocalSettings.TestBenches[i].ProceduresDBSettings.ConnectionString;
- LocalSettings.TestBenches[i].UsersDBSettings.DbType = LocalSettings.TestBenches[i].ProceduresDBSettings.DbType;
- settingsChanged = true;
- }
-
- /// Load and authorise user from the UsersDB database
- try
- {
- switch (loginDlg.Method)
- {
- default:
- case Config.Entities.LoginMethod.UserName:
- loadedUser = Users.Entities.User.LoadUserByName(loginDlg.Alias, LocalSettings.TestBenches[i].UsersDBSettings);
- if (loadedUser != null) authorized = loadedUser.Authorize(loginDlg.Alias, loginDlg.Password);
- break;
- case Config.Entities.LoginMethod.FullName:
- loadedUser = Users.Entities.User.LoadUserByFullName(loginDlg.Alias, LocalSettings.TestBenches[i].UsersDBSettings);
- if (loadedUser != null) authorized = loadedUser.AuthorizeFullName(loginDlg.Alias, loginDlg.Password);
- break;
- case Config.Entities.LoginMethod.Number:
- int number;
- if (!int.TryParse(loginDlg.Alias, out number)) break;
- loadedUser = Users.Entities.User.LoadUserByNumber(number, LocalSettings.TestBenches[i].UsersDBSettings);
- if (loadedUser != null) authorized = loadedUser.AuthorizeNumber(number, loginDlg.Password);
- break;
- }
- }
- catch
- {
- authorized = false;
- }
-
- if (settingsChanged && authorized) LocalSettings.Save();
- }
-
- ///
- /// One more attempt: authorisation with Config DB
- ///
- if (!authorized)
- {
- /// Load and authorise user from the Config database
- try
- {
- switch (loginDlg.Method)
- {
- default:
- case Config.Entities.LoginMethod.UserName:
- loadedUser = Config.Entities.User.LoadUserByName(loginDlg.Alias, LocalSettings.TestBenches[i].ProceduresDBSettings);
- if (loadedUser != null) authorized = loadedUser.Authorize(loginDlg.Alias, loginDlg.Password);
- break;
- case Config.Entities.LoginMethod.FullName:
- loadedUser = Config.Entities.User.LoadUserByFullName(loginDlg.Alias, LocalSettings.TestBenches[i].ProceduresDBSettings);
- if (loadedUser != null) authorized = loadedUser.AuthorizeFullName(loginDlg.Alias, loginDlg.Password);
- break;
- case Config.Entities.LoginMethod.Number:
- int number;
- if (!int.TryParse(loginDlg.Alias, out number)) break;
- loadedUser = Config.Entities.User.LoadUserByNumber(number, LocalSettings.TestBenches[i].ProceduresDBSettings);
- if (loadedUser != null) authorized = loadedUser.AuthorizeNumber(number, loginDlg.Password);
- break;
- }
- }
- catch
- {
- authorized = false;
- }
- }
-
- if (authorized)
- {
- LocalSettings.LoginMethod = loginDlg.Method; /// Save the login method actually used
-
- Users.DB.ConnectionString = Config.Data.CurrentBench.WaterMetersDBSettings.ConnectionString;
- Users.DB.LoadSharedData();
-
- /// This is to trigger an exception in case of a power user and no Config database
- IList listOfProcedures = Config.FluentCommon.CreateSession(Config.Entities.DBKind.Config)
- .QueryOver()
- .List();
-
- retryLogin = false;
- break;
- }
-
- if (retryLogin)
- {
- /// Close Fluent NHibernate
- MessageBox.Show("Invalid user, password or bench", "Error", MessageBoxButtons.OK);
- }
- }
- catch (Exception)
- {
- /// Database connect failed, ask what to do
- switch ((new DatabaseSettingsDlg().ShowDialog())
- {
- case DialogResult.Abort: return; /// Exit program
- case DialogResult.Retry: break; /// Retry the loop
- default:
- /// Open 'DatabaseSetingsDlg' and retry DB connect on OK
- if (new Users.Forms.LoginDlg(true).ShowDialog() == DialogResult.Cancel ||
- new BenchesDlg().ShowDialog() == DialogResult.Cancel)
- {
- return; /// Exit program
- }
- Program.LocalSettings = LocalSettings.Load(Program.LocalSettingsFileName);
- if (Program.LocalSettings == null) return; /// Fatal error
- break; /// Retry the loop
- }
- }
- } // if benchname is OK
- } // for all benches in local settings loop
- } // not Canceled
- } //do
- while (retryLogin);
-
- IList listOfUsers = Config.FluentCommon.CreateSession(Config.Entities.DBKind.Config)
- .QueryOver()
- .List();
-
- Application.Run(new Users.Forms.UserManagementDlg());
+ MessageBox.Show("Program havaroval:" +
+ Environment.NewLine + Environment.NewLine + exc.Message +
+ ((exc.InnerException == null) ? string.Empty : (Environment.NewLine + exc.InnerException.Message)) +
+ Environment.NewLine + exc.StackTrace,
+ "Pozor!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
}
}
}
diff --git a/UserManagement/Properties/AssemblyInfo.cs b/UserManagement/Properties/AssemblyInfo.cs
index 52927af7a..c1f11743f 100644
--- a/UserManagement/Properties/AssemblyInfo.cs
+++ b/UserManagement/Properties/AssemblyInfo.cs
@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
-[assembly: AssemblyTitle("UsersManagement")]
+[assembly: AssemblyTitle("UserManagement")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("UsersManagement")]
+[assembly: AssemblyProduct("UserManagement")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/UserManagement/UserManagement.csproj b/UserManagement/UserManagement.csproj
index 636b7c732..3c7083be7 100644
--- a/UserManagement/UserManagement.csproj
+++ b/UserManagement/UserManagement.csproj
@@ -14,6 +14,21 @@
512
+ false
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 1
+ 2.12.497.%2a
+ false
+ true
x86
@@ -34,10 +49,22 @@
prompt
4
+
+ UserManagement.Program
+
..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll
+
+ ..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll
+
+
+ ..\packages\log4net.2.0.2\lib\net40-full\log4net.dll
+
+
+ ..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll
+
..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll
@@ -96,15 +123,33 @@
-
- {743DF7DB-C7B6-42EB-986D-0F485E5588E4}
- Config
-
{6E5CB0E9-E1B6-4E5D-AC6E-B1049E180F2B}
Users
+
+
+ False
+ Microsoft .NET Framework 4 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+ False
+ Windows Installer 3.1
+ true
+
+