protected async override void OnAppearing()
 {
     base.OnAppearing();
     if (LoginViewModel.ShouldShowLogin(App.LastUseTime))
     {
         await Navigation.PushModalAsync(new NavigationPage(new LoginView()));   
     }                
     else
     {
         var res = App.Database.GetItems();
         var loginData = new LoginRequest
         {
             KeepMeSignedInCheckBox = "true",                    
             Type = "web",                    
         };
         foreach (var userInfo in res)
         {
             loginData.UserName = userInfo.Username;
             loginData.Password = userInfo.Password;                    
         }
         
         var postJson = JsonConvert.SerializeObject(loginData);                
         Task<String> response = M2ESSOClient.MakePostRequest(Constants.serverContextUrl + "/Auth/Login", postJson,
             null);
         String result = await response;
         int len = result.Length;
         var authInfo = JsonConvert.DeserializeObject<ResponseModel<LoginResponse>>(result);
         if (authInfo.Status == 200)
         {
             App.Database.UpdateItemFromUsername(loginData.UserName,authInfo.Payload.UTMZT,authInfo.Payload.UTMZK,authInfo.Payload.UTMZV);
             //await DisplayAlert("Success", "Succesfully logged in!!!", "OK", null);
             
             await Navigation.PushModalAsync(new UserHomeView().GetUserHomeView());
         }
         else if(authInfo.Status == 401)
         {
             App.Database.DeleteItems();
             await Navigation.PushModalAsync(new NavigationPage(new LoginView()));
         }
         else
         {
             await DisplayAlert("Error", "Internal Server Error Occured!!!", "OK", null);
         }
     }
     
     
 }
Пример #2
0
        public async Task<String> LoginAsync(String username,String password,CancellationToken cancellationToken)
        {
            IsBusy = true;
            LoginRequest loginData = new LoginRequest
            {
                KeepMeSignedInCheckBox = "true",
                Password = password,
                Type = "web",
                UserName = username
            };

            var postJson = JsonConvert.SerializeObject(loginData);
            Task<String> response = M2ESSOClient.MakePostRequest(Constants.serverContextUrl + "/Auth/Login", postJson,
                null);
            String result = await response;
            //int len = result.Length;
            return result;
        }