Beispiel #1
0
 private void guardar()
 {
     CONTRASEÑA_D   = caja_contrasena.Password.Trim();
     NOMBRE_D       = "ADMINISTRADOR";
     TIPO_USUARIO_D = TIPO_ADMINISTRADOR;
     metodos_bd.GUARDAR(NOMBRE_TABLA, (NOMBRE, NOMBRE_D), (CONTRASEÑA, CONTRASEÑA_D), (TIPO_USUARIO, TIPO_USUARIO_D));
     Navegacion.NavegarAtras();
 }
        private async void maquina_estados()
        {
            switch (ESTADO)
            {
            case GUARDAR:

                /*¿Todos los campos estan llenos?*/
                if (Controles.Seleccionar_control(false))
                {       /*Ambas contraseñas coinciden*/
                    if (verificar_contrasena())
                    {
                        if (caja_contrasena.Password.Length < 4)
                        {
                            await this.ShowMessageAsync(TITULO_MENSAJE, "Minimo 4 caracteres", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);

                            return;
                        }
                        else
                        {
                            /*Se busca el nombre del usuario ingresado*/
                            ArrayList resultado = metodos_bd.BUSCAR(NOMBRE_TABLA, NOMBRE, NOMBRE_D, CANTIDAD_COLUMNAS, TODO);
                            if (resultado.Count > 0) /*¿ya existe ese usuario?*/
                            {                        /*Mensaje para cambiar nombre*/
                                await this.ShowMessageAsync(TITULO_MENSAJE, "Nombre no disponible", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);

                                return;
                            }
                            else
                            {       /*¿Crear nuevo usuario?*/
                                var a = await this.ShowMessageAsync(TITULO_MENSAJE, "¿Crear nuevo usuario?", MessageDialogStyle.AffirmativeAndNegative, configMetro.mensajeAcentuado);

                                if (a == MessageDialogResult.Affirmative)    /*Se guarda el nuevo usuario*/
                                {
                                    metodos_bd.GUARDAR(NOMBRE_TABLA, (NOMBRE, NOMBRE_D), (CONTRASEÑA, CONTRASEÑA_D), (TIPO_USUARIO, TIPO_USUARIO_D));
                                    await this.ShowMessageAsync(TITULO_MENSAJE, "Usuario creado", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);

                                    LIMPIAR_TODO();
                                    int       ultimooID = metodos_bd.ULTIMO_REGISTRO(NOMBRE_TABLA, ID_USUARIO);
                                    ArrayList userLocal = metodos_bd.BUSCAR(NOMBRE_TABLA, ID_USUARIO, ultimooID.ToString(), CANTIDAD_COLUMNAS, TODO);
                                }
                                else
                                {
                                    return;
                                }
                            }
                        }
                    }
                    else
                    {
                        await this.ShowMessageAsync(TITULO_MENSAJE, "Las contraseñas no coinciden", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);
                    }
                }
                ESTADO = GUARDAR;
                break;

            case APUNTAR:
                ArrayList resultado2 = metodos_bd.BUSCAR(NOMBRE_TABLA, ID_USUARIO, ID_USUARIO_C, CANTIDAD_COLUMNAS, TODO);
                /*los datos se respaldan en unas variables auxiliares y se muestran en los componentes correspondientes*/
                ID_USUARIO_C             = resultado2[0].ToString();
                caja_texto_usuario.Text  = NOMBRE_C = resultado2[1].ToString();
                caja_contrasena.Password = caja_contrasena1.Password = CONTRASEÑA_C = resultado2[2].ToString();
                Combobox_tipo.Text       = TIPO_USUARIO_C = resultado2[3].ToString();
                boton_borrar.Visibility  = Visibility.Visible;
                boton_guardar.Content    = BTN_EDITAR;
                ESTADO = ACTUALIZAR;
                break;


            case ACTUALIZAR:
                /*se verifica que todos los campos esten llenos*/
                if (Controles.Seleccionar_control(false))
                {
                    if (verificar_contrasena())
                    {
                        if (caja_contrasena.Password.Length < 4)
                        {
                            await this.ShowMessageAsync(TITULO_MENSAJE, "Minimo 4 caracteres", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);

                            return;
                        }
                        else
                        {
                            NOMBRE_D       = caja_texto_usuario.Text;
                            CONTRASEÑA_D   = caja_contrasena.Password;
                            TIPO_USUARIO_D = Combobox_tipo.Text;
                            ArrayList resultado3 = metodos_bd.BUSCAR(NOMBRE_TABLA, NOMBRE, NOMBRE_D, CANTIDAD_COLUMNAS, TODO);
                            if (resultado3.Count > 0)
                            {
                                if (resultado3[1].ToString() == TIPO_ADMINISTRADOR)
                                {
                                    var a2 = await this.ShowMessageAsync(TITULO_MENSAJE, "¿Guardar cambios?", MessageDialogStyle.AffirmativeAndNegative, configMetro.mensajeAcentuado);

                                    if (a2 == MessageDialogResult.Affirmative)
                                    {
                                        LLAMAR_ACTUALIZAR();
                                    }
                                    else
                                    {
                                        LIMPIAR_TODO();
                                    }
                                }
                                else
                                {
                                    if (resultado3[0].ToString() == ID_USUARIO_C)
                                    {    /*si resultado3 me regreso a mi mismo puedo modificar el dato*/
                                        var a2 = await this.ShowMessageAsync(TITULO_MENSAJE, "¿Guardar cambios?", MessageDialogStyle.AffirmativeAndNegative, configMetro.mensajeAcentuado);

                                        if (a2 == MessageDialogResult.Affirmative)
                                        {
                                            LLAMAR_ACTUALIZAR();
                                        }
                                        else
                                        {
                                            LIMPIAR_TODO();
                                        }
                                    }
                                    else
                                    {    /*sino esto quiere decir que es otro usuario y por lo tanto no puedo usar ese nombre*/
                                        await this.ShowMessageAsync(TITULO_MENSAJE, "Nombre no disponible", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);

                                        return;
                                    }
                                }
                            }
                            else
                            {    /*si no se regreso ningun dato de la busque significa que el dato esta disponilbe*/
                                var a2 = await this.ShowMessageAsync(TITULO_MENSAJE, "¿Guardar cambios?", MessageDialogStyle.AffirmativeAndNegative, configMetro.mensajeAcentuado);

                                if (a2 == MessageDialogResult.Affirmative)
                                {
                                    LLAMAR_ACTUALIZAR();
                                }
                            }
                        }
                    }
                    else
                    {
                        await this.ShowMessageAsync(TITULO_MENSAJE, "Las contraseñas no coinciden", MessageDialogStyle.Affirmative, configMetro.mensajeNormal);
                    }
                }
                tabla_Principal.Items.Refresh();
                ESTADO = GUARDAR;
                break;

            case ELIMINAR:

                var a3 = await this.ShowMessageAsync(TITULO_MENSAJE, "¿Eliminar usuario?", MessageDialogStyle.AffirmativeAndNegative, configMetro.mensajeBorrar);

                if (a3 == MessageDialogResult.Affirmative)
                {
                    metodos_bd.ELIMINAR(NOMBRE_TABLA, ID_USUARIO, ID_USUARIO_C);
                    tabla_Principal.Items.Refresh();
                }
                LIMPIAR_TODO();
                ESTADO = GUARDAR;
                break;
            }
        }