Good morning, it is simply not a problem or error, but rather it is to want to visualize a list within a class Data, using postman as a test, I show you the following classes used.
Class Datos.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebApiReportesEncuestasADENBPO.Contracts.AccesoDTO.Request
{
public class Datos
{
public class Zona {
private string codZona { get; set; }
private string descripcion { get; set; }
private int flkActivo { get; set; }
public Zona(string codZona, string descripcion, int flkActivo)
{
this.codZona = codZona;
this.descripcion = descripcion;
this.flkActivo = flkActivo;
}
public override string ToString()
{
return "Zona{" + "codZona=" + codZona
+ ", descripcion=" + descripcion
+ ", flkActivo=" + flkActivo + '}';
}
}
public string nombreUsuario { get; set; }
public string apellidoUsuario { get; set; }
public string codCargo { get; set; }
public string passUsuario { get; set; }
public List<Zona> codZona { get; set; }
public string tipoAdm { get; set; }
public string correo { get; set; }
public Datos(string nombreUsuario, string apellidoUsuario, string codCargo, string passUsuario, List<Zona> codZona, string tipoAdm, string correo)
{
this.nombreUsuario = nombreUsuario;
this.apellidoUsuario = apellidoUsuario;
this.codCargo = codCargo;
this.passUsuario = passUsuario;
this.codZona = codZona;
this.tipoAdm = tipoAdm;
this.correo = correo;
}
public override string ToString()
{
return "Datos{" + "nombreUsuario=" + nombreUsuario
+ ", apellidoUsuario=" + apellidoUsuario
+ ", codCargo=" + codCargo
+ ", passUsuario=" + passUsuario
+ ", codZona=" + codZona
+ ", tipoAdm=" + tipoAdm
+ ", correo=" + correo + '}';
}
}
}
AccessService.cs Class
public class AccesoService : IAccesoService
{
private readonly IAccesoRepository _accesoRepository;
private readonly Validacion _validar;
private readonly Encriptador _encriptador;
private readonly IMClienteZonaRepository _mClientesZonaRepository;
public AccesoService(IAccesoRepository accesoRepository, Validacion validar, Encriptador encriptador, IMClienteZonaRepository mClientesZonaRepository)
{
_accesoRepository = accesoRepository;
_validar = validar;
_encriptador = encriptador;
_mClientesZonaRepository = mClientesZonaRepository;
}
public async Task<Datos> obtener_usuario(Usuario usuario)
{
MClientesUsuario clientesUsuario = null;
try
{
string idUsuario = usuario.codUsuario;
string idUsuarioDesencriptado = _encriptador.Decrypt(idUsuario, "");
if (idUsuarioDesencriptado == null)
{
throw new ExceptionAdenbpo(new Mensaje("", "No existe el usuario", AuxMessageException.TIPO_MENSAJE_ERROR));
}
clientesUsuario = await _accesoRepository.obtener_usuario_x_id(idUsuarioDesencriptado);
string nombreUsuario = clientesUsuario.NOMBRES;
string apellidoUsuario = clientesUsuario.APELLIDOS;
string codCargoUsuario = clientesUsuario.CODCARGO;
string contraseniaUsuario = clientesUsuario.PASSUSUARIO;
string codZonaUsuario = clientesUsuario.CODZONA;
string tipoAdmUsuario = clientesUsuario.TIPOADM;
string correoUsuario = clientesUsuario.CORREO;
Datos datos = null;
List<Datos.Zona> zonas = new List<Datos.Zona>();
if (codCargoUsuario == AuxCargo.COD_CARGO_GERENTE_ZONAL_CREDITOS || codCargoUsuario == AuxCargo.COD_CARGO_ADMINISTRADOR)
{
List<MClientesZona> listClientesZonas = await _mClientesZonaRepository.obtener_zona_x_id(codZonaUsuario);
foreach (MClientesZona clienteZona in listClientesZonas)
{
string codclienteZona = clienteZona.CODZONA;
string descripcionZona = clienteZona.DESCRIPCION;
int flkActivoCliente = clienteZona.FLKACTIVO;
zonas.Add(new Datos.Zona(codclienteZona, descripcionZona, flkActivoCliente));
}
}
if (clientesUsuario == null)
{
throw new ExceptionAdenbpo(new Mensaje("", "Lo siento, no se pudo obtener al usuario", AuxMessageException.TIPO_MENSAJE_ERROR));
}
//OBTENER POR LISTA LA ZONA DE CADA ZONAL
datos = new Datos(
nombreUsuario,
apellidoUsuario,
codCargoUsuario,
contraseniaUsuario,
zonas,
tipoAdmUsuario,
correoUsuario
);
return datos;
} catch(Exception e)
{
throw e;
}
}
}
The response I receive using Postman.
As the answer is shown I am trying to show information that contains that list, but I can not find solutions.
Greetings.