Option Strict On Option Explicit On Imports System.Data Imports System.IO Imports System.Net Imports Extensiones Imports Microsoft.Reporting.WebForms Imports Newtonsoft.Json.Linq Imports System.Linq Imports System.Net.Http Partial Class GPS_RecursoConfiableTracking Inherits ClsPaginas Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then CargaDatos() End If End Sub Private Sub CargaDatos() CargaDispositivos() CargaTracking() End Sub Public Sub CargaDispositivos() Dim DtDispositivos As DataTable = GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario).FiltraParametros("Estatus = 1 AND PlacasVehiculo IS NOT NULL AND PlacasVehiculo <> ''") DdlDispositivoFiltro.DataSource = DtDispositivos DdlDispositivoFiltro.DataBind() DdlDispositivoFiltro.Items.Insert(0, New ListItem("Todos", "-1")) DdlDispositivo.DataSource = DtDispositivos DdlDispositivo.DataBind() DdlDispositivo.Items.Insert(0, New ListItem("Seleccione", "-1")) UpAgregar.Update() End Sub Private Sub CargaTracking() Dim FechaI As DateTime = If(IsDate(txtFechaI.Text), txtFechaI.Text.ToDateTime(), MinFecha) Dim FechaF As DateTime = If(IsDate(txtFechaF.Text), txtFechaF.Text.ToDateTime(), MaxFecha) Dim ObjGPS As New ClsGPS If ObjGPS.GetRCTracking(-1, DdlDispositivoFiltro.SelectedValue.ToEntero(), DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveCliente, UsuarioActual.CveEmpresa, FechaI, FechaF) Then GvDatos.DataSource = ObjGPS.DtResultados End If ObjGPS.Dispose() GvDatos.DataBind() UpDatos.Update() End Sub Protected Sub LnkAgregarTracking_Click(sender As Object, e As EventArgs) RegistraScript("$('#DivAgregar').modal('show');") End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaTracking() End Sub Protected Sub LnkCambiarEstatus_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim CveRCTracking As Integer = GvRow.DataKey("CveRCTracking").ToEntero() Dim Estatus As Boolean = CBool(GvRow.DataKey("CveEstatus").ToEntero()) Dim ObjGPS As New ClsGPS If ObjGPS.UpdateRCTrackingEstatus(CveRCTracking, Not Estatus, UsuarioActual.CveUsuario) Then Alert("El tracking fue desactivado correctamente") Else Alert("Ocurrió un error al actualizar el estatus", TipoMensaje.MsgError) End If ObjGPS.Dispose() CargaDatos() End Sub Protected Sub GvDatos_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) End Sub Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs) Dim Nombre As String = TxtNombre.Text.Trim() Dim CveDispositivo As Integer = DdlDispositivo.SelectedValue.ToEntero() Dim Shipment As String = TxtShipment.Text.Trim() Dim ObjGPS As New ClsGPS Dim CveRCTracking As Integer = ObjGPS.AddRCTracking(Nombre, CveDispositivo, Shipment, UsuarioActual.CveUsuario, UsuarioActual.CveCliente, UsuarioActual.CveEmpresa) If CveRCTracking > 0 Then Alert("El tracking fue agregado correctamente") Else Alert("Ocurrió un error el tracking", TipoMensaje.MsgError) End If ObjGPS.Dispose() CargaDatos() RegistraScript("$('#DivAgregar').modal('hide');") End Sub Protected Sub DdlDispositivo_SelectedIndexChanged(sender As Object, e As EventArgs) Dim CveDispositivo As Integer = DdlDispositivo.SelectedValue.ToEntero() Dim RowDispositivo As DataRow = GlobalDTDispositivosUsuarios(UsuarioActual.CveCliente, UsuarioActual.CveUsuario).FiltroPrimero($"CveDispositivo = {CveDispositivo}") If RowDispositivo IsNot Nothing Then If String.IsNullOrEmpty(RowDispositivo("PlacasVehiculo").ToString()) Then Alert("El vehiculo no tiene placas asignadas", TipoMensaje.MsgAdvertencia) BtnAgregar.Enabled = False Else BtnAgregar.Enabled = True End If End If UpAgregar.Update() End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CveEstatus") = "1" Then e.Row.FCLabel("LblEstatus").CssClass = "badge badge-success" ElseIf e.Row.DBCampo("CveEstatus") = "0" Then e.Row.FCLabel("LblEstatus").CssClass = "badge badge-secondary" End If End If End Sub End Class