diff --git a/App_Code/ClsTransportes.vb b/App_Code/ClsTransportes.vb index 57e0f982c..46f930bfe 100644 --- a/App_Code/ClsTransportes.vb +++ b/App_Code/ClsTransportes.vb @@ -14,8 +14,7 @@ Public Class ClsTransportes Private Data As DataTable Private DSet As New DataSet - Private disposedValue As Boolean = False ' Para detectar llamadas redundantes - 'REGISTRAR CONEXIÓN + Private disposedValue As Boolean = False Private CveConexion As Integer = 0 Public ReadOnly Property DtResultados() As DataTable Get @@ -164,7 +163,6 @@ Public Class ClsTransportes Return Retorno End Function - Public Function GetViajes(CveViaje As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -194,34 +192,6 @@ Public Class ClsTransportes Return Retorno End Function - 'Public Function AddViajePasajero(CveRuta As Integer, CveAF As Integer, CvePersonal As Integer, CveEmpresa As Integer, Fecha As DateTime, CvePartida As Integer, CveDestino As Integer, Optional IsMasivo As Boolean = False, Optional CveMasivo As Integer = -1) As Integer - ' Dim Retorno As Integer = -1 - - ' DataAdapter("PA_Trans_ViajesAdd") - - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@CveViaje", SqlDbType.Int).Direction = ParameterDirection.Output - ' .Add("@CveRuta", SqlDbType.Int).Value = CveRuta - ' .Add("@CveAF", SqlDbType.Int).Value = CveAF - ' .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal - ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - ' .Add("@Fecha", SqlDbType.DateTime).Value = Fecha - ' .Add("@CvePartida", SqlDbType.Int).Value = CvePartida - ' .Add("@CveDestino", SqlDbType.Int).Value = CveDestino - ' .Add("@IsMasivo", SqlDbType.Bit).Value = IsMasivo - ' .Add("@CveMasivo", SqlDbType.Int).Value = CveMasivo - ' End With - - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = CInt(SqlAdapter.SelectCommand.Parameters("@CveViaje").Value.ToString) - - ' Catch ex As Exception - ' OnError("Ocurrió un error al guardar el nuevo viaje.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - ' End Try - - ' Return Retorno - 'End Function Public Function RemoveViaje(Optional CveViaje As Integer = -1, Optional CveMasivo As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -271,42 +241,45 @@ Public Class ClsTransportes #End Region #Region "Boletos" - Public Function AddViajePasajeros(CveViaje As Integer, CveDestinoOrigen As Integer, CveDestinoFinal As Integer, Importe As Decimal, Asiento As Integer, Nombre As String, Visa As String, Celular As String, Sexo As Boolean, Observacion As String, CveUsuario As Integer) As Integer + Public Function AddViajesPasajeros(CveViaje As Integer, CveDestinoOrigen As Integer, CveDestinoFinal As Integer, Importe As Decimal, Asiento As Integer, Nombre As String, Visa As String, Celular As String, Sexo As Boolean, Observacion As String, CveUsuario As Integer) As Integer Dim Retorno As Integer = -1 - DataAdapter("PA_Trans_ViajesPasajerosAdd") + DataAdapter("PA_Trans_ViajesAdd") + With SqlAdapter.SelectCommand.Parameters .Add("@CveViajePasajero", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@CveViaje", SqlDbType.Int).Value = CveViaje .Add("@CveDestinoOrigen", SqlDbType.Int).Value = CveDestinoOrigen .Add("@CveDestinoFinal", SqlDbType.Int).Value = CveDestinoFinal - .Add("@Importe", SqlDbType.SmallMoney).Value = Importe - .Add("@Asiento", SqlDbType.TinyInt).Value = Asiento + .Add("@Importe", SqlDbType.Money).Value = Importe + .Add("@Asiento", SqlDbType.Int).Value = Asiento .Add("@Nombre", SqlDbType.VarChar).Value = Nombre .Add("@Visa", SqlDbType.VarChar).Value = Visa .Add("@Celular", SqlDbType.VarChar).Value = Celular .Add("@Sexo", SqlDbType.Bit).Value = Sexo .Add("@Observacion", SqlDbType.VarChar).Value = Observacion - .Add("@Estatus", SqlDbType.Bit).Value = 1 .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + End With + Try SqlAdapter.Fill(Data) Retorno = CInt(SqlAdapter.SelectCommand.Parameters("@CveViajePasajero").Value.ToString) + Catch ex As Exception - OnError("Ocurrió un error al guardar el nuevo boleto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + OnError("Ocurrió un error al guardar el nuevo viaje.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try Return Retorno End Function - Public Function GetViajesPasajeros(CveViaje As Integer, Optional CveViajePasajero As Integer = 0) As Boolean + Public Function GetViajesPasajeros(CveViaje As Integer, Optional CveViajePasajero As Integer = 0, Optional Estatus As Boolean = False) As Boolean Dim Retorno As Boolean = False - DataAdapter("[PA_Trans_ViajesPasajerosGet]") - If CveViajePasajero <> 0 Then + DataAdapter("PA_Trans_ViajesPasajerosGet") + If Estatus = True Then With SqlAdapter.SelectCommand.Parameters .Add("@CveViaje", SqlDbType.Int).Value = CveViaje - .Add("@CveViajePasajero", SqlDbType.Int).Value = CveViajePasajero + .Add("@Estatus", SqlDbType.Bit).Value = Estatus End With Else With SqlAdapter.SelectCommand.Parameters @@ -318,11 +291,31 @@ Public Class ClsTransportes SqlAdapter.Fill(Data) Retorno = True Catch ex As Exception - OnError("Ocurrió un error al obtener el catálogo de viajes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + OnError("Ocurrió un error al obtener el catálogo de boletos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno End Function + Public Function UpdateViajesPasajeros(CveViajePasajero As Integer, Optional Estatus As Boolean = True, Optional Activar As Boolean = False) As Boolean + + If Activar Then + Dim Retorno As Boolean = False + DataAdapter("PA_Trans_ViajesPasajerosUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveViajePasajero", SqlDbType.Int).Value = CveViajePasajero + .Add("@Estatus", SqlDbType.Int).Value = Estatus + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el boleto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End If + End Function #End Region #Region "Tarifas" diff --git a/Transportes/Boletos.aspx b/Transportes/Boletos.aspx index dd12a91c2..badb0e150 100644 --- a/Transportes/Boletos.aspx +++ b/Transportes/Boletos.aspx @@ -23,12 +23,12 @@ text-align: center; } - .disponible:hover { + .disponible:hover,.disponible.activo { background-color: #45b6af; color: #fff; } - .disponible.activo { + { background-color: #45b6af; color: #fff; } @@ -49,17 +49,21 @@ color: #fff; } - .chofer { - align-items: center; - text-align: center; - background-color: #BFBFBF; + .btnChofer { width: 45px; height: 45px; - border-radius: 10px !important; - margin: 5px; - cursor: pointer; - color: black; + border: 1px solid black; + text-align: center; + color: black } + .btnChofer a{ + color:#2C3E50; + } + + + .btnChofer:hover { + background-color: #E1E5EC; + } @@ -217,7 +221,7 @@ - + @@ -228,8 +232,8 @@ - diff --git a/Transportes/Boletos.aspx.vb b/Transportes/Boletos.aspx.vb index 3b878b195..05c479d40 100644 --- a/Transportes/Boletos.aspx.vb +++ b/Transportes/Boletos.aspx.vb @@ -65,7 +65,7 @@ Partial Class Boletos TxtFecha.Text = ObjViaje.Fecha.ToShortDateString 'Boletos Vendidos Dim dt As DataTable - If ObjViaje.GetViajesPasajeros(CveViaje) Then + If ObjViaje.GetViajesPasajeros(CveViaje, Estatus:=True) Then 'Poner párametro para estatus y cancelado de viajes dt = ObjViaje.DtResultados Dim cph As ContentPlaceHolder = CType(Me.Master.FindControl("C"), ContentPlaceHolder) For Each dr As DataRow In dt.Rows @@ -129,9 +129,13 @@ Partial Class Boletos Dim linkButton As LinkButton = DirectCast(sender, LinkButton) Dim buttonID As String = linkButton.ID linkButton.CssClass += " activo" - ViewState("AsientoSeleccionado") = buttonID + If AsientoSeleccionado <> "" Then + Dim cph As ContentPlaceHolder = CType(Me.Master.FindControl("C"), ContentPlaceHolder) + Dim lnk As LinkButton = CType(cph.FindControl(AsientoSeleccionado), LinkButton) + lnk.CssClass = "disponible" + End If + AsientoSeleccionado = buttonID End Sub - Protected Sub AddBoleto(sender As Object, e As EventArgs) If AsientoSeleccionado = "" Then @@ -144,7 +148,7 @@ Partial Class Boletos Try AsientoSeleccionado = AsientoSeleccionado.Replace("A", "") - Dim retorno As Integer = ObjTransporte.AddViajePasajeros(CveViaje, DdlPartida.SelectedValue.ToEntero, DdlDestino.SelectedValue.ToEntero, Importe, AsientoSeleccionado.ToEntero, TxtNombre.Text, TxtVisa.Text, TxtCelular.Text, CBool(RblSexo.SelectedValue), TxtObservaciones.Text, UsuarioActual.CveUsuario) + Dim retorno As Integer = ObjTransporte.AddViajesPasajeros(CveViaje, DdlPartida.SelectedValue.ToEntero, DdlDestino.SelectedValue.ToEntero, Importe, AsientoSeleccionado.ToEntero, TxtNombre.Text, TxtVisa.Text, TxtCelular.Text, CBool(RblSexo.SelectedValue), TxtObservaciones.Text, UsuarioActual.CveUsuario) If retorno > 1 Then ObjTransporte.Commit() diff --git a/Transportes/ListadoBoletos.aspx b/Transportes/ListadoBoletos.aspx index 56f94003e..69136cf2c 100644 --- a/Transportes/ListadoBoletos.aspx +++ b/Transportes/ListadoBoletos.aspx @@ -10,7 +10,6 @@ .my-1 { margin-block: 1rem; } - @@ -42,14 +41,14 @@
+ data-sort="true" DataKeyNames="CveViajePasajero,CveViaje,CveDestinoOrigen,CveDestinoFinal,Importe,Asiento,Nombre,Visa,Celular,Sexo,Observacion,Estatus,CveUsuario,FechaIng"> - + @@ -87,10 +86,10 @@ - + data-toggle="confirmation" data-popout="true" data-original-title='<%# If(Eval("Estatus").ToString = "True", "Cancelar Boleto", "Reactivar") %>' + data-btn-ok-label="si" OnClick="ToggleViajesPasajeros" /> @@ -99,7 +98,7 @@
- + diff --git a/Transportes/ListadoBoletos.aspx.vb b/Transportes/ListadoBoletos.aspx.vb index 0addc5160..dad0c525d 100644 --- a/Transportes/ListadoBoletos.aspx.vb +++ b/Transportes/ListadoBoletos.aspx.vb @@ -1,5 +1,6 @@ Option Explicit On Option Strict On +Imports ADSNetLibrary.Helpers Imports ADSNetLibrary.SIGAPI.Helpers Imports Extensiones.ModExtensiones @@ -40,4 +41,28 @@ Partial Class ListadoBoletos End If End Sub + Protected Sub ToggleViajesPasajeros(sender As Object, e As EventArgs) + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + Dim CveViajePasajero As String = GvRow.DataKey("CveViajePasajero") + Dim Estatus As String = GvRow.DataKey("Estatus") + Dim cambiarEstatus As Boolean = Not Estatus.ToBool + Dim ObjTransportes As New ClsTransportes + + Try + ObjTransportes.IniciaTransacSQL() + If ObjTransportes.UpdateViajesPasajeros(CveViajePasajero.ToEntero, Activar:=True, Estatus:=cambiarEstatus) Then + Alert("El boleto ha sido cancelado correctamente.") + End If + ObjTransportes.Commit() + + Catch ex As Exception + ObjTransportes.RollBack() + Alert($"No se pudo cambiar el estatus del boleto {ex}", TipoMensaje.MsgError) + Finally + ObjTransportes.Dispose() + CargaDatos() + End Try + + End Sub + End Class \ No newline at end of file
- +