Option Explicit On Option Strict On Imports System Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class CatClientes Inherits ClsPaginas Property DTDatos As DataTable Get If ViewState("DTDatos") Is Nothing Then Return New DataTable Else Return DirectCast(ViewState("DTDatos"), DataTable) End If End Get Set(value As DataTable) ViewState("DTDatos") = value End Set End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then ViewState("Orden") = "" Inicializa() CargaSucursales() CargaClasificaciones() CargaVendedor() CargaPersonalizacion() End If End Sub Public Sub CargaDatos() Dim ObjClientes As New ClsClientes Dim Nombre, RFC As String Nombre = "-1" RFC = "-1" If TxtNombre.Text.Trim <> String.Empty Then Nombre = TxtNombre.Text.Trim If TxtRFC.Text.Trim <> String.Empty Then RFC = TxtRFC.Text.Trim 'If ObjClientes.GetClientes(-1, Nombre, "-1", "-1", RFC, "-1", "-1", DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Estatus:=DdlEstatus.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClasificaciones.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PermiteCreditoFiltro:=If(ChkPermiteCredito.Checked, 1, -1)) Then If ObjClientes.GetClientes(-1, Nombre, "-1", "-1", RFC, "-1", "-1", DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Estatus:=DdlEstatus.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClasificaciones.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PermiteCreditoFiltro:=DdlPermiteCredito.SelectedValue.ToEntero, EnDemanda:=DDlEnDemanda.SelectedValue.ToEntero, EnQuebranto:=DdlEnQuebranto.SelectedValue.ToEntero, Aseguradora:=DdlAseguradora.SelectedValue.ToEntero) Then If ObjClientes.DtResultados.Rows.Count > 0 Then DTDatos = ObjClientes.DtResultados Else DTDatos = Nothing Alert("No se encontraron registros con los parametros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia) End If End If ObjClientes.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If UPDatos.Update() End Sub Private Sub CargaSucursales() DdlSubProyecto.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem("Todas", "-1")) End Sub Private Sub CargaClasificaciones() DdlClasificaciones.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa) DdlClasificaciones.DataBind() DdlClasificaciones.Items.Insert(0, New ListItem("Todas", "-1")) End Sub Private Sub Inicializa() PanelContrato.Visible = True MPContrato.Enabled = True Me.Form.DefaultButton = LbFiltrar.UniqueID DdlClienteAUnificar.setEsWebService(True) DdlClienteAUnificar.SelectedValue = "-1" DdlClienteAUnificar.SelectedText = "Todos" DdlClienteOriginal.setEsWebService(True) DdlClienteOriginal.SelectedValue = "-1" DdlClienteOriginal.SelectedText = "Todos" If UsuarioActual.CveEmpresa = 119 Then divfiltro2.Visible = True End If UpBodyUnificar.Update() End Sub Private Sub CargaVendedor() DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) DdlVendedor.DataBind() DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Protected Sub LbFiltrar_Click(sender As Object, e As EventArgs) Handles LbFiltrar.Click CargaDatos() End Sub Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click GvDatos.ExportToExcel("RepClientes_" & NowADS().ToShortDateString) End Sub #Region "P D F" Private Sub LinkPdf_Click(sender As Object, e As EventArgs) Handles LinkPdf.Click Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) 'OBTENEMOS LOS DATOS Dim DtClientes As DataTable 'Dim ObjClientes As New ClsClientes If DTDatos.Rows.Count > 0 Then DtClientes = DTDatos If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 Then DtClientes = DTDatos.FiltraParametros("CveCliente IN (10450, 10460, 10458)") ElseIf UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 21 Then DtClientes = DTDatos.FiltraParametros("CveCliente IN (27448)") End If Else DtClientes = Nothing End If Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC)) params.Add(New ReportParameter("DireccionEmpresa", UsuarioActual.Empresa.Direccion)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToString)) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas/Grales/Formatos/RepClientes.rdlc", DtClientes, params, "RepClientes") End Sub #End Region #Region "G V D A T O S" Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.Cells(1).Width = Unit.Pixel(300) e.Row.Cells(2).Width = Unit.Pixel(120) e.Row.Cells(3).Width = Unit.Pixel(190) e.Row.Cells(4).Width = Unit.Pixel(110) e.Row.Cells(5).Width = Unit.Pixel(80) e.Row.Cells(6).Width = Unit.Pixel(80) e.Row.Cells(7).Width = Unit.Pixel(100) End If e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left 'e.Row.FCLiteral("LtlNombre").Text = "" & e.Row.FCLiteral("LtlNombre").Text & "" 'e.Row.FCLiteral("LtlRFC").Text = "" & e.Row.FCLiteral("LtlRFC").Text & "" 'e.Row.FCLiteral("LtlSucursal").Text = "" & e.Row.FCLiteral("LtlSucursal").Text & "" 'e.Row.FCLiteral("LtlTelefono").Text = "" & e.Row.FCLiteral("LtlTelefono").Text & "" e.Row.FCLiteral("LtlCodigo").Text = "" & e.Row.FCLiteral("LtlCodigo").Text & "" e.Row.FCLiteral("LtlNombre").Text = "" & e.Row.FCLiteral("LtlNombre").Text & "" e.Row.FCLiteral("LtlRFC").Text = "" & e.Row.FCLiteral("LtlRFC").Text & "" e.Row.FCLiteral("LtlSucursal").Text = "" & e.Row.FCLiteral("LtlSucursal").Text & "" e.Row.FCLiteral("LtlTelefono").Text = "" & e.Row.FCLiteral("LtlTelefono").Text & "" If e.Row.DataKey("FechaLimiteCredito").ToString.ToDate = MinFecha Then e.Row.FCLiteral("LtlFechaLimiteCredito").Text = "" Else e.Row.FCLiteral("LtlFechaLimiteCredito").Text = e.Row.DataKey("FechaLimiteCredito").ToString.ToDate.ToString("dd/MM/yyyy") End If End If End Sub #End Region #Region "O R D E N A M I E N T O" Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs) Dim Orden As String = "" Dim Campo As String = "" Dim Literal As Literal = Nothing Const OrdenInicial As String = "" Dim Arg(2) As String Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c) Campo = Arg(0) Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal) If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo) Literal.Text = String.Format("") Else ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo) Literal.Text = String.Format("") End If Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString ViewState("Orden") = Orden CargaGrid(Orden) End Sub Private Sub CargaGrid(Orden As String) If Orden <> String.Empty Then Dim DV As New DataView(DTDatos, "", Orden, DataViewRowState.CurrentRows) GvDatos.DataSource = DV.ToTable() DV.Dispose() Else GvDatos.DataSource = DTDatos End If GvDatos.DataBind() End Sub #End Region #Region "UNIFICAR CLIENTE" Private Sub BtnUnificar_Click(sender As Object, e As EventArgs) Handles BtnUnificar.Click Dim ObjCliente As New ClsClientes() ObjCliente.IniciaTransacSQL() If ObjCliente.UnificarClientes(DdlClienteAUnificar.SelectedValue.ToEntero, DdlClienteOriginal.SelectedValue.ToEntero) Then ObjCliente.Commit() Alert("Se han unificado los clientes satisfactoriamente", TipoMensaje.MsgInformacion) Else ObjCliente.RollBack() Alert("Ha ocurrido un error al unificar clientes", TipoMensaje.MsgInformacion) End If ObjCliente.Dispose() Inicializa() CargaDatos() End Sub #End Region #Region "P E R S O N A L I Z A R" Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click If ChkGuardarPersonalizacion.Checked Then GuardaPersonalizacion() End If Personaliza(True) End Sub Private Sub GuardaPersonalizacion() Dim objUsuario As New ClsSisUsuarios Dim ListPersonalizada As New List(Of String) If ChkCodigo.Checked Then ListPersonalizada.Add("Codigo") End If If ChkNombre.Checked Then ListPersonalizada.Add("Nombre") End If If ChkRFC.Checked Then ListPersonalizada.Add("RFC") End If If ChkSucursal.Checked Then ListPersonalizada.Add("Sucursal") End If If ChkTelefono.Checked Then ListPersonalizada.Add("Telefono") End If If ChkVendedor.Checked Then ListPersonalizada.Add("Vendedor") End If If ChkEstadoSis.Checked Then ListPersonalizada.Add("EstadoSis") End If If ChkFechaIng.Checked Then ListPersonalizada.Add("FechaIng") End If If ChkUsuario.Checked Then ListPersonalizada.Add("Usuario") End If If ChkNombreCorto.Checked Then ListPersonalizada.Add("NombreCorto") End If If ChkNoExt.Checked Then ListPersonalizada.Add("NoExt") End If If ChkNoInt.Checked Then ListPersonalizada.Add("NoInt") End If If ChkColonia.Checked Then ListPersonalizada.Add("Colonia") End If If ChkCiudad.Checked Then ListPersonalizada.Add("Ciudad") End If If ChkEstado.Checked Then ListPersonalizada.Add("Estado") End If If ChkPais.Checked Then ListPersonalizada.Add("Pais") End If If ChkCP.Checked Then ListPersonalizada.Add("CP") End If If ChkContacto.Checked Then ListPersonalizada.Add("Contacto") End If If ChkMail.Checked Then ListPersonalizada.Add("Mail") End If If ChkRecepcionFacturas.Checked Then ListPersonalizada.Add("RecepcionFacturas") End If If ChkRetIVA.Checked Then ListPersonalizada.Add("RetIVA") End If If ChkRetISR.Checked Then ListPersonalizada.Add("RetISR") End If If ChkPlazoCobranza.Checked Then ListPersonalizada.Add("PlazoCobranza") End If If ChkLimiteCredito.Checked Then ListPersonalizada.Add("LimiteCredito") End If 'If ChkCIE.Checked Then ' ListPersonalizada.Add("CIE") 'End If If ChkCalle.Checked Then ListPersonalizada.Add("Calle") End If If ChkCelular.Checked Then ListPersonalizada.Add("Celular") End If If ChkCorreoCotizacion.Checked Then ListPersonalizada.Add("CorreoCotizacion") End If If ChkOtroTelefono.Checked Then ListPersonalizada.Add("OtroTelefono") End If If ChkPermiteCredito.Checked Then ListPersonalizada.Add("PermiteCredito") End If If chkFechaLimiteCredito.Checked Then ListPersonalizada.Add("FechaLimiteCredito") End If If objUsuario.AddUsuariosPersonalizaciones(UsuarioActual, "CatClientes.aspx", String.Join("|", ListPersonalizada)) Then 'Alert("Personalizacion guardada") End If objUsuario.Dispose() End Sub Private Sub CargaPersonalizacion(Optional RecargaDatos As Boolean = False) Dim strBasePersonalizacion As String = UsuarioActual.Personalizaciones("CatClientes.aspx") If strBasePersonalizacion.Trim.Length > 0 Then ChkCodigo.Checked = False ChkNombre.Checked = False ChkRFC.Checked = False ChkSucursal.Checked = False ChkTelefono.Checked = False ChkVendedor.Checked = False ChkEstadoSis.Checked = False ChkFechaIng.Checked = False ChkUsuario.Checked = False ChkNombreCorto.Checked = False ChkVendedor.Checked = False ChkNoExt.Checked = False ChkNoInt.Checked = False ChkColonia.Checked = False ChkCiudad.Checked = False ChkEstado.Checked = False ChkPais.Checked = False ChkCP.Checked = False ChkContacto.Checked = False ChkMail.Checked = False ChkRecepcionFacturas.Checked = False ChkRetIVA.Checked = False ChkRetISR.Checked = False ChkPlazoCobranza.Checked = False ChkLimiteCredito.Checked = False ChkCalle.Checked = False ChkCelular.Checked = False ChkCorreoCotizacion.Checked = False ChkOtroTelefono.Checked = False ChkPermiteCredito.Checked = False chkFechaLimiteCredito.Checked = False Dim Personalizaciones As String() = strBasePersonalizacion.Split("|"c) For Each personalizacion As String In Personalizaciones Select Case personalizacion Case "Codigo" ChkCodigo.Checked = True Exit Select Case "Nombre" ChkNombre.Checked = True Exit Select Case "RFC" ChkRFC.Checked = True Exit Select Case "Sucursal" ChkSucursal.Checked = True Exit Select Case "Telefono" ChkTelefono.Checked = True Exit Select Case "Vendedor" ChkVendedor.Checked = True Exit Select Case "EstadoSis" ChkEstadoSis.Checked = True Exit Select Case "FechaIng" ChkFechaIng.Checked = True Exit Select Case "Usuario" ChkUsuario.Checked = True Exit Select Case "NombreCorto" ChkNombreCorto.Checked = True Exit Select Case "NoExt" ChkNoExt.Checked = True Exit Select Case "NoInt" ChkNoInt.Checked = True Exit Select Case "Colonia" ChkColonia.Checked = True Exit Select Case "Ciudad" ChkCiudad.Checked = True Exit Select Case "Estado" ChkEstado.Checked = True Exit Select Case "Pais" ChkPais.Checked = True Exit Select Case "CP" ChkCP.Checked = True Exit Select Case "Contacto" ChkContacto.Checked = True Exit Select Case "Mail" ChkMail.Checked = True Exit Select Case "RecepcionFacturas" ChkRecepcionFacturas.Checked = True Exit Select Case "RetIVA" ChkRetIVA.Checked = True Exit Select Case "RetISR" ChkRetISR.Checked = True Exit Select Case "PlazoCobranza" ChkPlazoCobranza.Checked = True Exit Select Case "LimiteCredito" ChkLimiteCredito.Checked = True Exit Select 'Case "CIE" ' ChkCIE.Checked = True ' Exit Select Case "Calle" ChkCalle.Checked = True Exit Select Case "Celular" ChkCelular.Checked = True Exit Select Case "CorreoCotizacion" ChkCorreoCotizacion.Checked = True Exit Select Case "OtroTelefono" ChkOtroTelefono.Checked = True Exit Select Case "PermiteCredito" ChkPermiteCredito.Checked = True Exit Select Case "FechaLimiteCredito" chkFechaLimiteCredito.Checked = True Exit Select Case Else Exit Select End Select Next Personaliza(RecargaDatos) Else PersonalizaDefault() End If UPPersonalizar.Update() End Sub Private Sub PersonalizaDefault() End Sub Private Sub Personaliza(Optional RecargaDatos As Boolean = False) GvDatos.Columns(0).Visible = ChkCodigo.Checked GvDatos.Columns(1).Visible = ChkNombre.Checked GvDatos.Columns(2).Visible = ChkRFC.Checked GvDatos.Columns(3).Visible = ChkSucursal.Checked GvDatos.Columns(4).Visible = ChkTelefono.Checked GvDatos.Columns(5).Visible = ChkVendedor.Checked GvDatos.Columns(6).Visible = ChkEstadoSis.Checked GvDatos.Columns(7).Visible = ChkFechaIng.Checked GvDatos.Columns(8).Visible = ChkUsuario.Checked GvDatos.Columns(9).Visible = ChkNombreCorto.Checked ' GvDatos.Columns(10).Visible = ChkVendedor.Checked GvDatos.Columns(10).Visible = ChkNoExt.Checked GvDatos.Columns(11).Visible = ChkNoInt.Checked GvDatos.Columns(12).Visible = ChkColonia.Checked GvDatos.Columns(13).Visible = ChkCiudad.Checked GvDatos.Columns(14).Visible = ChkEstado.Checked GvDatos.Columns(15).Visible = ChkPais.Checked GvDatos.Columns(16).Visible = ChkCP.Checked GvDatos.Columns(17).Visible = ChkContacto.Checked GvDatos.Columns(18).Visible = ChkMail.Checked GvDatos.Columns(19).Visible = ChkRecepcionFacturas.Checked GvDatos.Columns(20).Visible = ChkRetIVA.Checked GvDatos.Columns(21).Visible = ChkRetISR.Checked GvDatos.Columns(22).Visible = ChkPlazoCobranza.Checked GvDatos.Columns(23).Visible = ChkLimiteCredito.Checked 'GvDatos.Columns(24).Visible = ChkCIE.Checked GvDatos.Columns(24).Visible = ChkCalle.Checked GvDatos.Columns(25).Visible = ChkCelular.Checked GvDatos.Columns(26).Visible = ChkCorreoCotizacion.Checked GvDatos.Columns(27).Visible = ChkOtroTelefono.Checked GvDatos.Columns(28).Visible = ChkPermiteCredito.Checked GvDatos.Columns(29).Visible = chkFechaLimiteCredito.Checked If RecargaDatos Then CargaDatos() UPDatos.Update() End Sub #End Region End Class