Inicio » Cursos » Flutter y Laravel App de Turismo

Curso Flutter y Laravel App de Turismo

Capitulo 32 ➜ Panel Administración Empresa

Panel Administración Empresa

Implementación de un panel de administración para empresa

Desarrollo de la pantalla y funciones para gestionar información respecto del usuario de tipo empresa, acceso a los métodos CRUD

Desarrollo de la pantalla y funciones para gestionar información respecto del usuario de tipo empresa, acceso a los métodos CRUD

 

import 'dart:convert';
import 'package:app/basededatos/DBmanager.dart';
import 'package:app/pantallas/pantallaAdminAgregar.dart';
import 'package:app/pantallas/pantallaAdminEditar.dart';
import 'package:app/pantallas/pantallaRutas.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:app/api/Api.dart';
import 'package:flutter/material.dart';

var basededatos = new DBmanager();

class pantallaAdmin extends StatefulWidget {
  @override
  _pantallaAdminState createState() => _pantallaAdminState();
}

class _pantallaAdminState extends State<pantallaAdmin> {
  var user_id = 0;
  void _verificarUsuario() async {
    SharedPreferences preferencia = await SharedPreferences.getInstance();
    var user = json.decode(preferencia.getString("user"));
    if (user) {
      setState(() {
        user_id = user['id'];
      });
    } else {
      Navigator.of(context).pushReplacement(
          MaterialPageRoute(builder: (BuildContext) => pantallaRutas()));
    }
  }

  @override
  void initState() {
    // TODO: implement initState
    _verificarUsuario();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Administración"),
        actions: [
          IconButton(
              icon: Icon(Icons.input),
              onPressed: () {
                _logout();
              })
        ],
      ),
      body: Container(
        child: user_id != 0
            ? FutureBuilder(
                future: basededatos
                    .obtenerEmpresas(" user_id=" + user_id.toString()),
                builder: (c, s) {
                  if ((s.hasData) && (s.data.length > 0)) {
                    return ListView.builder(
                        itemCount: s.data != null ? 0 : s.data.length,
                        itemBuilder: (_c, _i) {
                          return Row(
                            children: [
                              Text(s.data[_i].razonsocial),
                              RaisedButton(
                                onPressed: () {
                                  Navigator.of(context).push(MaterialPageRoute(
                                      builder: (BuildContext) =>
                                          pantallaAdminEditar()));
                                },
                                child: Text("EDITAR"),
                              ),
                              RaisedButton(
                                onPressed: () {},
                                child: Text("ELIMINAR"),
                              )
                            ],
                          );
                        });
                  } else {
                    return Center(child: Text("No tienes empresa"));
                  }
                })
            : Center(child: Text("No tienes empresas")),
      ),
      floatingActionButton: FloatingActionButton.extended(
          onPressed: () {
            Navigator.of(context).push(MaterialPageRoute(
                builder: (BuildContext) => pantallaAdminAgregar()));
          },
          label: Text("AGREGAR")),
    );
  }

  void _logout() async {
    var respuesta = await Api().logout("logout");
    var contenido = json.decode(respuesta.body);
    if (contenido['success']) {
      SharedPreferences logout = await SharedPreferences.getInstance();
      logout.remove("token");
      logout.remove("user");
      print("logout");
      //
      Navigator.of(context).pushReplacement(
          MaterialPageRoute(builder: (BuildContext) => pantallaRutas()));
    } else {
      print(contenido['mensaje']);
    }
  }
}

 


917 visitas

Sigue con el curso: Capítulo 33 – CRUD Insertar una Empresa

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Descargar ahora

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023