async void RegisterCommandAsync() { if (!string.IsNullOrEmpty(_username) && !string.IsNullOrEmpty(_password) && !string.IsNullOrEmpty(_email)) { if (_email.Contains("@") && _email.Contains(".")) { if (_password.Equals(_passwordConfirm)) { using (UserDialogs.Instance.Loading(CommonResource.Login_RegistrationProcess, null, null, true, MaskType.Black)) { AccountApiRequest apiRequest = new AccountApiRequest(_apiUrl); Analytics.TrackEvent("Register user started", new Dictionary <string, string> { { "Username", _username } }); TokenResponse authData = await apiRequest.RegisterNewUserAsync(_username, _password, _email); if (!string.IsNullOrEmpty(authData?.Access_Token)) { Analytics.TrackEvent("Register new user done", new Dictionary <string, string> { { "Username", _username } }); TokenStoreService tokenService = new TokenStoreService(); if (await tokenService.SetAuthDataAsync(authData.Access_Token, authData.UserId, _username, _email)) { ParameterManager par = new ParameterManager(); par.Set("GuestMode", "0"); Xamarin.Forms.MessagingCenter.Send <AuthResultMessage>(new AuthResultMessage() { IsAuthenticated = true, Username = _username }, string.Empty); #if !DEBUG Xamarin.Forms.MessagingCenter.Send <SyncMessage>(new SyncMessage(), string.Empty); #endif await Navigation.PopModalAsync(); } } else { Analytics.TrackEvent("Register new user error", new Dictionary <string, string> { { "Username", _username } }); await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_RegistrationError, "Ok"); } } } else { await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_EnterSamePasswords, "Ok"); } } else { await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_EnterCorrectEmail, "Ok"); } } else { await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_FillAllFields, "Ok"); } }
public static void requestAccountInformation() { var main = MAIN.getMain; if (main.isWaitingReplyAboutAccountFromServer) { Errors.showTest("Error! [requestAccountInformation] request already sended!"); return; } var account = new AccountApiRequest(); account.Sid = main.sessionID; main.network.ApiRequest(Api.CmdName.Account, JsonUtility.ToJson(account)); main.isWaitingReplyAboutAccountFromServer = true; }
async void TryLoginCommandAsync() { if (!string.IsNullOrEmpty(_username) && !string.IsNullOrEmpty(_password)) { using (UserDialogs.Instance.Loading(CommonResource.Login_AuthorizationProcess, null, null, true, MaskType.Black)) { AccountApiRequest apiRequest = new AccountApiRequest(_apiUrl); Analytics.TrackEvent("GetToken started", new Dictionary <string, string> { { "Username", _username } }); TokenResponse authData = await apiRequest.GetTokenAsync(_username, _password); if (!string.IsNullOrEmpty(authData?.Access_Token)) { Analytics.TrackEvent("GetToken done", new Dictionary <string, string> { { "Username", _username } }); TokenStoreService tokenService = new TokenStoreService(); if (await tokenService.SetAuthDataAsync(authData.Access_Token, authData.UserId, _username, authData.Email)) { ParameterManager par = new ParameterManager(); par.Set("GuestMode", "0"); Xamarin.Forms.MessagingCenter.Send <AuthResultMessage>(new AuthResultMessage() { IsAuthenticated = true, Username = _username }, string.Empty); #if !DEBUG Xamarin.Forms.MessagingCenter.Send <SyncMessage>(new SyncMessage(), string.Empty); #endif await Navigation.PopModalAsync(); } } else { Analytics.TrackEvent("GetToken error", new Dictionary <string, string> { { "Username", _username } }); await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_IncorrectLoginOrPassword, "Ok"); } } } else { await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_FillLoginAndPassword, "Ok"); } }
/*private async void OnLoginCompleteAsync(OAuthUser user, string errorMsg) * { * if (user != null) * { * var taskRun = Task.Run(async () => * { * try * { * var result = await TryToLoginServerWithOAuth(user); * } * catch (Exception e) * { * HandleError.Process("OAuthLogin", "OnLoginComplete", e, false); * } * }); * } * else * { * await Application.Current.MainPage.DisplayAlert(CommonResource.CommonMsg_Warning, CommonResource.Login_AuthError, "Ok"); * } * }*/ private async Task <bool> TryToLoginServerWithOAuth(OAuthUser oauthUser) { Username = oauthUser.Name; AccountApiRequest apiRequest = new AccountApiRequest(_apiUrl); Analytics.TrackEvent("Login OAuth user started", new Dictionary <string, string> { { "Username", _username } }); //ToDo: надо добавить на сервер передачу и получение imgurl и роли! TokenResponse authData = await apiRequest.LoginByOAuthAsync(oauthUser.Name, oauthUser.Email, DeviceCulture.CurrentCulture.Name, oauthUser.ImgUrl.ToString(), oauthUser.Id, string.Empty); if (!string.IsNullOrEmpty(authData?.Access_Token)) { Analytics.TrackEvent("Login OAuth done", new Dictionary <string, string> { { "Username", _username } }); TokenStoreService tokenService = new TokenStoreService(); if (await tokenService.SetAuthDataAsync(authData.Access_Token, authData.UserId, _username, authData.Email, oauthUser.ImgUrl.ToString())) { ParameterManager par = new ParameterManager(); par.Set("GuestMode", "0"); Xamarin.Forms.MessagingCenter.Send <AuthResultMessage>(new AuthResultMessage() { IsAuthenticated = true, Username = oauthUser.Name }, string.Empty); #if !DEBUG Xamarin.Forms.MessagingCenter.Send <SyncMessage>(new SyncMessage(), string.Empty); #endif return(true); } } else { Analytics.TrackEvent("Login OAuth error", new Dictionary <string, string> { { "Username", _username } }); MainThread.BeginInvokeOnMainThread(() => { UserDialogs.Instance.Alert(CommonResource.Login_AuthError, CommonResource.CommonMsg_Warning, "Ок"); }); } return(false); }