Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepComplementoPago
Inherits ClsPaginas
Private Property DTComplemntos As DataTable
Get
If ViewState("DTComplemntos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTComplemntos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTComplemntos") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
InicializaValores()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TxtFiltrosFechaInicio.Text = NowADS().FirstDayOfMonth.ToShortDateString
TxtFiltrosFechaFin.Text = NowADS().ToShortDateString
DdlProveedores.setEsWebService(True)
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
'DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
'DdlProveedores.DataBind()
'DdlProveedores.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlUsuarioRegistra.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlUsuarioRegistra.DataBind()
DdlUsuarioRegistra.Items.Insert(0, New ListItem("Todos", "-1"))
UpFiltros.Update()
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim CveProveedor As Integer = If(DdlProveedores.SelectedValue.ToEntero = 0, -1, DdlProveedores.SelectedValue.ToEntero)
Dim CveTipoProveedor = DdlTipoProveedor.SelectedValue.ToEntero
Dim FechaInicio = If(IsDate(TxtFiltrosFechaInicio.Text), TxtFiltrosFechaInicio.Text.ToDate, MinFecha)
Dim FechaFin = If(IsDate(TxtFiltrosFechaFin.Text), TxtFiltrosFechaFin.Text.ToDate, MaxFecha)
Dim TipoConsulta = If(ChkViculadas.Checked, 2, 1)
Dim Count As Integer = 0
Dim ObjCompras As New ClsCompras
If ObjCompras.RepComplementosPago(CveProveedor, -1, TipoConsulta, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, CveTipoProveedor, DdlSubProyecto.SelectedValue.ToEntero, DdlUsuarioRegistra.SelectedValue.ToEntero) Then
DTComplemntos = ObjCompras.DtResultados '.FiltraParametros(If(ChkViculadas.Checked, "FechaAsociacionPago IS NOT NULL", "FechaAsociacionPago IS NULL"))
GvDatos.DataSource = DTComplemntos
If ChkViculadas.Checked Then
Count = DTComplemntos.Rows.Count
GvDatos.Columns(7).Visible = True
Else
GvDatos.Columns(7).Visible = False
End If
End If
ObjCompras.Dispose()
If Count > 0 Then
LnkNotificar.Attributes.Add("data-original-title", $"¿Notificar a {Count} ?")
LnkNotificar.Visible = True
Else
LnkNotificar.Attributes.Add("data-original-title", $"¿Notificar?")
LnkNotificar.Visible = False
End If
UpAcciones.Update()
ObjCompras.Dispose()
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If ChkViculadas.Checked Then
e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", e.Row.DBCampo("CveFactura"), e.Row.DBCampo("RFCde").ToString.Replace("&", "%26%"))))
End If
End If
End Sub
#End Region
#Region "ENVIA CORREOS NOTIFICACIÓN"
Protected Sub LnkNotificar_Click(sender As Object, e As EventArgs)
NotificarComplementos()
End Sub
Private Sub NotificarComplementos()
If ChkViculadas.Checked = False And DTComplemntos.Rows.Count > 0 Then
Dim DTComplementosPendientes As New DataTable
DTComplementosPendientes = DTComplemntos.FiltraParametros("FechaAsociacionPago IS NULL")
For Each Drow As DataRow In DTComplementosPendientes.Rows
Dim FechaPago As String = Drow("FechaIE").ToString
Dim NotificarA As String = Drow("NotificarA").ToString
Dim ContactoMailCobranza As String = Drow("ContactoMailCobranza").ToString
Dim MailDestino As String = ""
Dim Correo As New ClsSisMail
Dim SerieFolio As String = Drow("SerieFolio").ToString
Dim Fecha As Date = Drow("Fecha").ToString.ToDate
Dim Importe As Decimal = Drow("Importe").ToString.FormatoNumero(2).ToDecimal
Dim Proveedor As String = Drow("RazonSocial").ToString
Dim Cuerpo As New StringBuilder
Cuerpo.AppendLine($"
Por medio del presente correo se notifica a la empresa { Proveedor } que no cuenta con los complementos de pago al corriente y esto puede presentar un retrasó en sus pagos futuros.
")
Cuerpo.AppendLine("
")
Cuerpo.AppendLine("
| Folio | Fecha | Importe | ") Cuerpo.AppendLine("
|---|---|---|
| {SerieFolio} | {Fecha.ToString("dd/MM/yyyy")} | {Importe} | ") Cuerpo.AppendLine("