Giter Site home page Giter Site logo

jsgonzalez / arsoftware.contpaqi.comercial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andresramos/arsoftware.contpaqi.comercial

0.0 0.0 0.0 25.92 MB

Colección de proyectos que te permitirá trabajar y hacer interfaz con el sistema de CONTPAQi Comercial Premium para crear, modificar, y consultar catálogos y documentos respetando las reglas de negocio requeridas por el sistema.

C# 100.00%

arsoftware.contpaqi.comercial's Introduction

🧰 AR Software Contpaqi Comercial

AR Software Contpaqi Comercial es una colección de proyectos que te permitirá trabajar y hacer interfaz con el sistema de CONTPAQi Comercial Premium para crear, modificar, y consultar catálogos y documentos respetando las reglas de negocio requeridas por el sistema.

*Los proyectos del SDK tambien son comptabiles con los sistemas de Factura Electronica y Adminpaq

👀 Que encontraras en este repositorio?

En este repositorio podrás encontrar proyectos para trabajar programáticamente con el sistema de CONTPAQi Comercial Premium utilizando el SDK o trabajando directamente con las bases de datos de SQL.

Paquete NuGet Descripcion Documentacion
ARSoftware.Contpaqi.Comercial.Sdk Nuget Este proyecto es un wrapper del SDK con todas las funciones, estructuras, y constantes del SDK ya declaradas correctamente y listas para mandar a invocar en tu desarrollo.
ARSoftware.Contpaqi.Comercial.Sdk.Extras Nuget Este proyecto expone diferentes servicios que encapsulan las diferentes funcionalidades del SDK, como la de iniciar sesión, abrir empresas, consultar catálogos, crear y editar catálogos, crear documentos, timbrar y cancelar documentos, y mucho más.
ARSoftware.Contpaqi.Comercial.Sdk.Abstractions Nuget Este proyecto inlcluye los modelos e interfaces utlizados por el SDK y SQL
ARSoftware.Contpaqi.Comercial.Sql Nuget Este proyecto tiene declarados los DbContexts de Entity Framework para poder consultar las bases de datos de SQL.
ARSoftware.Contpaqi.Comercial.Sql.Models Nuget Este proyecto tiene declaradas las clases de los esquemas de las bases de datos de SQL de CONTPAQi Comercial

👨‍💻 Consultoria

Si lo que buscas es contratar a un desarrollador para crear tu aplicación o interfaz para trabajar con los sistema de CONTPAQi, puedes contactarme directamente desde mi página web.

Me especializo en el desarrollo de aplicaciones e interfaces para los sistemas de CONTPAQi y me gustaría agendar una reunión contigo para platicar más sobre tus necesidades y requerimientos.

Ejemplos

Registrar Servicios

IHost host = Host.CreateDefaultBuilder()
    .ConfigureServices(services =>
    {
        // Agregar servicios del SDK
        services.AddContpaqiComercialSdkServices();
    })
    .Build();

IServiceProvider services = host.Services;

var sdkSesionService = services.GetRequiredService<IComercialSdkSesionService>();

Crear y timbrar una factura haciendo uso de los repositorios y servicios en ARSoftware.Contpaqi.Comercial.Sdk.Extras.

// Iniciar sesion
var sdkSesionService = services.GetRequiredService<IComercialSdkSesionService>();
sdkSesionService.IniciarSesionSdk("SUPERVISOR", "");

// Buscar empresa
var empresaRepository = services.GetRequiredService<IEmpresaRepository<EmpresaDto>>();
EmpresaDto empresa = empresaRepository.BuscarPorNombre("EMPRESA PRUEBA") ?? throw new Exception("No se encontro la empresa.");

// Abrir empresa
sdkSesionService.AbrirEmpresa(empresa.CRUTADATOS);

// Buscar siguiente folio del concepto
var _documentoService = services.GetRequiredService<IDocumentoService>();
tLlaveDoc llaveDocumento = _documentoService.BuscarSiguienteSerieYFolio("PRUEBAFACTURA");

// Crear estructura de una factura
var documento = new Documento
{
    Concepto = new ConceptoDocumento { Codigo = "PRUEBAFACTURA" },
    Serie = llaveDocumento.aSerie,
    Folio = (int)llaveDocumento.aFolio,
    Fecha = DateTime.Today,
    Cliente = new ClienteProveedor { Codigo = "PRUEBA" },
    Referencia = "Referencia",
    FormaPago = FormaPago._03,
    MetodoPago = MetodoPago.PPD,
    Observaciones = "Observaciones",
    Moneda = Moneda.PesoMexicano,
    TipoCambio = 1,
    Agente = new Agente { Codigo = "PRUEBA" }
};

// Agregar datos extra
documento.DatosExtra.Add(nameof(admDocumentos.CTEXTOEXTRA1), "Texto Extra 1");
documento.DatosExtra.Add(nameof(admDocumentos.CTEXTOEXTRA2), "Texto Extra 2");

// Crear estructura de un movimiento
var movimiento = new Movimiento
{
    Producto = new Producto { Codigo = "PRUEBA" },
    Almacen = new Almacen { Codigo = "1" },
    Unidades = 1,
    Precio = 100,
    Referencia = "Referencia",
    Observaciones = "Observaciones"
};

// Agregar datos extra del movimiento
movimiento.DatosExtra.Add(nameof(admMovimientos.CTEXTOEXTRA1), "Texto Extra 1");

// Agregar movimiento a la factura
documento.Movimientos.Add(movimiento);

// Crear factura
int nuevoDocumentoId = _documentoService.Crear(documento);

// Crear movimientos
var _movimientoService = services.GetRequiredService<IMovimientoService>();
foreach (Movimiento mov in documento.Movimientos) _movimientoService.Crear(nuevoDocumentoId, mov);

// Timbrar factura
_documentoService.Timbrar(llaveDocumento, "12345678a");

// Generar XML de la factura
_documentoService.GenerarDocumentoDigital(llaveDocumento, TipoArchivoDigital.Xml);

// Generar PDF de la factura
_documentoService.GenerarDocumentoDigital(llaveDocumento, TipoArchivoDigital.Pdf,
    @"\\AR-SERVER\Compac\Empresas\Reportes\Formatos Digitales\reportes_Servidor\COMERCIAL\Facturav40.rdl");

// Cerrar empresa
sdkSesionService.CerrarEmpresa();

// Terminar sesion
sdkSesionService.TerminarSesionSdk();

Consultar Catalogos

// Buscar productos de tipo admProductos
// admProductos es la estructura de la tabla de productos de Contpaqi Comercial y tiene todas las columnas de la tabla.
var productoRepository = provider.GetRequiredService<IProductoRepository<admProductos>>();
List<admProductos> productos = productoRepository.TraerTodo();

foreach (admProductos admProductos in productos)
{
    int prodcutoId = admProductos.CIDPRODUCTO;
    string productoCodigo = admProductos.CCODIGOPRODUCTO;
}

// Buscar productos de tipo ProductoDto
// ProductoDto es una estructura simplificada de la tabla de productos de Contpaqi Comercial y solo tiene las columnas mas utilizadas.
// Mientras las propiedades tengan el mismo nombre que la columna de la tabla, se pueden mapear automaticamente.
var productoDtoRepository = provider.GetRequiredService<IProductoRepository<ProductoDto>>();
List<ProductoDto> productosDto = productoDtoRepository.TraerTodo();

foreach (ProductoDto productoDto in productosDto)
{
    int prodcutoId = productoDto.CIDPRODUCTO;
    string productoCodigo = productoDto.CCODIGOPRODUCTO;
}

Licencia

Este proyecto no es Open Source. Si deseas utilizarlo en tu organizacion, debes adquirir una licencia de uso.

El costo de la licencia anual es de $300 dlls por RFC.

Para informacion de como adquirir una licencia de uso puedes contactarme en mi pagina web.

❤️ Como me puedes ayudar?

⭐ Dame una estrella

Si estas utilizando alguno de los proyectos dentro de este repositorio por favor dale una estrella. Te lo agradeceria! 🙏

arsoftware.contpaqi.comercial's People

Contributors

andresramos avatar erickcastellanos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.