diff --git a/General/PopUpPaqueteriasGuias.aspx.cs b/General/PopUpPaqueteriasGuias.aspx.cs index 6cd757d1b..e6536dc3b 100644 --- a/General/PopUpPaqueteriasGuias.aspx.cs +++ b/General/PopUpPaqueteriasGuias.aspx.cs @@ -730,7 +730,7 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas } } - private byte[] DocumentoEntregaInterna() + private string DocumentoEntregaInterna() { ClsVentas ObjVentas = new ClsVentas(); if (ObjVentas.GetVenta(this.CveVenta, UsuarioActual.CveEmpresa)) @@ -742,24 +742,62 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas string Guia = TxtGuia.Text; string Rastreo = TxtRastreo.Text; string Paqueteria = DdlPaqueterias.SelectedItem.Text; + string TipoDocto = ObjVentas.DtResultados.Rows[0]["TipoDocto"].ToString(); DataTable DtDetalle = new DataTable(); if (ObjVentas.GetVentaDetalle(CveVenta)) { DtDetalle = ObjVentas.DtResultados; } - List RepParams = new List(); - RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); - RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); - RepParams.Add(new ReportParameter("Pedido", Pedido)); - RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); - RepParams.Add(new ReportParameter("Guia", Guia)); - RepParams.Add(new ReportParameter("Rastreo", Rastreo)); - RepParams.Add(new ReportParameter("Paqueteria", Paqueteria)); - return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaExternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); + string DetalleTable = ""; + foreach (DataRow dRow in DtDetalle.Rows) + { + string detalle = string.Format("{0}{1}{2}", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); + DetalleTable += detalle; + } + + StringBuilder strBody = new StringBuilder(); + strBody.Append(""); + strBody.Append(" "); + strBody.Append("
"); + strBody.Append($""); + strBody.Append("
"); + strBody.Append("

"); + 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("

"); + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

"); + strBody.Append("
"); + strBody.Append(" "); + strBody.Append(DetalleTable); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("

"); + 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("

"); + strBody.Append("

"); + strBody.Append(" • Empaque violado.
"); + strBody.Append("• Daño físico en la caja.
"); + strBody.Append("• Producto incompleto o distinto al solicitado.
"); + strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía."); + strBody.Append(""); + strBody.Append("

"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Gracias por realizar pedido
"); + strBody.Append(" Compuproveedores"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
"); + strBody.Append(" www.compuproveedores.com"); + strBody.Append(""); + strBody.Append("

"); + strBody.Append(" "); + strBody.Append(""); + + return strBody.ToString(); } ObjVentas.Dispose(); - return null; + return ""; } private string getCorreoString() @@ -789,19 +827,11 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas { Correos.GuardaLog(); - byte[] ArchivoBinario = DocumentoEntregaInterna(); + string body = DocumentoEntregaInterna(); ClsSisMail MailCls = new ClsSisMail(); - List LSRutasMail = new List(); - ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); - - { - 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.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, "Se enviara la compra a su dirección", body, Correos); MailCls = null; } #endregion diff --git a/General/RepPaqueteriasGuias.aspx.cs b/General/RepPaqueteriasGuias.aspx.cs index 08ee47e58..421f862af 100644 --- a/General/RepPaqueteriasGuias.aspx.cs +++ b/General/RepPaqueteriasGuias.aspx.cs @@ -925,9 +925,9 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas Cuerpo.AppendLine("

Dudas y aclaraciones con su coordinador empresarial."); + string body = DocumentoEntregaInterna(this.CveVenta); //Adjunta Archivo al Correo ClsSisMail.ArchivoMail ArchivoAdjunto = new ClsSisMail.ArchivoMail(); - ClsSisMail.ArchivoMail ArchivoAdjunto2 = new ClsSisMail.ArchivoMail(); List ListaAdjuntos = new List(); @@ -937,20 +937,16 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas ArchivoAdjunto.Ruta = RutaArchivoAdjunto; ArchivoAdjunto.NombreArchivo = new FileInfo(RutaArchivoAdjunto).Name; - ArchivoAdjunto2.ArchivoBinario = DocumentoEntregaInterna(this.CveVenta); - ArchivoAdjunto2.NombreArchivo = "Entrega Realizada"; - ListaAdjuntos.Add(ArchivoAdjunto); - ListaAdjuntos.Add(ArchivoAdjunto2); } 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 { - MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString()); + MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, body.ToString()); } break; @@ -1080,7 +1076,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas this.RegistraScript("$('#ModalMotivoReasignacion').modal('hide')", "hidemodal3"); } - private byte[] DocumentoEntregaInterna(int CveVenta) + private string DocumentoEntregaInterna(int CveVenta) { ClsVentas ObjVentas = new ClsVentas(); @@ -1091,21 +1087,52 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas string FolioVenta = row["SerieFolio"].ToString(); string Pedido = row["PedidoContrato"].ToString(); string OrdenCompra = row["OrdenCompra"].ToString(); + string tipoDocto = row["TipoDocto"].ToString(); DataTable DtDetalle = new DataTable(); if (ObjVentas.GetVentaDetalle(CveVenta)) { DtDetalle = ObjVentas.DtResultados; } + string DetalleTable = ""; + foreach (DataRow dRow in DtDetalle.Rows) + { + string detalle = string.Format("{0}{1}{2}", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); + DetalleTable += detalle; + } - List RepParams = new List(); - 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/GuiaEntregaTerminada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); + StringBuilder strBody = new StringBuilder(); + strBody.Append(""); + strBody.Append(" "); + strBody.Append("
"); + strBody.Append($""); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append($" Apreciable {ClienteNombre}, su pedido correspondiente a la {tipoDocto}:"); + strBody.Append("

"); + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

"); + strBody.Append("

Su Pedido:

"); + strBody.Append("
"); + strBody.Append(" "); + strBody.Append(DetalleTable); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Agradecemos su preferencia.
"); + strBody.Append(" Compuproveedores"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
"); + strBody.Append(" www.compuproveedores.com"); + strBody.Append(""); + strBody.Append("

"); + strBody.Append(" "); + strBody.Append(""); + + return strBody.ToString(); } ObjVentas.Dispose(); - return null; + return ""; } } \ No newline at end of file diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 1726fcfbf..c8a2bc967 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -3184,16 +3184,17 @@ Partial Class Inventarios_EntregaAlmacen End Sub Private Sub EnviarCorreoEntrega(tCveVenta As Integer, UsuarioActual As Usuario) - Dim Correo As New ClsSisMail - Dim SerieFolio As String = "" - Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio) - Dim Cuerpo As New StringBuilder() - Dim Destinatario As String = "" - Dim MensajeEnviado = False - Dim tCvecliente As Integer - Dim bytes() As Byte = Nothing + 'Dim Correo As New ClsSisMail + Dim SerieFolio As String = "" + Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio) + Dim Cuerpo As New StringBuilder() + Dim Destinatario As String = "" + Dim MensajeEnviado = False + Dim tCvecliente As Integer + Dim bytes() As Byte = Nothing Dim ObjVentas As New ClsVentas() + Dim strBody As New StringBuilder If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("") Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta")) @@ -3201,39 +3202,79 @@ Partial Class Inventarios_EntregaAlmacen tCvecliente = dr("CveCliente").ToString.ToEntero Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("") - 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.

", dr("ClienteNombre"), dr("SerieFolio"))) - Cuerpo.AppendLine("

Dudas y aclaraciones con su coordinador empresarial.") + Destinatario += String.Format(";{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen")) Dim ClienteNombre As String = dr("ClienteNombre").ToString() Dim FolioVenta As String = dr("SerieFolio").ToString() Dim Pedido As String = dr("PedidoContrato").ToString() Dim OrdenCompra As String = dr("OrdenCompra").ToString() Dim CveVenta As Integer = dr("CveVenta").ToString().ToEntero() + Dim TipoDocto As String = dr("TipoDocto").ToString() Dim dtDetalle As New DataTable If ObjVentas.GetVentaDetalle(CveVenta) Then dtDetalle = ObjVentas.DtResultados End If + Dim DetalleTable As String = "" + For Each dRow As DataRow In dtDetalle.Rows + Dim detalle As String = String.Format("{0}{1}{2}", dRow("Codigo"), dRow("Cantidad"), dRow("PS")) + DetalleTable += detalle + Next - Dim RepParams As New List(Of 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)) - bytes = StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaMostrador.rdlc", dtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName:="DsInventarios") + strBody.Append("") + strBody.Append(" ") + strBody.Append("
") + strBody.Append($"") + strBody.Append("
") + strBody.Append("

") + strBody.Append($" Apreciable {ClienteNombre}, le confirmamos los") + strBody.Append(" productos surtidos y entregados en mostrador conforme a la") + strBody.Append($" {TipoDocto}:") + strBody.Append("

") + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

") + strBody.Append("
") + strBody.Append(" ") + strBody.Append(DetalleTable) + strBody.Append(" ") + strBody.Append("
") + strBody.Append("
") + strBody.Append("

") + 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("

") + strBody.Append("

") + strBody.Append(" • Empaque violado.
") + strBody.Append("• Daño físico en la caja.
") + strBody.Append("• Producto incompleto o distinto al solicitado.
") + strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía.
") + strBody.Append("") + strBody.Append("

") + strBody.Append("
") + strBody.Append("

") + strBody.Append($" Aceptando a entera satisfacción a las {Today.Hour}:{Today.Minute} hrs del {Today.ToString}") + strBody.Append("

") + strBody.Append("
") + strBody.Append("

") + strBody.Append(" Gracias por su compra
") + strBody.Append(" Compuproveedores") + strBody.Append("

") + strBody.Append("

") + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
") + strBody.Append(" www.compuproveedores.com") + strBody.Append("") + strBody.Append("

") + strBody.Append(" ") + strBody.Append("") End If - ObjVentas.Dispose() - - + ObjVentas.Dispose() + + Dim MailCls As New ClsSisMail + Dim LSRutasMail As New List(Of 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"}) - - Correo.SendMail(EmpresaNotificaciones, Destinatario, Asunto, Cuerpo.ToString(), Destinatario) - Correo = Nothing + MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Destinatario, "Enviado desde Entrega Almacen", strBody.ToString, Destinatario) + MailCls = Nothing End Sub Private Sub Limpia() diff --git a/Inventarios/EntregasPorRealizar.aspx b/Inventarios/EntregasPorRealizar.aspx index 639fe893f..76ec2b76f 100644 --- a/Inventarios/EntregasPorRealizar.aspx +++ b/Inventarios/EntregasPorRealizar.aspx @@ -70,7 +70,7 @@
RepParams = new List(); - 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 RepParams = new List(); + // 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 RepParams = new List(); - 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("{0}{1}{2}", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); + DetalleTable += detalle; + } + + StringBuilder strBody = new StringBuilder(); + + strBody.Append(""); + strBody.Append(" "); + strBody.Append("
"); + strBody.Append($""); + strBody.Append("
"); + strBody.Append("

"); + 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("

"); + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

"); + strBody.Append("
"); + strBody.Append(" "); + strBody.Append(DetalleTable); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("

"); + 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("

"); + strBody.Append("

"); + strBody.Append(" • Empaque violado.
"); + strBody.Append("• Daño físico en la caja.
"); + strBody.Append("• Producto incompleto o distinto al solicitado.
"); + strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía."); + strBody.Append(""); + strBody.Append("

"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Gracias por realizar su pedido
"); + strBody.Append(" Compuproveedores"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
"); + strBody.Append(" www.compuproveedores.com"); + strBody.Append(""); + strBody.Append("

"); + strBody.Append(" "); + strBody.Append(""); + + //List RepParams = new List(); + //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 LSRutasMail = new List(); - ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); + //List LSRutasMail = new List(); + //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; } } \ No newline at end of file