D
diegodamage82
Guest
Hi.
I have the following response from Sql stored procedure
I get this json
[
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 1,
"nombre": "Visa"
}
]
},
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 2,
"nombre": "Master Card"
}
]
},
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 3,
"nombre": "American Express"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 1,
"nombre": "Efecty"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 2,
"nombre": "Baloto"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 3,
"nombre": "Banco de Bogota"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 4,
"nombre": "Bancolombia"
}
]
},
{
"idMedioDePago": 8,
"medioDePago": "Tarjeta Debito (PSE)"
}
]
I get the upper json with the next code in c#:
var mediosdepago = _context.RespuestaMedioDePagoDB.FromSqlRaw("EXECUTE Sp_ObtenerMedioDePago @IdCanalDePago={0}, @IdPais={1}", idCanalDePago, idPais).ToList();
List<RespuestaMedioDePago> listRespuestaMedioDePago = new List<RespuestaMedioDePago>();
mediosdepago.ForEach(o =>
{
RespuestaMedioDePago objRespuestaMedioDePago = new RespuestaMedioDePago();
objRespuestaMedioDePago.idMedioDePago = o.IdMedioDePago;
objRespuestaMedioDePago.medioDePago = o.MedioDePago;
if (o.IdFranquicia != null)
{
Franquicia_MedioDePago objFranquicia_MedioDePago = new Franquicia_MedioDePago();
objFranquicia_MedioDePago.id = o.IdFranquicia;
objFranquicia_MedioDePago.nombre = o.Franquicia;
objRespuestaMedioDePago.Franquicia.Add(objFranquicia_MedioDePago);
}
if (o.IdMedioDePagoPresencial != null)
{
MedioDePagoPresencial_MedioDePago objMedioDePagoPresencial_MedioDePago = new MedioDePagoPresencial_MedioDePago();
objMedioDePagoPresencial_MedioDePago.id = o.IdMedioDePagoPresencial;
objMedioDePagoPresencial_MedioDePago.nombre = o.MedioDePagoPresencial;
objRespuestaMedioDePago.MedioDePagoPresencial.Add(objMedioDePagoPresencial_MedioDePago);
}
listRespuestaMedioDePago.Add(objRespuestaMedioDePago);
});
return JsonConvert.SerializeObject(listRespuestaMedioDePago, Formatting.Indented);
But I need the next Json:
[
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 1,
"nombre": "Visa"
},
{
"id": 2,
"nombre": "Master Card"
},
{
"id": 3,
"nombre": "American Express"
}
]
}
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 1,
"nombre": "Efecty"
},
{
"id": 2,
"nombre": "Baloto"
},
{
"id": 3,
"nombre": "Banco de Bogota"
},
{
"id": 4,
"nombre": "Bancolombia"
}
]
},
{
"idMedioDePago": 8,
"medioDePago": "Tarjeta Debito (PSE)"
}
]
How can I do the conversion to unify the childs items? What could I do to fix the C# code?
Thanks in advance.
Continue reading...
I have the following response from Sql stored procedure
I get this json
[
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 1,
"nombre": "Visa"
}
]
},
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 2,
"nombre": "Master Card"
}
]
},
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 3,
"nombre": "American Express"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 1,
"nombre": "Efecty"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 2,
"nombre": "Baloto"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 3,
"nombre": "Banco de Bogota"
}
]
},
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 4,
"nombre": "Bancolombia"
}
]
},
{
"idMedioDePago": 8,
"medioDePago": "Tarjeta Debito (PSE)"
}
]
I get the upper json with the next code in c#:
var mediosdepago = _context.RespuestaMedioDePagoDB.FromSqlRaw("EXECUTE Sp_ObtenerMedioDePago @IdCanalDePago={0}, @IdPais={1}", idCanalDePago, idPais).ToList();
List<RespuestaMedioDePago> listRespuestaMedioDePago = new List<RespuestaMedioDePago>();
mediosdepago.ForEach(o =>
{
RespuestaMedioDePago objRespuestaMedioDePago = new RespuestaMedioDePago();
objRespuestaMedioDePago.idMedioDePago = o.IdMedioDePago;
objRespuestaMedioDePago.medioDePago = o.MedioDePago;
if (o.IdFranquicia != null)
{
Franquicia_MedioDePago objFranquicia_MedioDePago = new Franquicia_MedioDePago();
objFranquicia_MedioDePago.id = o.IdFranquicia;
objFranquicia_MedioDePago.nombre = o.Franquicia;
objRespuestaMedioDePago.Franquicia.Add(objFranquicia_MedioDePago);
}
if (o.IdMedioDePagoPresencial != null)
{
MedioDePagoPresencial_MedioDePago objMedioDePagoPresencial_MedioDePago = new MedioDePagoPresencial_MedioDePago();
objMedioDePagoPresencial_MedioDePago.id = o.IdMedioDePagoPresencial;
objMedioDePagoPresencial_MedioDePago.nombre = o.MedioDePagoPresencial;
objRespuestaMedioDePago.MedioDePagoPresencial.Add(objMedioDePagoPresencial_MedioDePago);
}
listRespuestaMedioDePago.Add(objRespuestaMedioDePago);
});
return JsonConvert.SerializeObject(listRespuestaMedioDePago, Formatting.Indented);
But I need the next Json:
[
{
"idMedioDePago": 6,
"medioDePago": "Tarjeta Credito (PayU)",
"Franquicia": [
{
"id": 1,
"nombre": "Visa"
},
{
"id": 2,
"nombre": "Master Card"
},
{
"id": 3,
"nombre": "American Express"
}
]
}
{
"idMedioDePago": 7,
"medioDePago": "Pago Presencial",
"MedioDePagoPresencial": [
{
"id": 1,
"nombre": "Efecty"
},
{
"id": 2,
"nombre": "Baloto"
},
{
"id": 3,
"nombre": "Banco de Bogota"
},
{
"id": 4,
"nombre": "Bancolombia"
}
]
},
{
"idMedioDePago": 8,
"medioDePago": "Tarjeta Debito (PSE)"
}
]
How can I do the conversion to unify the childs items? What could I do to fix the C# code?
Thanks in advance.
Continue reading...