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

@@ -7,6 +7,7 @@ using System.Web.UI.WebControls;
using System.Data;
using Extensiones;
using Microsoft.Reporting.WebForms;
using System.Text;
public partial class Inventarios_EntregasPorRealizar : ClsPaginas
{
@@ -109,24 +110,25 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
DdlUsuario.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
protected void LnkImprimir_Click(object sender, EventArgs e)
{
List<ReportParameter> RepParams = new List<ReportParameter>();
string Usuario = DdlUsuario.SelectedValue.ToEntero() > 0 ? DdlUsuario.SelectedItem.Text : "Todos";
RepParams.Add(new ReportParameter("Fecha", DateTime.Today.ToString()));
RepParams.Add(new ReportParameter("AsignadoA", Usuario));
RepParams.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
//protected void LnkImprimir_Click(object sender, EventArgs e)
//{
// List<ReportParameter> RepParams = new List<ReportParameter>();
// string Usuario = DdlUsuario.SelectedValue.ToEntero() > 0 ? DdlUsuario.SelectedItem.Text : "Todos";
// RepParams.Add(new ReportParameter("Fecha", DateTime.Today.ToString()));
// RepParams.Add(new ReportParameter("AsignadoA", Usuario));
// 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 FolioVenta = row.DataKey("SerieFolio");
string Pedido = row.DataKey("PedidoContrato");
string OrdenCompra = row.DataKey("OrdenCompra");
int CveVenta = row.DataKey("CveVenta").ToEntero();
string TipoDocto = row.DataKey("TipoDocto");
DataTable DtDetalle = new DataTable();
ClsVentas ObjVentas = new ClsVentas();
@@ -136,12 +138,60 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
}
ObjVentas.Dispose();
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");
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;
}
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)
@@ -156,20 +206,21 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, Para);
LogCorreo.GuardaLog();
byte[] ArchivoBinario = DocumentoEntregaInterna(row);
//byte[] ArchivoBinario = DocumentoEntregaInterna(row);
string body = DocumentoEntregaInterna(row);
ClsSisMail MailCls = new ClsSisMail();
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
//List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
//ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
{
var withBlock = itemMail;
itemMail.ArchivoBinario = ArchivoBinario;
itemMail.NombreArchivo = "Notificacion de Envio";
}
//{
// var withBlock = itemMail;
// itemMail.ArchivoBinario = ArchivoBinario;
// itemMail.NombreArchivo = "Notificacion de Envio";
//}
LSRutasMail.Add(itemMail);
MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", "Pendiente", Para, LSRutasMail);
//LSRutasMail.Add(itemMail);
MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", body, Para);
MailCls = null;
}
}