Advertisement
danielbrito1987

Untitled

Sep 11th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. import 'package:flutter/material.dart';
  2. import 'package:http/http.dart' as http;
  3. import 'dart:async';
  4. import 'dart:convert';
  5. import 'classes/ExtratoCooperado.dart';
  6. import 'package:shared_preferences/shared_preferences.dart';
  7. import 'package:flutter_string_encryption/flutter_string_encryption.dart';
  8.  
  9. void main(){
  10. runApp(MaterialApp(
  11. home: ExtratoPage(),
  12. ));
  13. }
  14.  
  15. class ExtratoPage extends StatefulWidget {
  16. static String tag = "extrato_page";
  17.  
  18. @override
  19. _ExtratoPageState createState() => _ExtratoPageState();
  20. }
  21.  
  22. class _ExtratoPageState extends State<ExtratoPage> {
  23. List<ExtratoCooperadoDetalhe> _lista = List();
  24. String _textoRefresh = "Atualizado em " + formataData(DateTime.now());
  25.  
  26. static String formataData(DateTime data) {
  27. String dia = "";
  28. String mes = "";
  29. String hora = "";
  30. String min = "";
  31. String seg = "";
  32.  
  33. if(data.day < 10) {
  34. dia = '0' + data.day.toString();
  35. } else {
  36. dia = data.day.toString();
  37. }
  38.  
  39. if(data.month < 10) {
  40. mes = '0' + data.month.toString();
  41. } else {
  42. mes = data.month.toString();
  43. }
  44.  
  45. if(data.hour < 10) {
  46. hora = "0" + data.hour.toString();
  47. } else {
  48. hora = data.hour.toString();
  49. }
  50.  
  51. if(data.minute < 10) {
  52. min = "0" + data.minute.toString();
  53. } else {
  54. min = data.minute.toString();
  55. }
  56.  
  57. if(data.second < 10) {
  58. seg = "0" + data.second.toString();
  59. } else {
  60. seg = data.second.toString();
  61. }
  62.  
  63. return dia + '/' + mes + '/' + data.year.toString() + " às " + hora + ':' + min + ':' + seg;
  64. }
  65.  
  66. Future<List<ExtratoCooperadoDetalhe>> _getData() async{
  67. List<ExtratoCooperadoDetalhe> listaExtrato = List();
  68. Map<String, dynamic> myMap = Map();
  69. SharedPreferences prefs = await SharedPreferences.getInstance();
  70.  
  71. String usuario = prefs.get("user");
  72. String senha = prefs.get("pass");
  73. String key = prefs.get("key");
  74.  
  75. final cryptor = new PlatformStringCryptor();
  76. final String encrypted = await cryptor.decrypt(senha, key);
  77.  
  78. Map dados = {"user": usuario, "password": encrypted, "codEmpresa": "1"};
  79. String ldados = json.encode(dados);
  80.  
  81. http.Response response = await http.post('http://coocafe.com.br/vSite/views/soap/app_cooperado/extratoCooperado.php', body: ldados);
  82.  
  83. Map<String, dynamic> retorno = json.decode(response.body);
  84.  
  85. var listaJson = retorno['propriedadeCooperado']['lotesDisponivel'];
  86.  
  87. for(var itens in listaJson){
  88. ExtratoCooperadoDetalhe ext = ExtratoCooperadoDetalhe(
  89. itens['codLot'],
  90. itens['codSaf'],
  91. itens['qtdDef'],
  92. itens['desCor'],
  93. itens['perCat'],
  94. itens['perUmi'],
  95. itens['desPne'],
  96. itens['qtdSac'],
  97. itens['qtdPes'],
  98. itens['salSac'],
  99. itens['SalPes']
  100. );
  101.  
  102. listaExtrato.add(ext);
  103. }
  104.  
  105. return listaExtrato;
  106. }
  107.  
  108. @override
  109. Widget build(BuildContext context) {
  110. return Scaffold(
  111. appBar: AppBar(
  112. title: Text("Extrato do Cooperado"),
  113. centerTitle: true,
  114. actions: <Widget>[
  115. IconButton(
  116. icon: Icon(Icons.refresh),
  117. onPressed: () {
  118. _getData().then((data){
  119. setState(() {
  120. _lista = data;
  121. });
  122. });
  123.  
  124. setState(() {
  125. _textoRefresh = "Atualizado em " + formataData(DateTime.now());
  126. });
  127. },
  128. )
  129. ],
  130. ),
  131. body: Column(
  132. children: <Widget>[
  133. Padding(
  134. padding: EdgeInsets.only(top: 10.0),
  135. child: Center(
  136. child: Text(_textoRefresh),
  137. ),
  138. ),
  139. Expanded(
  140. child: ListView.builder(
  141. padding: EdgeInsets.only(top: 10.0),
  142. itemCount: _lista.length,
  143. itemBuilder: (context, index){
  144. ListTile(
  145. title: Text(_lista[index].lote),
  146. );
  147. },
  148. ),
  149. ),
  150. ],
  151. ),
  152. );
  153. }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement