private async Task <ValidaUsuarioReturn> ValidaUsuario(string CorreoElectronico)
        {
            var content = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("usu_usuario", CorreoElectronico)
            });

            var response = await this.apiService.Get <ValidaUsuarioReturn>("/usuarios", "/usuario_valido", content);

            if (!response.IsSuccess)
            {
                await Mensajes.Alerta("Parece que no tenés conexión a internet, intentalo mas tarde");

                return(null);
            }

            listValidaUsuario = (ValidaUsuarioReturn)response.Result;


            if (listValidaUsuario.resultado == "Usuario disponible.")
            {
                return(null);
            }
            else
            {
                return(listValidaUsuario);
            }
        }
        private async void OnLoginComplete(FacebookUser facebookUser, string message)
        {
            try
            {
                if (facebookUser != null)
                {
                    UserDialogs.Instance.ShowLoading("Iniciando sesion...", MaskType.Black);

                    ValidaUsuarioReturn ValUsu = await ValidaUsuario(facebookUser.Email);

                    string IDUsuario;
                    string TipoDocumento   = "";
                    string NumeroDocumento = "";
                    string NumeroSocio     = "";

                    string FechaNacimiento = "";

                    if (ValUsu == null)
                    {
                        IDUsuario = await GuardaUsuarioGF(facebookUser.FirstName + ' ' + facebookUser.LastName, facebookUser.Email);
                    }
                    else
                    {
                        IDUsuario       = Convert.ToString(ValUsu.usu_id);
                        TipoDocumento   = ValUsu.usu_tipo_documento;
                        NumeroDocumento = ValUsu.usu_no_documento;
                        NumeroSocio     = ValUsu.usu_id_tarjeta_socio;
                        Ciudad          = ValUsu.usu_ciudad;
                        FechaNacimiento = ValUsu.usu_fecha_nacimiento;
                    }

                    Application.Current.Properties["IsLoggedIn"]      = true;
                    Application.Current.Properties["IdUsuario"]       = IDUsuario;
                    Application.Current.Properties["Email"]           = facebookUser.Email;
                    Application.Current.Properties["NombreCompleto"]  = facebookUser.FirstName + ' ' + facebookUser.LastName;
                    Application.Current.Properties["Ciudad"]          = "";
                    Application.Current.Properties["Pass"]            = "";
                    Application.Current.Properties["FechaNacimiento"] = "";
                    Application.Current.Properties["FotoPerfil"]      = facebookUser.Picture;
                    Application.Current.Properties["TipoCuenta"]      = "Facebook";
                    Application.Current.Properties["TipoDocumento"]   = TipoDocumento;
                    Application.Current.Properties["NumeroDocumento"] = NumeroDocumento;
                    Application.Current.Properties["NumeroSocio"]     = NumeroSocio;

                    Application.Current.Properties["RutaChatCasino"]     = "";
                    Application.Current.Properties["VariableChatHotel"]  = "";
                    Application.Current.Properties["VariableChatCasino"] = "";
                    Application.Current.Properties["RutaChatHotel"]      = "";
                    Application.Current.Properties["Casino"]             = 1;
                    Application.Current.Properties["Hotel"] = 1;

                    await Application.Current.SavePropertiesAsync();

                    var Contenido = new FormUrlEncodedContent(new[]
                    {
                        new KeyValuePair <string, string>("neq_equipo", Application.Current.Properties["Token"].ToString()),
                        new KeyValuePair <string, string>("neq_id_usuario", Convert.ToString(IDUsuario)),
                        new KeyValuePair <string, string>("neq_dispositivo", CrossDeviceInfo.Current.Platform.ToString()),
                        new KeyValuePair <string, string>("neq_app_id", CrossDeviceInfo.Current.Id)
                    });


                    var response2 = await this.apiService.Get <GuardadoGenerico>("/notificaciones", "/guardar_equipo", Contenido);

                    if (!response2.IsSuccess)
                    {
                        var content3 = new FormUrlEncodedContent(new[]
                        {
                            new KeyValuePair <string, string>("nus_id_usuario", IDUsuario),
                            new KeyValuePair <string, string>("nus_id_notificacion", Convert.ToString(0)),
                        });


                        var response3 = await this.apiService.Get <ActualizaUsuarioReturn>("/notificaciones", "/activar_notificacion", content3);

                        if (!response3.IsSuccess)
                        {
                            await Mensajes.Alerta("Ha habido un error en tu solicitud, por favor volvé a intentarlo");

                            UserDialogs.Instance.HideLoading();
                            return;
                        }
                    }

                    //MainViewModel.GetInstance().Master = new MasterViewModel();
                    MainViewModel.GetInstance().Inicio = new InicioViewModel();
                    MainViewModel.GetInstance().Detail = new DetailViewModel();
                    MainViewModel.GetInstance().Casino = new CasinoViewModel();

                    // await Application.Current.MainPage.Navigation.PushModalAsync(new MasterPage());
                    this.Email    = string.Empty;
                    this.Nombre   = string.Empty;
                    this.Ciudad   = string.Empty;
                    this.Password = string.Empty;
                    this.Ciudad   = string.Empty;

                    MainViewModel.GetInstance().VincularTarjeta = new VincularTarjetaViewModel();

                    await((MasterPage)Application.Current.MainPage).Detail.Navigation.PushAsync(new VincularTarjetaWin());

                    UserDialogs.Instance.HideLoading();
                }
                else
                {
                    await Mensajes.Alerta("Error al acceder a los servicios de Facebook, intente de nuevo");

                    UserDialogs.Instance.HideLoading();
                    return;
                }
            }
            catch (Exception)
            {
                await Mensajes.Alerta("Error al acceder a los servicios de Facebook, intente de nuevo");

                UserDialogs.Instance.HideLoading();
                return;
            }
        }
        private async void OnLoginComplete(FacebookUser facebookUser, string message)
        {
            try
            {
                if (facebookUser != null)
                {
                    UserDialogs.Instance.ShowLoading("Iniciando sesion...", MaskType.Black);

                    ValidaUsuarioReturn ValUsu = await ValidaUsuario(facebookUser.Email);

                    string IDUsuario;
                    string TipoDocumento   = "";
                    string NumeroDocumento = "";
                    string NumeroSocio     = "";
                    string Ciudad          = "";
                    string FechaNacimiento = "";

                    if (ValUsu == null)
                    {
                        IDUsuario = await GuardaUsuarioGF(facebookUser.FirstName + ' ' + facebookUser.LastName, facebookUser.Email);
                    }
                    else
                    {
                        IDUsuario       = Convert.ToString(ValUsu.usu_id);
                        TipoDocumento   = ValUsu.usu_tipo_documento;
                        NumeroDocumento = ValUsu.usu_no_documento;
                        NumeroSocio     = ValUsu.usu_id_tarjeta_socio;
                        Ciudad          = ValUsu.usu_ciudad;
                        FechaNacimiento = ValUsu.usu_fecha_nacimiento;
                    }

                    Application.Current.Properties["IsLoggedIn"]      = true;
                    Application.Current.Properties["IdUsuario"]       = IDUsuario;
                    Application.Current.Properties["Email"]           = facebookUser.Email;
                    Application.Current.Properties["NombreCompleto"]  = facebookUser.FirstName + ' ' + facebookUser.LastName;
                    Application.Current.Properties["Ciudad"]          = "";
                    Application.Current.Properties["Pass"]            = "";
                    Application.Current.Properties["FechaNacimiento"] = "";
                    Application.Current.Properties["FotoPerfil"]      = facebookUser.Picture;
                    Application.Current.Properties["TipoCuenta"]      = "Facebook";
                    Application.Current.Properties["TipoDocumento"]   = TipoDocumento;
                    Application.Current.Properties["NumeroDocumento"] = NumeroDocumento;
                    Application.Current.Properties["NumeroSocio"]     = NumeroSocio;

                    Application.Current.Properties["RutaChatCasino"]     = "";
                    Application.Current.Properties["VariableChatHotel"]  = "";
                    Application.Current.Properties["VariableChatCasino"] = "";
                    Application.Current.Properties["RutaChatHotel"]      = "";
                    Application.Current.Properties["Casino"]             = 1;
                    Application.Current.Properties["Hotel"] = 1;


                    await Application.Current.SavePropertiesAsync();


                    var Contenido = new FormUrlEncodedContent(new[]
                    {
                        new KeyValuePair <string, string>("neq_equipo", Application.Current.Properties["Token"].ToString()),
                        new KeyValuePair <string, string>("neq_id_usuario", Convert.ToString(IDUsuario)),
                        new KeyValuePair <string, string>("neq_dispositivo", CrossDeviceInfo.Current.Platform.ToString()),
                        new KeyValuePair <string, string>("neq_app_id", CrossDeviceInfo.Current.Id)
                    });


                    var response2 = await this.apiService.Get <GuardadoGenerico>("/notificaciones", "/guardar_equipo", Contenido);

                    if (!response2.IsSuccess)
                    {
                    }

                    // MainViewModel.GetInstance().Master = new MasterViewModel();
                    MainViewModel.GetInstance().Inicio = new InicioViewModel();
                    MainViewModel.GetInstance().Detail = new DetailViewModel();
                    MainViewModel.GetInstance().Casino = new CasinoViewModel();

                    //await Application.Current.MainPage.Navigation.PushModalAsync(new MasterPage());

                    MasterPage fpm = new MasterPage();
                    // fpm.Master = new DetailPage(); // You have to create a Master ContentPage()

                    //App.NavPage = new NavigationPage(new CustomTabPage()) { BarBackgroundColor = Color.FromHex("#23144B") };

                    // fpm.Detail = App.NavPage; // You have to create a Detail ContenPage()

                    Application.Current.MainPage = fpm;

                    await Mensajes.Alerta("Bienvenido " + facebookUser.FirstName + ' ' + facebookUser.LastName);

                    UserDialogs.Instance.HideLoading();
                }
                else
                {
                    await Mensajes.Alerta("Error al acceder a los servicios de Facebook, intente de nuevo");

                    UserDialogs.Instance.HideLoading();
                    return;
                }
            }
            catch (Exception)
            {
                await Mensajes.Alerta("Error al acceder a los servicios de Facebook, intente de nuevo");

                UserDialogs.Instance.HideLoading();
                return;
            }
        }