aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-12-24 09:08:25 +0200
committerShlomo Hecht <shlomo@twine-s.com>2018-12-24 09:08:25 +0200
commit2f77ad3cebf771bdf02188174c9712027b004d41 (patch)
tree32d819fbbb57063b9289d39f1cacf4febb83ea28 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI
parent0cc8f5b14286302880f56aaa20a7078b92579a97 (diff)
parent99a48d7c388792c96ce7ac1b4e1436d395c4aec1 (diff)
downloadTango-2f77ad3cebf771bdf02188174c9712027b004d41.tar.gz
Tango-2f77ad3cebf771bdf02188174c9712027b004d41.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs19
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs5
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs16
3 files changed, 29 insertions, 11 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs
index fd68ed8d1..3293dab3f 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs
@@ -10,6 +10,9 @@ using Tango.MachineStudio.Common.Authentication;
using Tango.BL;
using Tango.BL.Enumerations;
using System.Data.Entity;
+using Tango.Transport.Web;
+using Tango.Settings;
+using Tango.MachineStudio.Common;
namespace Tango.MachineStudio.UI.Authentication
{
@@ -49,11 +52,21 @@ namespace Tango.MachineStudio.UI.Authentication
/// <exception cref="AuthenticationException">Login failed for user " + email</exception>
public User Login(string email, string password)
{
- using (ObservablesContext db = ObservablesContext.CreateDefault())
+ var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
+
+ IWebTransportClient service = new WebTransportClient();
+ var response = service.PostJson<LoginRequest, LoginResponse>(settings.MachineServiceAddress + "/api/MachineStudio/Login", new LoginRequest()
{
- String hash = User.GetPasswordHash(password);
+ Email = email,
+ Password = password,
+
+ }).Result;
+ ObservablesContext.OverrideSettingsDataSource(response.DataSource);
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
db.Roles.Load();
db.Permissions.Load();
db.RolesPermissions.Load();
@@ -62,7 +75,7 @@ namespace Tango.MachineStudio.UI.Authentication
.Include(x => x.UsersRoles)
.Include(x => x.Contact)
.Include(x => x.Address)
- .Include(x => x.Organization).SingleOrDefault(x => x.Email.ToLower() == email.ToLower() && x.Password == hash);
+ .Include(x => x.Organization).SingleOrDefault(x => x.Email.ToLower() == email.ToLower());
if (user == null)
{
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
index 545d51ef2..6e8d0488b 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
@@ -144,9 +144,8 @@ namespace Tango.MachineStudio.UI.ViewModels
Status = "Loading, please wait...";
- ObservablesStaticCollections.Instance.Initialize();
-
- _eventLogger.Log(EventTypes.ApplicationStarted, "Application Started!");
+ //ObservablesStaticCollections.Instance.Initialize();
+ //_eventLogger.Log(EventTypes.ApplicationStarted, "Application Started!");
Status = "Starting application...";
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
index a37879a5e..4e659d46a 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
@@ -6,6 +6,8 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.BL;
+using Tango.BL.Enumerations;
using Tango.Core.Commands;
using Tango.Core.Cryptography;
using Tango.MachineStudio.Common;
@@ -90,7 +92,7 @@ namespace Tango.MachineStudio.UI.ViewModels
_navigationManager = navigationManager;
_authenticationProvider = authenticationProvider;
_eventLogger = eventLogger;
- LoginCommand = new RelayCommand(Login,() => !IsLogging);
+ LoginCommand = new RelayCommand(Login, () => !IsLogging);
cryptographer = new Rfc2898Cryptographer();
Email = _settings.LastLoginEmail;
@@ -121,6 +123,10 @@ namespace Tango.MachineStudio.UI.ViewModels
await Task.Factory.StartNew(() =>
{
_authenticationProvider.Login(Email, Password);
+
+ ObservablesStaticCollections.Instance.Initialize();
+ _eventLogger.Log(EventTypes.ApplicationStarted, "Application Started!");
+
_navigationManager.NavigateTo(NavigationView.MainView);
_settings.LastLoginEmail = Email;
_settings.RememberMe = RememberMe;
@@ -128,13 +134,13 @@ namespace Tango.MachineStudio.UI.ViewModels
_settings.LastLoginPassword = RememberMe ? cryptographer.Encrypt(Password) : null;
_settings.Save();
- _eventLogger.Log("User logged in");
+ _eventLogger.Log("User logged in.");
});
}
- catch (Exception)
+ catch (Exception ex)
{
-
- _notificationProvider.ShowError("Invalid credentials. Please try again.");
+ LogManager.Log(ex, "Login Error.");
+ _notificationProvider.ShowError($"The specified email or password was incorrect, or you don't have a permission to run this application.\nError: {ex.Message}");
}
finally
{