public static void Logout() { SQLiteConnection connection = Common.Instance.InitializeDatabase(); Common.Instance.DeleteAll <MyWorkItem>(); //Common.Instance.DeleteAll<Workspace>(); //Common.Instance.DeleteAll<Models.User>(); //Common.Instance.DeleteAll<NotificationLocal>(); //clear PN device token //PushNotificationService client = new PushNotificationService(); //client.SetPushNotificationTokenLegacy(string.Empty); string deviceId = CrossDeviceInfo.Current.Id; if (!string.IsNullOrEmpty(deviceId)) { PushNotificationService client = new PushNotificationService(); client.RemovePushNotificationTokenForCurrentUser(deviceId); } Common.CurrentWorkspace.ApiToken = string.Empty; Common.CurrentWorkspace.UserID = Guid.Empty; Common.CurrentWorkspace.PushNotifDateSent = null; Common.UserGlobalCapability = null; Common.WorkspaceCapability = null; var workspaces = Common.Instance.GetWorkspaces(); foreach (Workspace ws in workspaces) { if (ws.Id == Common.CurrentWorkspace.Id) { ws.ApiToken = string.Empty; ws.UserID = Guid.Empty; //ws.PushNotifDateSent = null; Common.Instance._sqlconnection.Update(ws); break; } } AuthenticationService.PI_Client = null; Common.Instance.ShowToastMessage("You successfully signed out", DoubleResources.SuccessSnackBar); App.Current.MainPage = new NavigationPage(new SignInUsingPhoneOrEmailPage()); }
public bool ForgotUsername(string workspace, string email) { try { ProjectInsightWebApiClient client = new ProjectInsightWebApiClient(Common.WorkspaceApi); var result = client.Authentication.ForgotUsername(email); return(true); } catch (Exception ex) { return(false); } }
public async Task <LoginRequestResponse> Login(string email, string password) { //for (int i = 0; i < 5; i++) //{ // await Task.Factory.StartNew(() => { // }); // await Task.Delay(1000); //} LoginRequestForCustomApp loginRequest = new LoginRequestForCustomApp(); loginRequest.CustomAppName = "ProjectInsight.WebApp"; loginRequest.EmailAddress = email; loginRequest.Password = password; PI_Client = new ProjectInsightWebApiClient(Common.WorkspaceApi); try { await Task.Factory.StartNew(() => { user = PI_Client.Authentication.LoginRequestForCustomApp(loginRequest); }); //user = await PI_Client.Authentication.LoginRequestForCustomAppAsync(loginRequest); //ProjectInsight.Models.Users.User userL = new ProjectInsight.Models.Users.User(); //userL.EmailAddress = email; //userL.UserName = email; //userL.Password = password; //user = await PI_Client.Authentication.LoginRequestForCustomAppAsync(userL); if (user.IsValid) { //PI_Client.Authentication.AddQueryParam("api-token", user.Token); authenticationClient = PI_Client.Authentication; authenticationClient.ProjectInsightWebApiClient.ApiToken = user.Token; //var sso = authenticationClient.GetLoginSettings(); //APIsInitialization.InitializeApis(Common.WorkspaceApi, user.Token); return(user); } } catch (Exception ex) { } return(null); }
public static async Task <ProjectInsight.Models.Authentication.LoginSettings> LoginSettings(string url) { ProjectInsightWebApiClient client = new ProjectInsightWebApiClient(url); try { ProjectInsight.Models.Authentication.LoginSettings response = await client.Authentication.GetLoginSettingsAsync(); return(response); } catch (Exception ex) { return(null); } }
private async void OnActivate(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtCode.Text) || string.IsNullOrEmpty(txtCode.Text.Trim())) { Common.Instance.ShowToastMessage("Please provide correct activation code", DoubleResources.DangerSnackBar); return; } var activationCode = txtCode.Text.Trim(); ProjectInsightWebApiClient client = new ProjectInsightWebApiClient(Common.WorkspaceApi); try { DeviceActivationRequestComplete completeRequest = await client.DeviceActivationRequest.CompleteRequestAsync(DeviceActivationId, activationCode, "Chrome", null); if (completeRequest == null) { Common.Instance.ShowToastMessage("Please check the activation code or request new one", DoubleResources.DangerSnackBar); return; } string ApiToken = completeRequest.ApiToken; DateTime TokenExpirationDateTime = completeRequest.AuthenticationTokenExpirationDateTimeUTC.Value; string DeviceId = completeRequest.DeviceId; string UserId = completeRequest.UserId; if (AuthenticationService.PI_Client == null) { APIsInitialization.InitializeApis(ApiToken); Common.CurrentWorkspace.ApiToken = ApiToken; Common.CurrentWorkspace.UserID = new Guid(completeRequest.UserId); Common.Instance._sqlconnection.Update(Common.CurrentWorkspace); ProjectInsight.Models.Users.User userMe = UsersService.GetSimpleMe(); Common.UserGlobalCapability = userMe.UserGlobalCapability; Common.WorkspaceCapability = WorkspaceService.GetWorkspaceCapability(); //var logingUser = await UsersService.GetUser(new Guid(UserId)); //ProjectInsightMobile.Models.User user = new ProjectInsightMobile.Models.User(); //user.Email = logingUser.EmailAddress; //user.FirstName = logingUser.FirstName; //user.LastName = logingUser.LastName; //user.DateTimeCreated = DateTime.Now; //user.UserToken = ApiToken; //user.UserID = new Guid(UserId); //Common.Instance.user = user; //SQLiteConnection connection = Common.Instance.InitializeDatabase(); //Common.Instance.CreateTable<User>(); //Common.Instance._sqlconnection.Insert(user); } //Common.Instance.ShowToastMessage("Success", DoubleResources.SuccessSnackBar); //await Navigation.PushAsync(new StartupMasterPage()); App.Current.MainPage = new StartupMasterPage(); } catch (Exception ex) { } }