Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.51 KB | None | 0 0
  1. import 'package:flutter/widgets.dart';
  2.  
  3. class User with ChangeNotifier {
  4.   String _name;
  5.   String _surname;
  6.   String _email;
  7.   String _imgUrl;
  8.   Map<String, bool> _userRole;
  9.  
  10.   User.istance();
  11.   User(this._name, this._surname, this._email, this._imgUrl, this._userRole);
  12.   set userRole(String value) {
  13.     switch (value) {
  14.       case "person":
  15.         this._userRole = {"person": true, "school": false, "company": false};
  16.         notifyListeners();
  17.         break;
  18.       case "school":
  19.         this._userRole = {"person": false, "school": true, "company": false};
  20.         notifyListeners();
  21.         break;
  22.       case "company":
  23.         this._userRole = {"person": true, "school": false, "company": true};
  24.         notifyListeners();
  25.         break;
  26.       default:
  27.     }
  28.   }
  29.  
  30.   set name(String name) {
  31.     _name = name;
  32.     notifyListeners();
  33.   }
  34.  
  35.   set surname(String surname) {
  36.     _surname = surname;
  37.     notifyListeners();
  38.   }
  39.  
  40.   set email(String email) {
  41.     _email = email;
  42.     notifyListeners();
  43.   }
  44.  
  45.   set imgUrl(String imgUrl) {
  46.     _imgUrl = imgUrl;
  47.     notifyListeners();
  48.   }
  49.  
  50.   User.fromJson(Map<String, dynamic> json)
  51.       : _name = json['name'],
  52.         _surname = json['surname'],
  53.         _email = json['email'],
  54.         _imgUrl = json['imgUrl'],
  55.         _userRole = json['userRole'];
  56.  
  57.   Map<String, dynamic> toJson() => {
  58.         'name': _name,
  59.         'surname': _surname,
  60.         'email': _email,
  61.         'imgUrl': _imgUrl,
  62.         'userRole': _userRole
  63.       };
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement