async void OnLogin(object sender, EventArgs args) { if (string.IsNullOrEmpty(entryLoginEmail.Text)) { await DisplayAlert("Warning", "Please enter email or phone number.", "Ok"); } else if (string.IsNullOrEmpty(entryLoginPwd.Text)) { await DisplayAlert("Warning", "Please enter password.", "Ok"); } else { LoginErrorResponseModel response = await(new LoginServices()).Login(entryLoginEmail.Text, entryLoginPwd.Text); if (response == null) { await Navigation.PopAsync(); } else { await DisplayAlert("Error!", response.error_description, "Ok"); } } }
public async Task <LoginErrorResponseModel> Login(string email, string pwd) { LoginErrorResponseModel err_msg = new LoginErrorResponseModel(); try { if (CrossConnectivity.Current.IsConnected) { var dict = new Dictionary <string, string>(); dict.Add("username", email); dict.Add("password", pwd); dict.Add("grant_type", "password"); dict.Add("deviceId", "Android"); var url = new Uri(string.Concat(Constants.baseUrl, "Token")); HttpClient client = new HttpClient(); var req = new HttpRequestMessage(HttpMethod.Post, url) { Content = new FormUrlEncodedContent(dict) }; var res = await client.SendAsync(req); string result = await res.Content.ReadAsStringAsync(); if (res.IsSuccessStatusCode) { LoginResponseModel message = JsonConvert.DeserializeObject <LoginResponseModel>(result); if (message != null && !message.id.Equals("")) { message.userId = int.Parse(message.id); } RegisterUserModel user = App.Database.GetUsers(message.userId); if (user == null) { user = new RegisterUserModel(); } user.Id = message.userId; if (message != null && !message.HelperId.Equals("")) { user.HelperId = int.Parse(message.HelperId); } user.UserName = message.userName; user.Token = message.access_token; user.isLoggedIn = true; user.Role = message.roles; user.Email = email; user.profileImage = message.profileImage; App.Database.SaveUser(user); return(null); } else { err_msg = JsonConvert.DeserializeObject <LoginErrorResponseModel>(result); return(err_msg); } } else { err_msg.error_description = "Please check your Internet Connection"; } } catch (Exception e) { Console.Write(e.StackTrace); err_msg.error_description = "Something wrong! Please try again"; } return(err_msg); }