// Serverside: if login OK, sets field is_online to TRUE public async Task <LoginOperationResult <T> > ValidateLogin <T>(T account, Expression <Func <T, bool> > validation, Func <T, int> getID, Func <T, int> getType) { var list = await _repositoryService.SearchForAsync <T>(validation, new Dictionary <string, string> { { "login", "1" } }, false); LoginOperationResult <T> result = new LoginOperationResult <T>(); if (list.Count() == 0) { //User doesnt exist result.id = -1; result.successful = false; } else { T element = list[0]; result.id = getID(element); result.successful = true; //Login Customer result.userType = getType(element); result.account = element; } return(result); }
/// <summary> /// Executes the LoginOperation asynchronously. The LoginOperationCallback will be invoked when the results are ready. /// </summary> /// <param name="loginOperationCallback">The callback to be invoked when the result of the LoginOperation is ready.</param> public void ExecuteAsync(LoginOperationCallback loginOperationCallback) { Asserter.NotNull(loginOperationCallback, "LoginOperation.ExecuteAsync:loginOperationCallback is null"); Dictionary <string, string> fields = new Dictionary <string, string>(); fields.Add(kUSERNAME_FIELD, _criteria.Username); fields.Add(kPASSWORD_FIELD, _criteria.Password); WebOperationCallback webOperationCallback = (ResultSet resultSet) => { LoginOperationResult result = CreateResultFromResultSet(resultSet); loginOperationCallback(result); }; WebOperation.ExecuteAsync(new WebOperationCriteria(WebOperationURLs.GetURL(GetType()), fields), webOperationCallback); }
// Use this for initialization void Start() { LoginOperationResult result = LoginOperation.Create(LoginCriteria.Create("greg", "asdf")).Execute(); switch (result.LoginOperationStatus) { case (LoginOperationStatus.Success): break; default: Debug.LogError("Could not log in!"); return; } GetGroupsOperationResult getGroupsResult = GetGroupsOperation.Create(new GetGroupsOperationCriteria(result.AuthenticationToken)).Execute(); getGroupsResult.PrintResultSetData(); }
public async Task <LoginOperationResult <user_consumer> > ValidateConsumerLogin(string username, string password) { var list = await _repositoryService.SearchForAsync <user_consumer>(u => u.username == username && u.password == password, u => u.updated_at, u => u.id, false); LoginOperationResult <user_consumer> result = new LoginOperationResult <user_consumer>(); if (list.Count() == 0) { //User doesnt exist result.id = -1; result.successful = false; } else { var element = list[0]; result.id = element.id; result.successful = true; result.account = element; } return(result); }
async void DoLoginCommand() { StatusLabel = _waitingMessage; ////Populate //var users = Builder<MLearningDB.User>.CreateListOfSize(5000).All().With(x => x.id = 0 ).And(x=>x.created_at = DateTime.UtcNow).And(x=>x.updated_at = DateTime.UtcNow).And(x=>x.social_id=null).Build(); //foreach (var user in users) //{ // await _mLearningService.CreateAccount<MLearningDB.User>(user, u => u.id, UserType.Consumer); // _mLearningService.AddUserToCircle(user.id, 45); //} ////end populate try { User user = new User { username = Username, password = EncryptionService.encrypt(Password) }; // User user = new User { username = Username, password = Password }; LoginOperationResult <User> result = await _mLearningService.ValidateLogin <User>(user, u => u.password == user.password && u.username == user.username, u => u.id, u => u.type); // LoginOperationResult result = await _mLearningService.ValidateConsumerLogin(user.username,user.password); if (result.successful) { LoginOK = true; SessionService.LogIn(result.id, Username); SharedPreferences prefs = Constants.GetSharedPreferences(Constants.PreferencesFileName); prefs.PutString(Constants.UserFirstNameKey, result.account.name); prefs.PutString(Constants.UserLastNameKey, result.account.lastname); prefs.PutString(Constants.UserImageUrlKey, result.account.image_url); prefs.Commit(); switch ((UserType)result.userType) { case UserType.Consumer: //Select corresponding user screen ShowViewModel <MainViewModel>(); break; #if (ADMIN) case UserType.Head: ShowViewModel <HeadMainViewModel>(new { user_id = result.id }); break; case UserType.Publisher: ShowViewModel <PublisherMainViewModel>(new { user_id = result.id }); break; #endif default: StatusLabel = _wrongCredentialsMessage; LoginOK = false; break; } } else { StatusLabel = _wrongCredentialsMessage; LoginOK = false; } } catch (WebException e) { StatusLabel = _noInternetMessage; ConnectionOK = false; } catch (HttpRequestException e) { StatusLabel = _noInternetMessage; ConnectionOK = false; } catch (MobileServiceInvalidOperationException e) { Mvx.Trace("MobileServiceInvalidOperationException " + e.Message); OperationOK = false; } }
private Builder() { _isValid = true; _result = new LoginOperationResult(); }
void Callback(LoginOperationResult result) { Debug.Log("Got response of login!"); Debug.Log(result.AuthenticationToken); loggedin = true; }