public LoginViewModel() { if (IsInDesignMode) { return; } settingsRepository = SimpleIoc.Default.GetInstance <IUserInfoSettingsRepository>(); dialogService = SimpleIoc.Default.GetInstance <IDialogService>(); client = SimpleIoc.Default.GetInstance <IClient>(); client.ErrorOccurred += ClientOnErrorOccurred; UserInfo = settingsRepository.GetSettings(); if (UserInfo == null) { UserInfo = new UserInfo(); } else { RememberMe = true; } Login = new RelayCommand(() => { Messenger.Default.Send(new NotificationMessage(Messages.ShowWaitWindow)); client.LoginAsync(UserInfo.ServerAddress, UserInfo.Username, UserInfo.Password, (success) => { client.ErrorOccurred -= ClientOnErrorOccurred; Messenger.Default.Send(new NotificationMessage(Messages.DismissWaitWindow)); if (success) { settingsRepository.SetSettings(RememberMe ? UserInfo : null); Messenger.Default.Send(new NotificationMessage(Messages.NavigateToMainWindow)); } else { dialogService.ShowMessageBox("Authentication error", "Warn", MessageBoxButton.OK, MessageBoxImage.Warning); } }); }, () => UserInfo.IsValid); }
private void InitCommands() { Login = new RelayCommand(() => { Messenger.Default.Send(new NotificationMessage(Messages.ShowWaitWindow)); _userSettingsRepository.SetSettings(RememberMe ? UserInfo : null); var newSettings = new AppPreferences(); var settings = _settingsRepository.GetSettings(); if (settings == null) { newSettings.ClientCredential = new ClientCredential { PhoneNumber = UserInfo.Password, UserName = UserInfo.Username }; newSettings.ConnectionProperties = WcfConnectionProperties.Default; } if (!UserInfo.ServerAddress.Contains(":")) { UserInfo.ServerAddress += string.Format(":{0}", WcfConnectionProperties.Default.Port); } var addressParts = UserInfo.ServerAddress.Split(':'); int port; if (int.TryParse(addressParts[1], out port)) { newSettings.ConnectionProperties.Address = addressParts[0]; newSettings.ConnectionProperties.Port = port; } newSettings.ClientCredential = new ClientCredential(); newSettings.ClientCredential.PhoneNumber = UserInfo.Password; newSettings.ClientCredential.UserName = UserInfo.Username; _settingsRepository.SetSettings(newSettings); Messenger.Default.Send(new NotificationMessage(Messages.DismissWaitWindow)); Messenger.Default.Send(new NotificationMessage(Messages.NavigateToMainWindow)); }, () => UserInfo.IsValid); }
public LoginViewModel() { if (IsInDesignMode) return; settingsRepository = SimpleIoc.Default.GetInstance<IUserInfoSettingsRepository>(); dialogService = SimpleIoc.Default.GetInstance<IDialogService>(); client = SimpleIoc.Default.GetInstance<IClient>(); client.ErrorOccurred += ClientOnErrorOccurred; UserInfo = settingsRepository.GetSettings(); if (UserInfo == null) UserInfo = new UserInfo(); else RememberMe = true; Login = new RelayCommand(() => { Messenger.Default.Send(new NotificationMessage(Messages.ShowWaitWindow)); client.LoginAsync(UserInfo.ServerAddress, UserInfo.Username, UserInfo.Password, (success) => { client.ErrorOccurred -= ClientOnErrorOccurred; Messenger.Default.Send(new NotificationMessage(Messages.DismissWaitWindow)); if (success) { settingsRepository.SetSettings(RememberMe ? UserInfo : null); Messenger.Default.Send(new NotificationMessage(Messages.NavigateToMainWindow)); } else { dialogService.ShowMessageBox("Authentication error", "Warn", MessageBoxButton.OK, MessageBoxImage.Warning); } }); }, () => UserInfo.IsValid); }