Пример #1
0
 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");
         }
     }
 }
Пример #2
0
        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);
        }