Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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)
            {
            }
        }