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); } } }
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; }