none
iTextSharp en Business Logic RRS feed

  • Pregunta

  • Hola.

    Tengo un proyecto separado en una librería de clasess BusinessLogicLayer que a su vez llama a otra DataAccessLayer

    Pero en la capa de negocio me gustaría tener una función de negocio para generar PDF de facturas.

    Estoy utilizando iTextSharp para el manejo de documentos pdf y la función que he creado es:

    public static Document GenerarFacturaPDF(int facturaId)
    {
    ...
     Document documento = new Document(PageSize.A4);
    ...
    return documento;
    }

    ¿Este tipo de funciones se crea en lógica de negocio, o se debe de hacer en la de PRESENTACIÓN?,  a esta función deberé de llamarla desde 2 aplicaciones web que usan la misma capa de negocio.

    En la capa de negocio lo que hago es que con el documento recibido escribo en disco ya el PDF:

                    PdfWriter writer = PdfWriter.GetInstance(documento, new FileStream(rutaPDF, FileMode.Create));
                    writer.Close();
    ¿Este tipo de funciones está bien tenerlas en la capa de negocio?

    Gracias.

    lunes, 19 de diciembre de 2016 10:05

Respuestas

  • hola

    >>¿Este tipo de funciones se crea en lógica de negocio, o se debe de hacer en la de PRESENTACIÓN?,

    podrias generarlo desde la capa de negocio no lo veo mal

    lo que si el documento resultante seguramente deba llegar a la UI para poder enviar este en el Response para su descarga

    >>¿Este tipo de funciones está bien tenerlas en la capa de negocio?

    si es correcto, aunque recomendaria abstraerlo en alguna clase concreta para poder mockear la implementacion y asi poder generar test de la clase de negocio sin depender la una libreria externa

    no se si en tu desarrollo realizas test del codigo? sino lo haces entonces no aplica esto ultimo que comento

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 19 de diciembre de 2016 13:22