-- Selección y deselección de asiento de pasajero y cambio de estilos. Cancelación y Activación de boletos y modificación en boletos.aspx

This commit is contained in:
AbrahamCastilloV
2023-12-26 18:57:10 -07:00
parent 34900fa1d4
commit 04ed7ea3a1
5 changed files with 91 additions and 66 deletions

View File

@@ -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"

View File

@@ -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;
}
</style>
</asp:Content>
@@ -217,7 +221,7 @@
</div>
</div>
@@ -228,8 +232,8 @@
<table>
<tbody>
<tr>
<td colspan="5" class="chofer my-1">
<asp:LinkButton ID="chofer" runat="server" class="chofer"
<td colspan="2" class="btnChofer my-1">
<asp:LinkButton ID="chofer" runat="server"
Text="<i class='fa fa-user'><br/>Chofer</i>" />
</td>
</tr>

View File

@@ -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()

View File

@@ -10,7 +10,6 @@
.my-1 {
margin-block: 1rem;
}
</style>
</asp:Content>
@@ -42,14 +41,14 @@
<div class="portlet light xspadding bordered margin-bottom-10">
<asp:GridView ID="GvBoletos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningún boleto registrado"
CssClass="table table-striped table-hover Widthall ScrollAD text-center" GridLines="None"
data-sort="true">
data-sort="true" DataKeyNames="CveViajePasajero,CveViaje,CveDestinoOrigen,CveDestinoFinal,Importe,Asiento,Nombre,Visa,Celular,Sexo,Observacion,Estatus,CveUsuario,FechaIng">
<Columns>
<asp:TemplateField HeaderText="No. Asiento">
<ItemTemplate>
<asp:Literal ID="LtlAsiento" runat="server" Text='<%# Eval("Asiento") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>
<asp:TemplateField HeaderText="Nombre">
<ItemTemplate>
@@ -87,10 +86,10 @@
<ItemTemplate>
<asp:LinkButton ID="BtnEditar" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminar" runat="server" AlternateText="Eliminar"
<asp:LinkButton ID="BtnToggle" runat="server" AlternateText="Activar/Desactivar"
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-cancel'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
data-toggle="confirmation" data-popout="true" data-original-title='<%# If(Eval("Estatus").ToString = "True", "Cancelar Boleto", "Reactivar") %>'
data-btn-ok-label="si" OnClick="ToggleViajesPasajeros" />
<asp:LinkButton ID="BtnViaje" runat="server" AlternateText="Viaje"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-print'></i>" />
@@ -99,7 +98,7 @@
</Columns>
</asp:GridView>
</div>
</asp:Content>

View File

@@ -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