Inicio » Cursos » Flutter y Laravel App de Turismo

Curso Flutter y Laravel App de Turismo

Lección: 32 ➜ Panel Administración Empresa

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

Lección 32: Panel Administración Empresa

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']);
    }
  }
}

 


867 visitas

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