private bool LoginAnonymously()
 {
     var loginData = new LoginData { IsAnonymous = true };
     var command = _loginFactory(loginData);
     CommandInvoker.Invoke(command);
     return true;
 }
 public void TryLogin(LoginData loginData)
 {
     if (loginData.IsAnonymous)
     {
         TryLoginAnonymously();
     }
     else
     {
         TryLoginByNameAndPassword(loginData);
     }
 }
 private bool LoginByNameAndPass(string login, string password)
 {
     var loginData = new LoginData { IsAnonymous = false, Login = login, Password = password };
     var command = _loginFactory(loginData);
     CommandInvoker.Invoke(command);
     return true;
 }
        private void TryLoginByNameAndPassword(LoginData loginData)
        {
            var client = new DatabaseConnectionServiceClient();
            var loginResponse = client.Login(loginData.Login, loginData.Password);
            if (!loginResponse.IsSuccessful)
                throw new InvalidLoginException(loginResponse.ErrorMessage);

            var user = loginResponse.UserData;
            var lastSearch = user.LastSearch;
            _currentContext.IsAnonymousUser = false;
            _currentContext.CurrentUserLogin = user.Login;
            _currentContext.CurrentUserPassword = user.Password;
            _currentContext.LastAddress = lastSearch.Address;
            _currentContext.LastCenterType = CenterTypeConverter.FromDatabaseService(lastSearch.CenterType);
            _currentContext.LastLatitude = lastSearch.Latitude;
            _currentContext.LastLongitude = lastSearch.Longitude;
            _currentContext.LastRange = lastSearch.Range;

            IEnumerable<MedicalType> allMedicalTypes = _enumsValuesProvider.GetAllMedicalTypes();
            IEnumerable<MedicalType> lastMedicalTypes = MedicalTypesConverter.FromDatabaseService(lastSearch.SearchedObjects);
            _currentContext.LastSearchedMedicalTypes =
                allMedicalTypes.Select(type => new MedicalTypeViewModel(type, lastMedicalTypes.Contains(type))).ToList();

            _currentContext.SavedLastSearchHash = _currentContext.GenerateLastSearchedHash();
        }