Ayuda SAP

Notificaciones de SAP por medio de DI API

Buen día a toda la comunidad!

Estoy avanzando en el proyecto de la creación de un portal donde los clientes de la empresa puedan ingresar y generar automáticamente sus pedidos (se convertirán en cotizaciónes para ser autorizadas por el dpto. de ventas).

Ya tengo un gran avance, pero me atoré en el apartado de enviar notificaciones internas (SAP) y mediante correo. Tengo las siguientes funciones:

    private void EnviarCorreo(string Cotizacion, string Cliente)
    {
        try
        {
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("no-reply@..", "Cotizaciones SAP");
            mail.To.Add(new MailAddress("l.v@.."));

            SmtpClient client = new SmtpClient();
            client.Port = #puerto;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.UseDefaultCredentials = false;
            client.Host = "..";
            mail.Subject = "Se agregó una cotización por medio del portal";
            mail.IsBodyHtml = true;
            mail.Body = "Se agregó una nueva cotización<br/><br/>Número: <strong>" + Cotizacion + "</strong><br/>Cliente: <strong>" + Cliente + "</strong><br><br>LV";
            client.Send(mail);
        }
        catch (Exception e)
        {
            Console.WriteLine("No se pudo crear el email\n\n" + e.ToString());
        }
    }

    private void MandarMensaje(string sKey, string Cliente)
    {
        //DATOS DEL ENVIO DE MENSAJE
        SAPbobsCOM.Message oMessage = null;
        SAPbobsCOM.MessageDataColumns pMessageDataColumns = null;
        SAPbobsCOM.MessageDataColumn pMessageDataColumn = null;
        SAPbobsCOM.MessageDataLines oLines = null;
        SAPbobsCOM.MessageDataLine oLine = null;
        SAPbobsCOM.RecipientCollection oRecipientCollection = null;
        SAPbobsCOM.CompanyService oCmpSrv;
        SAPbobsCOM.MessagesService oMessageService;

        try
        {
            oCmpSrv = oCompany.GetCompanyService();
            //get msg service
            oMessageService = (SAPbobsCOM.MessagesService)oCmpSrv.GetBusinessService(SAPbobsCOM.ServiceTypes.MessagesService);
            oMessage = ((SAPbobsCOM.Message)(oMessageService.GetDataInterface(SAPbobsCOM.MessagesServiceDataInterfaces.msdiMessage)));

            //Asunto y texto de la notificación interna de SAP
            oMessage.Subject = "Se agregó una nueva cotización | " + sKey;
            oMessage.Text = "Se agregó la cotización número: " + sKey + ", del Cliente: " + Cliente + "\n\nPara ver los detalles oprime la flecha amarrilla debajo..";

            oRecipientCollection = oMessage.RecipientCollection;
            oRecipientCollection.Add();
            oRecipientCollection.Item(0).SendInternal = SAPbobsCOM.BoYesNoEnum.tYES;
            oRecipientCollection.Item(0).UserCode = "user";
            pMessageDataColumns = oMessage.MessageDataColumns;
            pMessageDataColumn = pMessageDataColumns.Add();

            //Nombre de columna en el panel inferior de la notificación interna de SAP
            pMessageDataColumn.ColumnName = "Detalles";

            pMessageDataColumn.Link = SAPbobsCOM.BoYesNoEnum.tYES;
            //get lines
            oLines = pMessageDataColumn.MessageDataLines;
            //add new line
            oLine = oLines.Add();

            //Texto de la línea con el enlace al documento
            oLine.Value = "Enlace a Cotización: " + sKey;
            //Número de objeto cotización = 23
            oLine.Object = "23";
            //set the bo code
            oLine.ObjectKey = sKey;
            //Enviar mensaje
            oMessageService.SendMessage(oMessage);
        }
        catch (Exception ex)
        {
            MsgBox("Error al enviar mensaje " + ex.Message, this.Page, this);
        }
    }

Hasta aquí todo bien, tanto la función de enviar notificación interna como enviar el correo funcionan… pero con puro texto, no he logrado encontrar la forma de adjuntar el documento recién creado en formato PDF como SAP lo permite nativamente al querer enviar una notificación desde la interfaz.

Espero que me puedan orientar con ésto, ya que de conseguirlo estaría a casi nada de terminar el proyecto.

Como siempre agradezco de antemano su apoyo y cualquier ejemplo o documento que sea de ayuda.

Buenos dias @l.villarreal te hace falta en tu objeto “mail” Attachments
ejemplo:

e_mail.Attachments.Add(New Attachment(RutaDelArchivo))

Y creo que para que te permita adjuntar sin problemas y sin texto debes quitar el “IsBodyHtml” a False.
Yo lo tengo de esa manera y me permite adjuntar cualquier archivo.
tu proyecto y el que tengo tiene la misma funcion. Yo lo tengo de esta manera.

Buenas tardes @DavidSDK gracias por tu respuesta.

Si de hecho el body html lo había puesto en true para poner letras negritas y darle un poco de formato, pero lo desactivaré porque prefiero que llegue con el documento jeje.

Lo que me pones de ejemplo es para agregar un archivo con la ruta física, verdad?

Y si quisiera que el adjunto fuera la cotización o el pedido recién creado? Tengo entendido que eso no se guarda en un directorio. No sé si se te haya presentado el mismo caso.

Disculpa las molestias y gracias por tu paciencia.