Advertisement
Guest User

ta Asafe

a guest
Sep 10th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 5.64 KB | None | 0 0
  1. import 'package:app2park/module/person/models/enums/Gender.dart';
  2. import 'package:app2park/module/person/models/enums/Status.dart';
  3. import 'package:json_annotation/json_annotation.dart';
  4.  
  5. part 'Person.g.dart';
  6.  
  7. @JsonSerializable()
  8. class Person {
  9.   @JsonKey(name: "_id")
  10.   String id;
  11.   String name;
  12.   String last_name;
  13.   String doc;
  14.   DateTime birthday;
  15.   String cel;
  16.   Gender gender;
  17.   String email;
  18.   String pass;
  19.   Status status;
  20.  
  21.  
  22.   Person({this.id, this.name, this.last_name, this.doc, this.birthday, this.cel,
  23.       this.gender, this.email, this.pass, this.status = Status.Enable});
  24.  
  25.   factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
  26.  
  27.   Map<String, dynamic> toJson() => _$PersonToJson(this);
  28.  
  29.   @override
  30.   String toString() {
  31.     return 'Person{id: $id, name: $name, last_name: $last_name, doc: $doc, birthday: $birthday, cel: $cel, gender: $gender, email: $email, pass: $pass, status: $status}';
  32.   }
  33.  
  34.  
  35. }
  36.  
  37.  
  38. --------
  39.  
  40. import 'package:app2park/module/park/models/Park.dart';
  41. import 'package:app2park/module/person/models/Person.dart';
  42. import 'package:app2park/module/person/models/enums/Status.dart';
  43. import 'package:json_annotation/json_annotation.dart';
  44.  
  45. part 'ParkPerson.g.dart';
  46.  
  47. @JsonSerializable()
  48. class ParkPerson{
  49.   @JsonKey(name: "_id")
  50.   String id;
  51.   @JsonKey(nullable: true)
  52.   Person person;
  53.   @JsonKey(nullable: false)
  54.   List<Park> park;
  55.   Status status;
  56.  
  57.   ParkPerson({this.id, this.person, List<Park> park, this.status}): park = park ?? <Park>[];
  58.  
  59.   factory ParkPerson.fromJson(Map<String, dynamic> json) => _$ParkPersonFromJson(json);
  60.  
  61.   Map<String, dynamic> toJson() => _$ParkPersonToJson(this);
  62.  
  63.   @override
  64.   String toString() {
  65.     return 'ParkPerson{id: $id, person: $person, park: $park, status: $status}';
  66.   }
  67.  
  68.  
  69. }
  70.  
  71. ---------
  72.  
  73. import 'package:app2park/module/person/models/enums/Status.dart';
  74. import 'package:json_annotation/json_annotation.dart';
  75.  
  76. part 'Park.g.dart';
  77.  
  78. @JsonSerializable()
  79. class Park {
  80.   @JsonKey(name: "_id")
  81.   String id;
  82.   String name_park;
  83.   String business_name;
  84.   @JsonKey(nullable: true)
  85.   String doc;
  86.   String postal_code;
  87.   String street;
  88.   String number;
  89.   String city;
  90.   String state;
  91.   String country;
  92.   Status status;
  93.  
  94.  
  95.   Park({this.id, this.name_park, this.business_name, this.doc, this.postal_code,
  96.       this.street, this.number, this.city, this.state, this.country,
  97.       this.status});
  98.  
  99.   factory Park.fromJson(Map<String, dynamic> json) => _$ParkFromJson(json);
  100.  
  101.   Map<String, dynamic> toJson() => _$ParkToJson(this);
  102.  
  103.   @override
  104.   String toString() {
  105.     return 'Park{id: $id, name_park: $name_park, business_name: $business_name, doc: $doc, postal_code: $postal_code, street: $street, number: $number, city: $city, state: $state, country: $country, status: $status}';
  106.   }
  107.  
  108.  
  109. }
  110.  
  111. ---------------------
  112.  
  113. import 'package:app2park/module/config/Success.dart';
  114. import 'package:app2park/module/parkperson/models/ParkPerson.dart';
  115. import 'package:json_annotation/json_annotation.dart';
  116.  
  117. part 'ParkPersonResponse.g.dart';
  118.  
  119. @JsonSerializable()
  120. class ParkPersonResponse{
  121.   @JsonKey(ignore: true)
  122.   bool success;
  123.   @JsonKey(nullable: false)
  124.   List<ParkPerson> data;
  125.  
  126.  
  127.   ParkPersonResponse({this.success, List<ParkPerson> data}): data = data ?? <ParkPerson>[];
  128.  
  129.   factory ParkPersonResponse.fromJson(Map<String, dynamic> json) => _$ParkPersonResponseFromJson(json);
  130.  
  131.   Map<String, dynamic> toJson() => _$ParkPersonResponseToJson(this);
  132.  
  133.   @override
  134.   String toString() {
  135.     return 'ParkPersonResponse{success: $success, data: $data}';
  136.   }
  137.  
  138.  
  139. }
  140.  
  141. -------------------
  142.  
  143. import 'dart:async';
  144. import 'dart:convert';
  145. import 'dart:io';
  146. import 'package:app2park/module/park/models/Park.dart';
  147. import 'package:app2park/module/parkperson/models/ParkPerson.dart';
  148. import 'package:app2park/module/parkperson/models/ParkPersonResponse.dart';
  149. import 'package:connectivity/connectivity.dart';
  150. import 'package:http/http.dart' as http;
  151. import 'dart:convert' as convert;
  152.  
  153. const String baseUrl = "https://qaapi.app2park.com/api/parkPerson";
  154. const String baseUrlPersons = "https://qaapi.app2park.com/api/persons";
  155. const String baseUrlParks = "https://qaapi.app2park.com/api/parks";
  156.  
  157.  
  158. class ParkPersonService {
  159.  
  160.   static Future<ParkPersonResponse> getParksPersonId(String id) async {
  161.     try {
  162.       print(">id: $id");
  163.       final url = baseUrl + "/parksFromUser/5d71637a2ba8a500113fbc64";
  164.       print("> get: $url");
  165.  
  166.       final response = await http.get(url);
  167.  
  168.       final mapParkPersons = json.decode(response.body).cast<Map<String, dynamic>>();
  169.       final parkPersons = mapParkPersons.map<ParkPersonResponse>((json) => ParkPersonResponse.fromJson(json)).toList();
  170.  
  171.       return parkPersons;
  172.     } catch(e){
  173.       print(e);
  174.     }
  175.  
  176.   }
  177.  
  178.   static Future<ParkPerson> register(Park park,String id) async {
  179.     var connectivityResult = await (Connectivity().checkConnectivity());
  180.     print(connectivityResult);
  181.     if (connectivityResult == ConnectivityResult.none) {
  182.       throw SocketException("Internet indisponível.");
  183.     }
  184.  
  185.     final url = baseUrlParks + "/register/$id";
  186.     print("> post: $url");
  187.  
  188.     final headers = {"Content-Type":"application/json"};
  189.     final body = json.encode(park.toJson());
  190.     print("   > $body");
  191.  
  192.     final response = await http.post(url, headers: headers, body: body);
  193.  
  194.     String responseBody = response.body;
  195.     var decodeResponse = json.decode(responseBody);
  196.     print(decodeResponse);
  197.  
  198.     if(decodeResponse['success'] == true){
  199.       print(decodeResponse['data']);
  200.       return ParkPerson.fromJson(decodeResponse['data']);
  201.  
  202.     } else{
  203.       return null;
  204.     }
  205.   }
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement