Files
rkm_educa_prof_app/lib/controllers/main_controllers.dart
2023-11-06 15:00:41 -03:00

81 lines
3.0 KiB
Dart

import 'dart:convert';
import 'package:gainer_crypto/crypto.dart';
import 'package:http/http.dart' as http;
class MainControllers{
encrypt(String senhaDigitada,String senhaUsuario) {
// Deixa e senha digitada em maiuscula
var senha = senhaDigitada.toUpperCase();
// Faz a criptografia da senha inserida
String senhaMD5 = grHashString(GRCryptoType.md5, senha);
// Retira o tipo (1, 2 ou 3) da senha do Usuário
int tipo = int.parse(senhaUsuario.substring(0, 1));
// Define a possição inicial da quebra da senha
int posicaoInicialMin = 0;
int posicaoInicialMax= 0;
int posicaoFinalMin = 0;
int posicaoFinalMax = 0;
// Pra cada tipo (1, 2 ou 3) define a posição inicial da quebra da senha
if(tipo == 1){
posicaoInicialMin = 0;
posicaoInicialMax = 16;
posicaoFinalMin = 16;
posicaoFinalMax = 32;
} else if(tipo == 2){
posicaoInicialMin = 16;
posicaoInicialMax = 32;
posicaoFinalMin = 0;
posicaoFinalMax = 16;
} else if(tipo == 3){
posicaoInicialMin = 0;
posicaoInicialMax = 1;
posicaoFinalMin = 31;
posicaoFinalMax = 32;
}
String inicio = senhaMD5.substring(posicaoInicialMin, posicaoInicialMax);
String fim = senhaMD5.substring(posicaoFinalMin, posicaoFinalMax);
// Faz a criptografia e concatena ela com sha1 e md5
String senhaCriptogradafa = tipo.toString() + '\$'+ grHashString(GRCryptoType.sha1, inicio + senha + fim);
// Retorna a senha criptografada
return senhaCriptogradafa;
}
// salvarLog(EstudanteModelo estudanteModelo,String TELA)async{
// final url = '${estudanteModelo.URL}/log';
// // print('dados');
// // print(widget.estudanteModelo.dados);
// final response = await http.post(
// Uri.parse(url),
// body:{
// 'DATA' : DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now()),
// 'TELA' : TELA,
// 'CD_USUARIO' : estudanteModelo.CD_USUARIO,
// 'NO_USUARIO': estudanteModelo.NO_USUARIO,
// 'CD_ALUNO': estudanteModelo.dados[estudanteModelo.nroAluno]['CD_ALUNO'],
// 'NO_ALUNO': estudanteModelo.dados[estudanteModelo.nroAluno]['NO_ALUNO'],
// 'CIDADE' : estudanteModelo.cidade
// }
// );
//
// print('response : ${response.body}');
// }
Future<int> pegarAno(String urlAPI,String cidade)async{
final url = '$urlAPI/mostrar_boletim?ANO=${DateTime.now().year}&CIDADE=$cidade';
print(url);
final response = await http.get(Uri.parse(url));
var map = json.decode(response.body);
String data = map[0]['DT_INICIAL'];
DateTime dataInicial = DateTime.parse(data);
// print(dataInicial);
// print(DateTime.now());
// print((DateTime.now().difference(dataInicial).inDays).toInt());
if(DateTime.now().difference(dataInicial).inDays>=0){
print('exibir ano atual');
return DateTime.now().year;
}else{
print('exibir ano anterior');
return DateTime.now().year-1;
}
}
}