Ejemplo n.º 1
0
        public MainMenu()
        {
            InitializeComponent();
            Current = this;


            // si se deben mostrar las notas a notificar
            if (App.Notificar)
            {
                // Comprobar si hay notas a notificar
                var colNotificar = NotaSQL.Buscar(UsuarioSQL.UsuarioLogin.ID, "Notificar = 1 AND Eliminada = 0");
                if (colNotificar.Count() != 0)
                {
                    // Mostrar la ventana de las notas marcadas para notificar
                    Navigation.PushAsync(new NotasMostrar(NotasDatosMostrar.Notificar));
                }
            }
            MyMenu();
        }
Ejemplo n.º 2
0
        async private void ContentPage_Appearing(object sender, EventArgs e)
        {
            LabelStatus.Text = App.StatusInfo;

            if (UsuarioSQL.UsuarioLogin is null || UsuarioSQL.UsuarioLogin.ID == 0 || UsuarioSQL.UsuarioLogin.Email == "prueba")
            {
                await Navigation.PushAsync(new Login(this));

                return;
            }
            var sDatos = "archivada";

            switch (DatosMostrar)
            {
            case NotasDatosMostrar.Archivadas:
                sDatos = "archivada";

                // Solo las notas archivadas y no eliminadas
                if (App.UsarNotasLocal)
                {
                    colNotas = App.Database.NotasArchivadas();
                }
                else
                {
                    colNotas = NotaSQL.NotasUsuario(UsuarioSQL.UsuarioLogin.ID, archivadas: true);
                }

                break;

            case NotasDatosMostrar.Eliminadas:
                sDatos = "eliminada";

                // Solo las notas eliminadas
                if (App.UsarNotasLocal)
                {
                    colNotas = App.Database.NotasEliminadas();
                }
                else
                {
                    colNotas = NotaSQL.NotasUsuario(UsuarioSQL.UsuarioLogin.ID, eliminadas: true);
                }

                break;

            case NotasDatosMostrar.Favoritas:
                sDatos = "favorita";

                // Solo las notas favoritas
                if (App.UsarNotasLocal)
                {
                    colNotas = App.Database.NotasFavoritas();
                }
                else
                {
                    colNotas = NotaSQL.NotasFavoritas(UsuarioSQL.UsuarioLogin.ID);
                }

                break;

            case NotasDatosMostrar.Notificar:
                sDatos = "a notificar.";

                // Las notas a notificar que no estén eliminadas
                if (App.UsarNotasLocal)
                {
                    colNotas = App.Database.NotasNotificar();
                }
                else
                {
                    colNotas = NotaSQL.Buscar(UsuarioSQL.UsuarioLogin.ID, "Notificar = 1 AND Eliminada = 0");
                }

                break;

            case NotasDatosMostrar.Local:
                sDatos = "de la base local.";

                colNotas = App.Database.NotasTodas();
                break;

            default:
                break;
            }
            listView.ItemsSource = colNotas;

            var plural  = colNotas.Count() == 1 ? "" : "s";
            var plural2 = plural + ".";

            if (sDatos.EndsWith("."))
            {
                plural2 = "";
            }

            //LabelInfo.Text = $"{UsuarioSQL.UsuarioLogin.Email} con {colNotas.Count()} nota{plural} archivada{plural}.";
            LabelInfo.Text = $"{UsuarioSQL.UsuarioLogin.Email} con {colNotas.Count()} nota{plural} {sDatos}{plural2}";
        }
Ejemplo n.º 3
0
        async private void btnAcceder_Clicked(object sender, EventArgs e)
        {
            LabelInfo.IsVisible = false;

            //App.UsarNotasMaxConfig = false;

            if (UsuarioSQL.ComprobarContraseña(email.Text, password.Text))
            {
                // Guardar el último usuario que accede
                App.UltimoUsuario  = UsuarioSQL.UsuarioLogin.Email;
                App.UltimoPassword = UsuarioSQL.UsuarioLogin.Password;
                // Usar las opciones indicadas                      (26/May/21)
                App.RecordarPassword = chkRecordarPassword.IsToggled;
                App.RecordarUsuario  = chkRecordarUsuario.IsToggled;

                // si es el usuario de prueba, no hacer nada.
                if (UsuarioSQL.UsuarioLogin.Email.ToLower() == "prueba")
                {
                    LabelInfo.Text = "Has indicado el usuario de prueba. " +
                                     "Te recuerdo que estas notas estarán visibles a todos los que entren con estas credenciales.";
                    LabelInfo.IsVisible = true;
                    return;
                }
                // Avisar si no está validado
                if (!UsuarioSQL.UsuarioLogin.Validado)
                {
                    await App.CodigoValidación(UsuarioSQL.UsuarioLogin.Email);

                    var    minutos = 60 - DateTime.UtcNow.Minute;
                    string plural  = (minutos == 1) ? "" : "s";
                    LabelInfo.Text = "Aún no has validado tu email. " +
                                     "Te he enviado un correo con el código de validación. " +
                                     $"Úsalo en la página de validar antes de {minutos} minuto{plural}. Gracias.";
                    LabelInfo.IsVisible = true;
                }
                else
                {
                    // Guardar los datos de último acceso, etc.
                    UsuarioSQL.UsuarioLogin.UltimoAcceso    = DateTime.UtcNow;
                    UsuarioSQL.UsuarioLogin.VersionPrograma = $"{App.AppName} {App.AppVersion}";
                    // Por si accede después de usar el usuario local (23/May/21)
                    App.UsarNotasLocal = false;
                    UsuarioSQL.GuardarUsuario(UsuarioSQL.UsuarioLogin);

                    // si se deben mostrar las notas a notificar
                    if (App.Notificar)
                    {
                        // Comprobar si hay notas a notificar
                        var colNotificar = NotaSQL.Buscar(UsuarioSQL.UsuarioLogin.ID, "Notificar = 1 AND Eliminada = 0");
                        if (colNotificar.Count() == 0)
                        {
                            App.GuardarConfig();
                            VolverAMain();
                            return;
                        }
                        // Mostrar la ventana de las notas marcadas para notificar
                        await Navigation.PushAsync(new NotasMostrar(NotasDatosMostrar.Notificar));

                        //return;
                    }
                }
                App.GuardarConfig();
                VolverAMain();
            }
            else
            {
                LabelInfo.Text      = "El usuario y/o el password no son correctos.";
                LabelInfo.IsVisible = true;
                email.Focus();
                return;
            }
        }