Skip to content

Instantly share code, notes, and snippets.

@guilhermecarvalhocarneiro
Created September 21, 2021 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guilhermecarvalhocarneiro/42ef21e530ab8e58f9f762770f66f7e1 to your computer and use it in GitHub Desktop.
Save guilhermecarvalhocarneiro/42ef21e530ab8e58f9f762770f66f7e1 to your computer and use it in GitHub Desktop.
Classe de model do cliente
/// 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