Untitled
unknown
csharp
2 years ago
4.4 kB
21
Indexable
using System.Diagnostics;
using Sdk.ConsoleApp;
using Sdk.ConsoleApp.Catalogos;
using Newtonsoft.Json;
namespace Eleben
{
public class Movimiento
{
public string documentoid { get; set; }
public string productoid { get; set; }
public string unidades { get; set; }
public string precio { get; set; }
public string referencia { get; set; }
}
public class Concepto
{
public string conceptoid { get; set; }
public string clienteid { get; set; }
public string serie { get; set; }
public string folio { get; set; }
public string fecha { get; set; }
public List<Movimiento> movimientos { get; set; }
}
public class Empresa
{
// 1. Inicializar el SDK
//Trace.WriteLine("Iniciando SDK.");
//ConexionSdk cs = new ConexionSdk();
public void DllElebenAbrirEmpresa()
{
Console.WriteLine("Abrir Empresa Dll Eleben.");
ConexionSdk.IniciarSdk("SUPERVISOR", "");
// 2. Abrir empresa
// Buscar empresas
Console.WriteLine("Buscando empresas.");
List<EmpresaSdk> empresaList = EmpresaSdk.BuscarEmpresas();
// Mostrar el listado de empresas
Console.WriteLine("Lista de empresas:");
foreach (EmpresaSdk empresaSdk in empresaList.OrderBy(e => e.Nombre))
Console.WriteLine($"Id:{empresaSdk.Id} Nombre:{empresaSdk.Nombre} Ruta:{empresaSdk.Ruta}");
Console.WriteLine();
Console.WriteLine("Selecciona una empresa del listado. Ingresa el Id:");
string empresaKey = Console.ReadLine();
int empresaId = int.Parse(empresaKey ?? throw new InvalidOperationException());
EmpresaSdk empresaSeleccionada = empresaList.First(e => e.Id == empresaId);
Console.WriteLine($"Abriendo empresa {empresaSeleccionada.Nombre}.");
ConexionSdk.AbrirEmpresa(empresaSeleccionada.Ruta);
Console.WriteLine();
// 3. Correr nuestros procesos
string json = @"[
{
""conceptoid"": ""1"",
""clienteid"": ""001"",
""serie"": ""a"",
""folio"": ""001"",
""fecha"": ""15/04/2024"",
""movimientos"": [
{
""documentoid"": ""1"",
""productoid"": ""150"",
""unidades"": ""100"",
""precio"": ""800"",
""referencia"": ""120""
}
]
}
// Aquí puedes añadir más objetos Concepto si es necesario
]";
// Deserializar el JSON en una lista de objetos Concepto
List<Concepto> conceptos = JsonConvert.DeserializeObject<List<Concepto>>(json);
// Iterar sobre los conceptos
foreach (var concepto in conceptos)
{
// Acceder a los datos del concepto
Console.WriteLine($"ConceptoID: {concepto.conceptoid}");
Console.WriteLine($"ClienteID: {concepto.clienteid}");
Console.WriteLine($"Serie: {concepto.serie}");
Console.WriteLine($"Folio: {concepto.folio}");
Console.WriteLine($"Fecha: {concepto.fecha}");
// Iterar sobre los movimientos del concepto
foreach (var movimiento in concepto.movimientos)
{
// Acceder a los datos del movimiento
Console.WriteLine($"DocumentoID: {movimiento.documentoid}");
Console.WriteLine($"ProductoID: {movimiento.productoid}");
Console.WriteLine($"Unidades: {movimiento.unidades}");
Console.WriteLine($"Precio: {movimiento.precio}");
Console.WriteLine($"Referencia: {movimiento.referencia}");
}
}
}
public void DllElebenCerrarEmpresa()
{
// 4. Cerrar empresa
ConexionSdk.CerrarEmpresa();
// 5. Terminar el SDK
ConexionSdk.TerminarSdk();
}
}
}
Editor is loading...
Leave a Comment