Created
September 21, 2021 14:25
-
-
Save guilhermecarvalhocarneiro/42ef21e530ab8e58f9f762770f66f7e1 to your computer and use it in GitHub Desktop.
Classe de model do cliente
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Model do objeto Cliente | |
/// | |
/// Os Métodos padrões gerados são: | |
/// toString() -> Sobrescreve o toString para trazer todos os atributos da classe. | |
/// fromMap() -> Realiza o parser do Json para o Model. | |
/// toMap() -> Realiza o parser do Model para Json. | |
/// | |
/// [Travar o arquivo] | |
/// Caso deseje "travar" o arquivo para não ser parseado novamente | |
/// pelo manage do Django adicione um # antes da palavra abaixo | |
/// FileLocked | |
/// | |
import 'dart:convert'; | |
import '../../../utils/util.dart'; | |
import '../../../utils/exception.dart'; | |
class ClienteModel { | |
String id; | |
String nextUrl; | |
String previousUrl; | |
bool enabled; | |
bool deleted; | |
DateTime? createdOn; | |
DateTime? updatedOn; | |
int djangoUser; | |
String cpf; | |
String nome; | |
String email; | |
String telefone; | |
String token; | |
String firebase; | |
String accessToken; | |
String idToken; | |
double latitude; | |
double longitude; | |
String endereco; | |
int usuarioPtr; | |
String enderecoRes; | |
String enderecoCom; | |
ClienteModel({ | |
this.id = '', | |
this.nextUrl = '', | |
this.previousUrl = '', | |
this.enabled = true, | |
this.deleted = false, | |
DateTime? createdOn, | |
DateTime? updatedOn, | |
this.djangoUser = 0, | |
this.cpf = '', | |
this.nome = '', | |
this.email = '', | |
this.telefone = '', | |
this.token = '', | |
this.firebase = '', | |
this.accessToken = '', | |
this.idToken = '', | |
this.latitude = 0.0, | |
this.longitude = 0.0, | |
this.endereco = '', | |
this.usuarioPtr = 0, | |
this.enderecoRes = '', | |
this.enderecoCom = '', | |
}); | |
factory ClienteModel.fromMap(Map<String, dynamic> map) { | |
try { | |
return ClienteModel( | |
id: map.containsKey('id') ? map['id'] ?? "" : "", | |
nextUrl: map.containsKey('nextUrl') ? map['nextUrl'] ?? "" : "", | |
previousUrl: map.containsKey('previousUrl') ? map['previousUrl'] ?? "" : "", | |
enabled: map.containsKey('enabled') ? map['enabled'] ?? true : true, | |
deleted: map.containsKey('deleted') ? map['deleted'] ?? false : false, | |
djangoUser: map.containsKey('django_user') ? map['django_user'] ?? "" : "", | |
cpf: map.containsKey('cpf') ? map['cpf'] ?? "" : "", | |
nome: map.containsKey('nome') ? map['nome'] ?? "" : "", | |
email: map.containsKey('email') ? map['email'] ?? "" : "", | |
telefone: map.containsKey('telefone') ? map['telefone'] ?? "" : "", | |
token: map.containsKey('token') ? map['token'] ?? "" : "", | |
firebase: map.containsKey('firebase') ? map['firebase'] ?? "" : "", | |
accessToken: map.containsKey('access_token') ? map['access_token'] ?? "" : "", | |
idToken: map.containsKey('id_token') ? map['id_token'] ?? "" : "", | |
latitude: map.containsKey('latitude') ? map['latitude'] ?? 0.0 : 0.0, | |
longitude: map.containsKey('longitude') ? map['longitude'] ?? 0.0 : 0.0, | |
endereco: map.containsKey('endereco') ? map['endereco'] ?? "" : "", | |
usuarioPtr: map.containsKey('usuario_ptr') ? map['usuario_ptr'] ?? "" : "", | |
enderecoRes: map.containsKey('endereco_res') ? map['endereco_res'] ?? "" : "", | |
enderecoCom: map.containsKey('endereco_com') ? map['endereco_com'] ?? "" : "", | |
); | |
} catch (error) { | |
ExceptionCustom.general("Ocorreu um erro no método fromMap do ClienteModel", error.toString()); | |
return ClienteModel(); | |
} | |
} | |
Map<String, dynamic>? toMap() { | |
try { | |
return { | |
"nextUrl": nextUrl, | |
"previousUrl": previousUrl, | |
'enabled': this.enabled, | |
'deleted': this.deleted, | |
'created_on': Util.stringDateTimeSplit(this.createdOn, returnType: "dt"), | |
'updated_on': Util.stringDateTimeSplit(this.updatedOn, returnType: "dt"), | |
'django_user': this.djangoUser, | |
'cpf': this.cpf, | |
'nome': this.nome, | |
'email': this.email, | |
'telefone': this.telefone, | |
'token': this.token, | |
'firebase': this.firebase, | |
'access_token': this.accessToken, | |
'id_token': this.idToken, | |
'latitude': this.latitude, | |
'longitude': this.longitude, | |
'endereco': this.endereco, | |
'usuario_ptr': this.usuarioPtr, | |
'endereco_res': this.enderecoRes, | |
'endereco_com': this.enderecoCom, | |
}; | |
} catch (error) { | |
ExceptionCustom.general("Ocorreu um erro no método toMap do ClienteModel", error.toString()); | |
return null; | |
} | |
} | |
String toJson() => json.encode(toMap()); | |
factory ClienteModel.fromJson(String source) => ClienteModel.fromMap(json.decode(source)); | |
/// Sobscrevendo o método toString para retornar todos os atributos da classe. | |
@override | |
String toString() { | |
return "CPF: $cpf\nNOME: $nome\nEMAIL: $email\nTELEFONE: $telefone\nACCESSTOKEN: $accessToken\nIDTOKEN: $idToken\nLATITUDE: $latitude\nLONGITUDE: $longitude\nENDERECO: $endereco\nUSUARIOPTR: $usuarioPtr\nENDERECORES: $enderecoRes\nENDERECOCOM: $enderecoCom\n"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment