import 'dart:convert';

import 'package:memorias_calculo_web/src/models/nueva_cuenta_model.dart';

import 'package:http/http.dart' as http;

class NuevaCuentaProvider{
  final String _url = "smart.solerpalau.mx";
  final NuevaCuentaModel _nuevaCuentaModel = NuevaCuentaModel(
    result: Result(
      movil: "",
      correo: "",
      nombre: "",
      idUsuario: "",
      token: "",
    ),
    response: false,
    message: "error"
  );

  Future<NuevaCuentaModel> registrarNuevaCuenta({
    required String nombre,
    required String pais,
    required String estado,
    required String ciudad,
    required String movil,
    required String correo,
    required String contra,
    required String apepat,
    required String contConf,
    String? apemat,
    String? distribuidor,
    String? razonSoc,
    String? numCli,
  }) async{
    final url = Uri.https(_url, 'PR/api/v1/matrizMemoriasCalculo/nuevaCuenta');
    final res = await http.post(url,
      body: {
        "NOMBRE" : nombre,
        "APEPAT" : apepat,
        if(apemat != null) "APEMAT" : apemat,
        "PAIS"   : pais,
        "ESTADO" : estado,
        "CIUDAD" : ciudad,
        "MOVIL"  : movil,
        "CORREO" : correo,
        "CONTRA" : contra,
        "CONTRACONF": contConf,
        if(distribuidor != null) "DISTRIBUIDOR" : distribuidor,
        if(razonSoc != null) "RAZONSOC" : razonSoc,
        if(numCli != null) "NUMCLI" : numCli,
      },
    );

    final decoded = jsonDecode(res.body);
    if(!decoded['response']){
      _nuevaCuentaModel.message = decoded['message'];
      return _nuevaCuentaModel;
    }else{
      final nuevaCuenta = NuevaCuentaModel.fromJson(decoded);
      return nuevaCuenta;
    }
  }
}