se quitó el documento del correo y se agrego un formato en html similar al documento

This commit is contained in:
Antonio Gonzalez
2020-06-25 19:14:58 -07:00
parent c4c6d2a785
commit c7b8f02063
5 changed files with 238 additions and 89 deletions

View File

@@ -730,7 +730,7 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
} }
} }
private byte[] DocumentoEntregaInterna() private string DocumentoEntregaInterna()
{ {
ClsVentas ObjVentas = new ClsVentas(); ClsVentas ObjVentas = new ClsVentas();
if (ObjVentas.GetVenta(this.CveVenta, UsuarioActual.CveEmpresa)) if (ObjVentas.GetVenta(this.CveVenta, UsuarioActual.CveEmpresa))
@@ -742,24 +742,62 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
string Guia = TxtGuia.Text; string Guia = TxtGuia.Text;
string Rastreo = TxtRastreo.Text; string Rastreo = TxtRastreo.Text;
string Paqueteria = DdlPaqueterias.SelectedItem.Text; string Paqueteria = DdlPaqueterias.SelectedItem.Text;
string TipoDocto = ObjVentas.DtResultados.Rows[0]["TipoDocto"].ToString();
DataTable DtDetalle = new DataTable(); DataTable DtDetalle = new DataTable();
if (ObjVentas.GetVentaDetalle(CveVenta)) if (ObjVentas.GetVentaDetalle(CveVenta))
{ {
DtDetalle = ObjVentas.DtResultados; DtDetalle = ObjVentas.DtResultados;
} }
List<ReportParameter> RepParams = new List<ReportParameter>(); string DetalleTable = "";
RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); foreach (DataRow dRow in DtDetalle.Rows)
RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); {
RepParams.Add(new ReportParameter("Pedido", Pedido)); string detalle = string.Format("<tr><td style='width:25%'>{0}</td><td style='width:25%'>{1}</td><td style='width:50%'>{2}</td></tr>", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]);
RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); DetalleTable += detalle;
RepParams.Add(new ReportParameter("Guia", Guia)); }
RepParams.Add(new ReportParameter("Rastreo", Rastreo));
RepParams.Add(new ReportParameter("Paqueteria", Paqueteria)); StringBuilder strBody = new StringBuilder();
return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaExternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); strBody.Append("<html>");
strBody.Append(" <body>");
strBody.Append("<div>");
strBody.Append($"<img src='{Request.Url.Scheme}://{Request.Url.Host}:{ Request.Url.Port}/Empresas/{UsuarioActual.CveEmpresa}/Logo.png' style='width:200px'></img>");
strBody.Append("</div>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append($" Apreciable {ClienteNombre}, su pedido ya se encuentra en camino con el número de guía {Guia} y rastreo {Rastreo} de {Paqueteria}. Le confirmamos los productos que recibirá conforme a la {TipoDocto}:");
strBody.Append(" </p>");
strBody.Append($" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}</P>");
strBody.Append(" <div style='width:100%;text-align:center'>");
strBody.Append(" <table style='width:80%;font-family:Segoe UI Semibold;font-size:12pt'>");
strBody.Append(DetalleTable);
strBody.Append(" </table>");
strBody.Append(" </div>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Solicitamos su apoyo en la verificación del pedido que está próximo a recibir y en caso de presentarse alguno de los siguientes inconvenientes favor de rechazar el paquete y comunicarse de inmediato con su Ejecutivo Comercial:");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" • Empaque violado.<br/>");
strBody.Append("• Daño físico en la caja.<br/>");
strBody.Append("• Producto incompleto o distinto al solicitado.<br/>");
strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía.");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" <br/>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Gracias por realizar pedido <br/>");
strBody.Append(" Compuproveedores");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>");
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>");
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" </body>");
strBody.Append("</html>");
return strBody.ToString();
} }
ObjVentas.Dispose(); ObjVentas.Dispose();
return null; return "";
} }
private string getCorreoString() private string getCorreoString()
@@ -789,19 +827,11 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
{ {
Correos.GuardaLog(); Correos.GuardaLog();
byte[] ArchivoBinario = DocumentoEntregaInterna(); string body = DocumentoEntregaInterna();
ClsSisMail MailCls = new ClsSisMail(); ClsSisMail MailCls = new ClsSisMail();
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, "Se enviara la compra a su dirección", body, Correos);
{
var withBlock = itemMail;
itemMail.ArchivoBinario = ArchivoBinario;
itemMail.NombreArchivo = "Notificacion de Envio";
}
LSRutasMail.Add(itemMail);
MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, "Se enviara la compra a su dirección", "Pendiente", Correos, LSRutasMail);
MailCls = null; MailCls = null;
} }
#endregion #endregion

View File

@@ -925,9 +925,9 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
Cuerpo.AppendLine("<br><br>Dudas y aclaraciones con su coordinador empresarial."); Cuerpo.AppendLine("<br><br>Dudas y aclaraciones con su coordinador empresarial.");
string body = DocumentoEntregaInterna(this.CveVenta);
//Adjunta Archivo al Correo //Adjunta Archivo al Correo
ClsSisMail.ArchivoMail ArchivoAdjunto = new ClsSisMail.ArchivoMail(); ClsSisMail.ArchivoMail ArchivoAdjunto = new ClsSisMail.ArchivoMail();
ClsSisMail.ArchivoMail ArchivoAdjunto2 = new ClsSisMail.ArchivoMail();
List<ClsSisMail.ArchivoMail> ListaAdjuntos = new List<ClsSisMail.ArchivoMail>(); List<ClsSisMail.ArchivoMail> ListaAdjuntos = new List<ClsSisMail.ArchivoMail>();
@@ -937,20 +937,16 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
ArchivoAdjunto.Ruta = RutaArchivoAdjunto; ArchivoAdjunto.Ruta = RutaArchivoAdjunto;
ArchivoAdjunto.NombreArchivo = new FileInfo(RutaArchivoAdjunto).Name; ArchivoAdjunto.NombreArchivo = new FileInfo(RutaArchivoAdjunto).Name;
ArchivoAdjunto2.ArchivoBinario = DocumentoEntregaInterna(this.CveVenta);
ArchivoAdjunto2.NombreArchivo = "Entrega Realizada";
ListaAdjuntos.Add(ArchivoAdjunto); ListaAdjuntos.Add(ArchivoAdjunto);
ListaAdjuntos.Add(ArchivoAdjunto2);
} }
if ((ListaAdjuntos.Count > 0)) if ((ListaAdjuntos.Count > 0))
{ {
MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString(), Archivos: ListaAdjuntos); MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, body.ToString(), Archivos: ListaAdjuntos);
} }
else else
{ {
MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString()); MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, body.ToString());
} }
break; break;
@@ -1080,7 +1076,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
this.RegistraScript("$('#ModalMotivoReasignacion').modal('hide')", "hidemodal3"); this.RegistraScript("$('#ModalMotivoReasignacion').modal('hide')", "hidemodal3");
} }
private byte[] DocumentoEntregaInterna(int CveVenta) private string DocumentoEntregaInterna(int CveVenta)
{ {
ClsVentas ObjVentas = new ClsVentas(); ClsVentas ObjVentas = new ClsVentas();
@@ -1091,21 +1087,52 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
string FolioVenta = row["SerieFolio"].ToString(); string FolioVenta = row["SerieFolio"].ToString();
string Pedido = row["PedidoContrato"].ToString(); string Pedido = row["PedidoContrato"].ToString();
string OrdenCompra = row["OrdenCompra"].ToString(); string OrdenCompra = row["OrdenCompra"].ToString();
string tipoDocto = row["TipoDocto"].ToString();
DataTable DtDetalle = new DataTable(); DataTable DtDetalle = new DataTable();
if (ObjVentas.GetVentaDetalle(CveVenta)) if (ObjVentas.GetVentaDetalle(CveVenta))
{ {
DtDetalle = ObjVentas.DtResultados; DtDetalle = ObjVentas.DtResultados;
} }
string DetalleTable = "";
foreach (DataRow dRow in DtDetalle.Rows)
{
string detalle = string.Format("<tr><td style='width:25%'>{0}</td><td style='width:25%'>{1}</td><td style='width:50%'>{2}</td></tr>", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]);
DetalleTable += detalle;
}
List<ReportParameter> RepParams = new List<ReportParameter>(); StringBuilder strBody = new StringBuilder();
RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); strBody.Append("<html>");
RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); strBody.Append(" <body>");
RepParams.Add(new ReportParameter("Pedido", Pedido)); strBody.Append("<div>");
RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); strBody.Append($"<img src='{Request.Url.Scheme}://{Request.Url.Host}:{ Request.Url.Port}/Empresas/{UsuarioActual.CveEmpresa}/Logo.png' style='width:200px'></img>");
return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaTerminada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); strBody.Append("</div>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append($" Apreciable {ClienteNombre}, su pedido correspondiente a la {tipoDocto}:");
strBody.Append(" </p>");
strBody.Append($" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}</P>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>Su Pedido:</p>");
strBody.Append(" <div style='width:100%;text-align:center'>");
strBody.Append(" <table style='width:80%;font-family:Segoe UI Semibold;font-size:12pt'>");
strBody.Append(DetalleTable);
strBody.Append(" </table>");
strBody.Append(" </div>");
strBody.Append(" <br/>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Agradecemos su preferencia. <br/>");
strBody.Append(" Compuproveedores");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>");
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>");
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" </body>");
strBody.Append("</html>");
return strBody.ToString();
} }
ObjVentas.Dispose(); ObjVentas.Dispose();
return null; return "";
} }
} }

View File

@@ -3184,16 +3184,17 @@ Partial Class Inventarios_EntregaAlmacen
End Sub End Sub
Private Sub EnviarCorreoEntrega(tCveVenta As Integer, UsuarioActual As Usuario) Private Sub EnviarCorreoEntrega(tCveVenta As Integer, UsuarioActual As Usuario)
Dim Correo As New ClsSisMail 'Dim Correo As New ClsSisMail
Dim SerieFolio As String = "" Dim SerieFolio As String = ""
Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio) Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio)
Dim Cuerpo As New StringBuilder() Dim Cuerpo As New StringBuilder()
Dim Destinatario As String = "" Dim Destinatario As String = ""
Dim MensajeEnviado = False Dim MensajeEnviado = False
Dim tCvecliente As Integer Dim tCvecliente As Integer
Dim bytes() As Byte = Nothing Dim bytes() As Byte = Nothing
Dim ObjVentas As New ClsVentas() Dim ObjVentas As New ClsVentas()
Dim strBody As New StringBuilder
If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then
Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("") Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("")
Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta")) Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta"))
@@ -3201,39 +3202,79 @@ Partial Class Inventarios_EntregaAlmacen
tCvecliente = dr("CveCliente").ToString.ToEntero tCvecliente = dr("CveCliente").ToString.ToEntero
Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("") Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("")
Destinatario += String.Format("{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen")) Destinatario += String.Format(";{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen"))
Cuerpo.AppendLine(String.Format("Estimado {0} le informamos que los productos de la factura {1} han sido enviados a entrega. <br><br>", dr("ClienteNombre"), dr("SerieFolio")))
Cuerpo.AppendLine("<br><br>Dudas y aclaraciones con su coordinador empresarial.")
Dim ClienteNombre As String = dr("ClienteNombre").ToString() Dim ClienteNombre As String = dr("ClienteNombre").ToString()
Dim FolioVenta As String = dr("SerieFolio").ToString() Dim FolioVenta As String = dr("SerieFolio").ToString()
Dim Pedido As String = dr("PedidoContrato").ToString() Dim Pedido As String = dr("PedidoContrato").ToString()
Dim OrdenCompra As String = dr("OrdenCompra").ToString() Dim OrdenCompra As String = dr("OrdenCompra").ToString()
Dim CveVenta As Integer = dr("CveVenta").ToString().ToEntero() Dim CveVenta As Integer = dr("CveVenta").ToString().ToEntero()
Dim TipoDocto As String = dr("TipoDocto").ToString()
Dim dtDetalle As New DataTable Dim dtDetalle As New DataTable
If ObjVentas.GetVentaDetalle(CveVenta) Then If ObjVentas.GetVentaDetalle(CveVenta) Then
dtDetalle = ObjVentas.DtResultados dtDetalle = ObjVentas.DtResultados
End If End If
Dim DetalleTable As String = ""
For Each dRow As DataRow In dtDetalle.Rows
Dim detalle As String = String.Format("<tr><td style='width:25%'>{0}</td><td style='width:25%'>{1}</td><td style='width:50%'>{2}</td></tr>", dRow("Codigo"), dRow("Cantidad"), dRow("PS"))
DetalleTable += detalle
Next
Dim RepParams As New List(Of ReportParameter) strBody.Append("<html>")
RepParams.Add(New ReportParameter("Cliente", ClienteNombre)) strBody.Append(" <body>")
RepParams.Add(New ReportParameter("FolioVenta", FolioVenta)) strBody.Append("<div>")
RepParams.Add(New ReportParameter("Pedido", Pedido)) strBody.Append($"<img src='{Request.Url.Scheme}://{Request.Url.Host}:{ Request.Url.Port}/Empresas/{UsuarioActual.CveEmpresa}/Logo.png' style='width:200px'></img>")
RepParams.Add(New ReportParameter("OrdenCompra", OrdenCompra)) strBody.Append("</div>")
bytes = StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaMostrador.rdlc", dtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName:="DsInventarios") strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>")
strBody.Append($" Apreciable {ClienteNombre}, le confirmamos los")
strBody.Append(" productos surtidos y entregados en mostrador conforme a la")
strBody.Append($" {TipoDocto}:")
strBody.Append(" </p>")
strBody.Append($" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}</P>")
strBody.Append(" <div style='width:100%;text-align:center'>")
strBody.Append(" <table style='width:80%;font-family:Segoe UI Semibold;font-size:12pt'>")
strBody.Append(DetalleTable)
strBody.Append(" ")
strBody.Append(" </table>")
strBody.Append(" </div>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>")
strBody.Append(" Se entregaron los productos conforme a las especificaciones de su pedido y verificamos que no se presentara alguno de los siguientes inconvenientes:")
strBody.Append(" </p>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>")
strBody.Append(" • Empaque violado.<br/>")
strBody.Append("• Daño físico en la caja.<br/>")
strBody.Append("• Producto incompleto o distinto al solicitado.<br/>")
strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía.<br/>")
strBody.Append("")
strBody.Append(" </p>")
strBody.Append(" <br/>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>")
strBody.Append($" Aceptando a entera satisfacción a las {Today.Hour}:{Today.Minute} hrs del {Today.ToString}")
strBody.Append(" </p>")
strBody.Append(" <br/>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>")
strBody.Append(" Gracias por su compra <br/>")
strBody.Append(" Compuproveedores")
strBody.Append(" </p>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>")
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>")
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>")
strBody.Append("")
strBody.Append(" </p>")
strBody.Append(" </body>")
strBody.Append("</html>")
End If End If
ObjVentas.Dispose() ObjVentas.Dispose()
Dim MailCls As New ClsSisMail
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim itemMail As New ClsSisMail.ArchivoMail() Dim itemMail As New ClsSisMail.ArchivoMail()
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = bytes, .NombreArchivo = "Entrega en mostrador"})
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = bytes, .NombreArchivo = "Notificacion de Envio"}) MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Destinatario, "Enviado desde Entrega Almacen", strBody.ToString, Destinatario)
MailCls = Nothing
Correo.SendMail(EmpresaNotificaciones, Destinatario, Asunto, Cuerpo.ToString(), Destinatario)
Correo = Nothing
End Sub End Sub
Private Sub Limpia() Private Sub Limpia()

View File

@@ -70,7 +70,7 @@
</div> </div>
<div class="portlet-body rowpadding"> <div class="portlet-body rowpadding">
<asp:GridView ID="GvPaqueteriasGuias" runat="server" AutoGenerateColumns="False" <asp:GridView ID="GvPaqueteriasGuias" runat="server" AutoGenerateColumns="False"
DataKeyNames="CvePaqueteriaGuia,Folio,SerieFolio,FechaIng,Nombre,Contacto,Estatus,CobranzaCorreo,CorreoEntregaAlmacen,CorreoEntregaCompras,Correo,CorreoAdicionalNotificaciones,CveVenta,PedidoContrato,OrdenCompra,NombreComercial" DataKeyNames="CvePaqueteriaGuia,Folio,SerieFolio,FechaIng,Nombre,Contacto,Estatus,CobranzaCorreo,CorreoEntregaAlmacen,CorreoEntregaCompras,Correo,CorreoAdicionalNotificaciones,CveVenta,PedidoContrato,OrdenCompra,NombreComercial,TipoDocto"
EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas" EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
data-sort="true" data-sort="true"

View File

@@ -7,6 +7,7 @@ using System.Web.UI.WebControls;
using System.Data; using System.Data;
using Extensiones; using Extensiones;
using Microsoft.Reporting.WebForms; using Microsoft.Reporting.WebForms;
using System.Text;
public partial class Inventarios_EntregasPorRealizar : ClsPaginas public partial class Inventarios_EntregasPorRealizar : ClsPaginas
{ {
@@ -109,24 +110,25 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
DdlUsuario.Items.Insert(0, new ListItem("Seleccione", "-1")); DdlUsuario.Items.Insert(0, new ListItem("Seleccione", "-1"));
} }
protected void LnkImprimir_Click(object sender, EventArgs e) //protected void LnkImprimir_Click(object sender, EventArgs e)
{ //{
List<ReportParameter> RepParams = new List<ReportParameter>(); // List<ReportParameter> RepParams = new List<ReportParameter>();
string Usuario = DdlUsuario.SelectedValue.ToEntero() > 0 ? DdlUsuario.SelectedItem.Text : "Todos"; // string Usuario = DdlUsuario.SelectedValue.ToEntero() > 0 ? DdlUsuario.SelectedItem.Text : "Todos";
RepParams.Add(new ReportParameter("Fecha", DateTime.Today.ToString())); // RepParams.Add(new ReportParameter("Fecha", DateTime.Today.ToString()));
RepParams.Add(new ReportParameter("AsignadoA", Usuario)); // RepParams.Add(new ReportParameter("AsignadoA", Usuario));
RepParams.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)); // RepParams.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/EntregasPorRealizar.rdlc", DtPaqueteriasGuias, RepParams, "Entregas por realizar", "PDF",RDSName:"DsInventarios"); // ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/EntregasPorRealizar.rdlc", DtPaqueteriasGuias, RepParams, "Entregas por realizar", "PDF",RDSName:"DsInventarios");
} //}
private byte[] DocumentoEntregaInterna(GridViewRow row) private string DocumentoEntregaInterna(GridViewRow row)
{ {
string ClienteNombre = row.DataKey("NombreComercial"); string ClienteNombre = row.DataKey("NombreComercial");
string FolioVenta = row.DataKey("SerieFolio"); string FolioVenta = row.DataKey("SerieFolio");
string Pedido = row.DataKey("PedidoContrato"); string Pedido = row.DataKey("PedidoContrato");
string OrdenCompra = row.DataKey("OrdenCompra"); string OrdenCompra = row.DataKey("OrdenCompra");
int CveVenta = row.DataKey("CveVenta").ToEntero(); int CveVenta = row.DataKey("CveVenta").ToEntero();
string TipoDocto = row.DataKey("TipoDocto");
DataTable DtDetalle = new DataTable(); DataTable DtDetalle = new DataTable();
ClsVentas ObjVentas = new ClsVentas(); ClsVentas ObjVentas = new ClsVentas();
@@ -136,12 +138,60 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
} }
ObjVentas.Dispose(); ObjVentas.Dispose();
List<ReportParameter> RepParams = new List<ReportParameter>(); string DetalleTable = "";
RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); foreach (DataRow dRow in DtDetalle.Rows)
RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); {
RepParams.Add(new ReportParameter("Pedido", Pedido)); string detalle = string.Format("<tr><td style='width:25%'>{0}</td><td style='width:25%'>{1}</td><td style='width:50%'>{2}</td></tr>", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]);
RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); DetalleTable += detalle;
return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaInternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); }
StringBuilder strBody = new StringBuilder();
strBody.Append("<html>");
strBody.Append(" <body>");
strBody.Append("<div>");
strBody.Append($"<img src='{Request.Url.Scheme}://{Request.Url.Host}:{ Request.Url.Port}/Empresas/{UsuarioActual.CveEmpresa}/Logo.png' style='width:200px'></img>");
strBody.Append("</div>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append($" Apreciable {ClienteNombre}, su pedido ya se encuentra en camino. Le confirmamos los productos que recibirá conforme a la ");
strBody.Append($" {TipoDocto}:");
strBody.Append(" </p>");
strBody.Append($" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}</P>");
strBody.Append(" <div style='width:100%;text-align:center'>");
strBody.Append(" <table style='width:80%;font-family:Segoe UI Semibold;font-size:12pt'>");
strBody.Append(DetalleTable);
strBody.Append(" </table>");
strBody.Append(" </div>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Solicitamos su apoyo en la verificación del pedido que está próximo a recibir y en caso de presentarse alguno de los siguientes inconvenientes favor de rechazar el paquete y comunicarse de inmediato con su Ejecutivo Comercial:");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" • Empaque violado.<br/>");
strBody.Append("• Daño físico en la caja.<br/>");
strBody.Append("• Producto incompleto o distinto al solicitado.<br/>");
strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía.");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" <br/>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Gracias por realizar su pedido <br/>");
strBody.Append(" Compuproveedores");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>");
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>");
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" </body>");
strBody.Append("</html>");
//List<ReportParameter> RepParams = new List<ReportParameter>();
//RepParams.Add(new ReportParameter("Cliente", ClienteNombre));
//RepParams.Add(new ReportParameter("FolioVenta", FolioVenta));
//RepParams.Add(new ReportParameter("Pedido", Pedido));
//RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra));
//return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaInternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios");
return strBody.ToString();
} }
private void MandarNotificacionCorreo(GridViewRow row) private void MandarNotificacionCorreo(GridViewRow row)
@@ -156,20 +206,21 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, Para); string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, Para);
LogCorreo.GuardaLog(); LogCorreo.GuardaLog();
byte[] ArchivoBinario = DocumentoEntregaInterna(row); //byte[] ArchivoBinario = DocumentoEntregaInterna(row);
string body = DocumentoEntregaInterna(row);
ClsSisMail MailCls = new ClsSisMail(); ClsSisMail MailCls = new ClsSisMail();
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>(); //List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); //ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
{ //{
var withBlock = itemMail; // var withBlock = itemMail;
itemMail.ArchivoBinario = ArchivoBinario; // itemMail.ArchivoBinario = ArchivoBinario;
itemMail.NombreArchivo = "Notificacion de Envio"; // itemMail.NombreArchivo = "Notificacion de Envio";
} //}
LSRutasMail.Add(itemMail); //LSRutasMail.Add(itemMail);
MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", "Pendiente", Para, LSRutasMail); MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", body, Para);
MailCls = null; MailCls = null;
} }
} }