Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. import 'package:cloud_firestore/cloud_firestore.dart';
  2. import 'package:flutter/material.dart';
  3.  
  4. class MyMainObject {
  5. String name;
  6. String surname;
  7. String birthday;
  8. String phoneNumber;
  9. int id;
  10. List<MyObject> r;
  11.  
  12. MyMainObject(
  13. {this.name,
  14. this.surname,
  15. this.birthday,
  16. this.phoneNumber,
  17. this.id,
  18. this.r});
  19.  
  20. factory MyMainObject.fromSnapshot(Map<String, dynamic> parsedSnap) {
  21. var parsedList = parsedSnap['r'] as List;
  22. List<MyObject> rList = parsedList.map((i) {
  23. MyObject.fromJson(i);
  24. }).toList();
  25. return MyMainObject(
  26. name: parsedSnap['name'] as String,
  27. surname: parsedSnap['surname'] as String,
  28. birthday: parsedSnap['birth'] as String,
  29. phoneNumber: parsedSnap['phoneNumber'] as String,
  30. id: parsedSnap['id'] as int,
  31. r: rList,
  32. );
  33. }
  34. }
  35.  
  36. class MyObject {
  37. String dateTime;
  38. String spec;
  39. List<String> laps;
  40. String totalLap;
  41.  
  42. MyObject({this.dateTime, this.spec});
  43.  
  44. factory MyObject.fromJson(Map<String, dynamic> parsedJson) {
  45. String _totalTempLap = parsedJson['totalLap'];
  46. List<String> _lapsTemp = new List<String>.from(parsedJson['laps']);
  47. MyObject r =
  48. Run(dateTime: parsedJson['dateTime'], spec: parsedJson['spec']);
  49. r.setLaps(_lapsTemp);
  50. r.setTotalLap(_totalTempLap);
  51. return r;
  52. }
  53. }
  54.  
  55. class RetrieveObject extends StatefulWidget {
  56. RetrieveObjectState createState() => new RetrieveObjectState();
  57. }
  58.  
  59. class RetrieveObjectState extends State<RetrieveObject> {
  60. MyMainObject myMainObject;
  61.  
  62. @override
  63. void didChangeDependencies() {
  64. super.didChangeDependencies();
  65. Firestore.instance
  66. ..collection('/maincollection')
  67. .document('maindocument')
  68. .collection('mainObjectCollection')
  69. .document['mainObjectName']
  70. .snapshots()
  71. .forEach((doc) {
  72. setState(() {
  73. myMainObject = MyMainObject.fromSnapshot(doc.data);
  74. });
  75. });
  76. }
  77.  
  78. @override
  79. Widget build(BuildContext context) {
  80. return Text('${myMainObject.name}');
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement