This commit is contained in:
2024-02-07 05:20:04 -07:00
26 changed files with 5100 additions and 551 deletions

View File

@@ -33,11 +33,6 @@
color: #fff;
}
{
background-color: #45b6af;
color: #fff;
}
.nodisponible {
display: inline-block;
width: 45px;
@@ -74,8 +69,9 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="upPanel">
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpPanel">
<ContentTemplate>
<%-- Datos de cliente y su viaje --%>
<div class="col-md-8">
<div class="portlet light xspadding bordered">
<div class="portlet-title">
@@ -158,6 +154,7 @@
<label for="<%= TxtRuta.ClientID.ToString()%>">Ruta:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
@@ -174,6 +171,7 @@
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
@@ -181,8 +179,8 @@
<label for="<%= TxtFecha.ClientID.ToString()%>">Fecha:</label>
</div>
</div>
<div class="col-md-6">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlDestino" AppendDataBoundItems="true" DataTextField="Destino"
AutoPostBack="true"
@@ -196,10 +194,8 @@
<label for="<%= DdlDestino.ClientID.ToString()%>">Destino:</label>
</div>
</div>
</div>
<div class="row">
<asp:Label runat="server" ID="TxtCosto" CssClass="text-success bold mx-1"></asp:Label>
<br />
@@ -209,14 +205,10 @@
ValidationGroup="GrpGuardar"></asp:Button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<%-- Asientos --%>
<div class="col-md-4">
<div class="portlet light xspadding bordered margin-bottom-10">
<table>
@@ -468,10 +460,8 @@
</tr>
</tbody>
</table>
</div>
</div>
</ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

View File

@@ -119,11 +119,11 @@ Partial Class Boletos
ViewState("Importe") = ImporteR
TxtCosto.Text = $"El precio de su boleto es ${ImporteR.FormatoNumero}"
BtnGuardar.Visible = True
upPanel.Visible = True
UpPanel.Visible = True
Else
TxtCosto.Text = ""
BtnGuardar.Visible = False
upPanel.Visible = False
UpPanel.Visible = False
ViewState("Importe") = 0
End If
End If
@@ -156,9 +156,7 @@ Partial Class Boletos
Try
AsientoSeleccionado = AsientoSeleccionado.Replace("A", "")
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, UsuarioActual.CveEmpresa)
If retorno > 1 Then
If 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, UsuarioActual.CveEmpresa) > 1 Then
Alert("Boleto generado correctamente")
ObjTransporte.Commit()
DdlPartida.SelectedValue = ""
@@ -168,13 +166,14 @@ Partial Class Boletos
TxtCelular.Text = ""
TxtObservaciones.Text = ""
AsientoSeleccionado = ""
upPanel.Update()
End If
Catch ex As Exception
ObjTransporte.RollBack()
Alert($"No se pudo generar el boleto {ex}", TipoMensaje.MsgError)
Finally
ObjTransporte.Dispose()
CargaDatos()
UpPanel.Update()
End Try
End Sub

404
Transportes/CatRutas.aspx Normal file
View File

@@ -0,0 +1,404 @@
<%@ Page Language="VB" Title="Transportes V&A - Rutas" AutoEventWireup="false"
MasterPageFile="~/Site.master" CodeFile="CatRutas.aspx.vb"
Inherits="CatRutas" EnableEventValidation="true" %>
<asp:Content ID="Content1" ContentPlaceHolderID="E" runat="Server">
Rutas y Destinos
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.spaced {
display: flex;
justify-content: space-between;
margin-block: 1rem;
}
.my-1 {
margin-block: 1rem;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server" ID="UpPanel" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlGeneral" runat="server">
<%--Calendario Tab--%>
<ajax:TabContainer ID="Tab" runat="server" Width="100%" ActiveTabIndex="0">
<%--Rutas Tab--%>
<ajax:TabPanel ID="TabRutas" runat="server" HeaderText="Rutas">
<ContentTemplate>
<div class="spaced">
<div>
<asp:LinkButton ID="BtnAgregarRuta" runat="server" AlternateText="Agregar"
CssClass="btn bsuccesscle btn-sm green" OnClick="MostrarModal" Text="<i class='fa fa-add'>Agregar</i>"
ToolTip="Agregar" />
</div>
<div>
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvRutas.ClientID) %>"
style="display: inline-block; margin-right: -10px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvRutas.ClientID) %>"
style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier">
</i></a>
</div>
</div>
<asp:GridView ID="GvRutas" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveRuta, Ruta, Estatus, CveUsuario, FechaIng, CveEmpresa">
<Columns>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="No. Ruta">
<ItemTemplate>
<asp:Literal ID="LtlCveRuta" runat="server" Text='<%# Eval("CveRuta") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Ruta">
<ItemTemplate>
<asp:Literal ID="LtlRuta" runat="server" Text='<%# Eval("Ruta") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Estatus">
<ItemTemplate>
<asp:Label ID="LtlEstatus" runat="server" Text='<%# If(Eval("Estatus").ToString = "True", "Activo", "Inactivo") %>'
CssClass='<%# If(Eval("Estatus").ToString = "True", "text-success", "text-danger") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditarRuta" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" OnClick="MostrarModal" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminarRuta" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" OnClick="RemoveRuta" Text="<i class='fa fa-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<%--Destinos Tab--%>
<ajax:TabPanel ID="TabDestinos" runat="server" HeaderText="Destinos">
<ContentTemplate>
<div class="spaced">
<div>
<asp:LinkButton ID="BtnAgregarDestino" runat="server" AlternateText="Agregar"
CssClass="btn btn-success btn-sm green" OnClick="MostrarModal" Text="<i class='fa fa-add'>Agregar</i>"
ToolTip="Agregar" />
</div>
<div>
<div class="row my-1" style="margin-right: 10px; margin-top: 10px;" align="right">
<input type="text" id="TxtBusqueda1" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDestinos.ClientID) %>"
style="display: inline-block; margin-right: -10px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDestinos.ClientID) %>"
style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier">
</i></a>
</div>
</div>
</div>
<asp:GridView ID="GvDestinos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveDestino, Destino, EsNacional, Estatus, CveUsuario, FechaIng, CveEmpresa">
<Columns>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="No. Destino">
<ItemTemplate>
<asp:Literal ID="LtlCveDestino" runat="server" Text='<%# Eval("CveDestino") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Destino">
<ItemTemplate>
<asp:Literal ID="LtlDestino" runat="server" Text='<%# Eval("Destino") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Estatus">
<ItemTemplate>
<asp:Label ID="LtlEstatus" runat="server" Text='<%# If(Eval("Estatus").ToString = "True", "Activo", "Inactivo") %>'
CssClass='<%# If(Eval("Estatus").ToString = "True", "text-success", "text-danger") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Nacional">
<ItemTemplate>
<asp:Label ID="LtlEsNacional" runat="server" Text='<%# If(Eval("EsNacional").ToString = "True", "Sí", "No") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditarDestino" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" OnClick="MostrarModal" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminarDestino" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" OnClick="RemoveDestino" Text="<i class='fa fa-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<%--Importes Tab--%>
<ajax:TabPanel ID="TabImportes" runat="server" HeaderText="Importes">
<ContentTemplate>
<div class="spaced">
<div>
<asp:LinkButton ID="BtnAgregarImporte" runat="server" AlternateText="Agregar"
CssClass="btn btn-success btn-sm green" OnClick="MostrarModal" Text="<i class='fa fa-add'>Agregar</i>"
ToolTip="Agregar" />
</div>
<div>
<div class="row my-1" style="margin-right: 10px; margin-top: 10px;" align="right">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvImportes.ClientID) %>"
style="display: inline-block; margin-right: -10px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvImportes.ClientID) %>"
style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier">
</i></a>
</div>
</div>
</div>
<asp:GridView ID="GvImportes" runat="server" AutoGenerateColumns="false" EmptyDataText="No
se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveDestinoTarifa, CveRuta, CveDestinoOrigen, CveDestinoFinal, Importe, Destino, Salida">
<Columns>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="No. Importe">
<ItemTemplate>
<asp:Literal ID="LtlCveDestinoTarifa" runat="server" Text='<%# Eval("CveDestinoTarifa")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Ruta">
<ItemTemplate>
<asp:Literal ID="LtlCveRuta" runat="server" Text='<%# Eval("Ruta")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Destino">
<ItemTemplate>
<asp:Literal ID="LtlDestino" runat="server" Text='<%# Eval("Destino")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Salida">
<ItemTemplate>
<asp:Literal ID="LtlSalida" runat="server" Text='<%# Eval("Salida")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="bold text-center" HeaderText="Importe">
<ItemTemplate>
<asp:Literal ID="LtlImporte" runat="server" Text='<%# Eval("Importe")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditarImporte" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" OnClick="MostrarModal" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminarImporte" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" OnClick="RemoveImporte" Text="<i class='fa fa-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<div id="Modal" class="modal ADS fade" role="dialog">
<asp:UpdatePanel runat="server" ID="UpModal" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog rowpadding">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<asp:Label runat="server" ID="ModalLabel"></asp:Label>
</div>
<div class="modal-body">
<%-- Ruta --%>
<asp:Panel runat="server" ID="PnRuta" Visible="False">
<div class="row my-1">
<label class="col-md-4">Nombre de la ruta</label>
<div class="col-md-8">
<asp:TextBox ID="TxtRuta" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRuta" runat="server" ControlToValidate="TxtRuta"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ruta''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERuta" runat="server" HighlightCssClass="vco"
TargetControlID="RFVRuta" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">Estatus:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlRutaEstatus" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="99.9%">
<asp:ListItem Text="Seleccione" Value="" Selected="True"></asp:ListItem>
<asp:ListItem Text="Activo" Value="True"></asp:ListItem>
<asp:ListItem Text="Inactivo" Value="False"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVRutaEstatus" runat="server" ControlToValidate="DdlRutaEstatus"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Estatus''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERutaEstatus" runat="server" HighlightCssClass="vco"
TargetControlID="RFVRutaEstatus" Width="400px" BehaviorID="_content_VCERutaEstatus">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</asp:Panel>
<%-- Destino --%>
<asp:Panel ID="PnDestino" runat="server" Visible="false">
<div class="row my-1">
<label class="col-md-4">Nombre del Destino</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDestino" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDestino" runat="server" ControlToValidate="TxtDestino"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Destino''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDestino" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDestino" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">Nacional:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlEsNacional" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="99.9%">
<asp:ListItem Text="Seleccione" Value="" Selected="True"></asp:ListItem>
<asp:ListItem Text="Sí" Value="True"></asp:ListItem>
<asp:ListItem Text="No" Value="False"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVEsNacional" runat="server" ControlToValidate="DdlEsNacional"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nacional''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEEsNacional" runat="server" HighlightCssClass="vco"
TargetControlID="RFVEsNacional" Width="400px" BehaviorID="_content_VCEEsNacional">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">Estatus:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlDestinoEstatus" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="99.9%">
<asp:ListItem Text="Seleccione" Value="" Selected="True"></asp:ListItem>
<asp:ListItem Text="Activo" Value="True"></asp:ListItem>
<asp:ListItem Text="Inactivo" Value="False"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVDestinoEstatus" runat="server" ControlToValidate="DdlDestinoEstatus"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Estatus''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDestinoEstatus" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDestinoEstatus" Width="400px" BehaviorID="_content_VCEDestinoEstatus">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</asp:Panel>
<%-- Importes --%>
<asp:Panel ID="PnImporte" runat="server" Visible="false">
<div class="row my-1">
<label class="col-md-4">Ruta:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlRutas" AppendDataBoundItems="true" DataTextField="Ruta"
DataValueField="CveRuta" Class="form-control input-sm select2me"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVRutas" runat="server" ControlToValidate="DdlRutas"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ruta''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERutas" runat="server" HighlightCssClass="vco"
TargetControlID="RFVRutas" Width="400px" BehaviorID="_content_VCERutas">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">Partida:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlOrigen" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="99.9%" DataTextField="Destino"
DataValueField="CveDestino">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVOrigen" runat="server" ControlToValidate="DdlOrigen"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Partida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEOrigen" runat="server" HighlightCssClass="vco"
TargetControlID="RFVOrigen" Width="400px" BehaviorID="_content_VCEOrigen">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">Destino:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlFinal" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="99.9%" DataTextField="Destino"
DataValueField="CveDestino">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVFinal" runat="server" ControlToValidate="DdlFinal"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Origen''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFinal" runat="server" HighlightCssClass="vco"
TargetControlID="RFVFinal" Width="400px" BehaviorID="_content_VCEFinal">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">Importe</label>
<div class="col-md-8">
<asp:TextBox type="number" ID="TxtImporte" runat="server" MaxLength="7" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVImporte" runat="server" ControlToValidate="TxtImporte"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="VCOImporte"
TargetControlID="RFVDestino" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</asp:Panel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnAddRuta" OnClick="AddRuta" runat="server" CssClass="btn btn-primary"
ValidationGroup="GrpGuardar" Visible="false"></asp:Button>
<asp:Button ID="BtnAddDestino" OnClick="AddDestino" runat="server" CssClass="btn btn-primary"
ValidationGroup="GrpGuardar" Visible="false"></asp:Button>
<asp:Button ID="BtnAddImporte" OnClick="AddImporte" runat="server" CssClass="btn btn-primary"
ValidationGroup="GrpGuardar" Visible="false"></asp:Button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>

View File

@@ -0,0 +1,291 @@
Option Explicit On
Option Strict On
Imports ADSNetLibrary.SIGAPI.Helpers
Imports Extensiones
Imports Extensiones.ModExtensiones
Partial Class CatRutas
Inherits ClsPaginas
Private Property Cve As Integer
Get
Return ViewState("Cve").ToString().ToEntero
End Get
Set(value As Integer)
ViewState("Cve") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
ViewState("Cve") = 0
InicializarCombos()
CargaDatos()
End If
End Sub
Private Sub CargaDatos()
'Lista Rutas'
Dim ObjRutas As New ClsTransportes()
If ObjRutas.GetRutas(-1, -1, -1, "", True, DateTime.Now) Then
If ObjRutas.DtResultados.Rows.Count > 0 Then
GvRutas.DataSource = ObjRutas.DtResultados
GvRutas.DataBind()
End If
End If
'Lista Destinos'
If ObjRutas.GetDestinos() Then
If ObjRutas.DtResultados.Rows.Count > 0 Then
GvDestinos.DataSource = ObjRutas.DtResultados
GvDestinos.DataBind()
End If
End If
'Lista Importes'
If ObjRutas.GetDestinosTarifas(-1, -1) Then
If ObjRutas.DtResultados.Rows.Count > 0 Then
GvImportes.DataSource = ObjRutas.DtResultados
GvImportes.DataBind()
End If
End If
UpPanel.Update()
End Sub
Private Sub InicializarCombos()
Dim ObjDestinos As New ClsTransportes()
If ObjDestinos.GetDestinos() Then
If ObjDestinos.DtResultados.Rows.Count > 0 Then
DdlOrigen.DataSource = ObjDestinos.DtResultados
DdlOrigen.DataBind()
DdlOrigen.Items.Insert(0, New ListItem("Seleccione Partida", ""))
DdlFinal.DataSource = ObjDestinos.DtResultados
DdlFinal.DataBind()
DdlFinal.Items.Insert(0, New ListItem("Seleccione Destino", ""))
End If
End If
ObjDestinos.Dispose()
Dim ObjRutas As New ClsTransportes()
If ObjRutas.GetRutas(-1, -1, -1, "", True, DateTime.Now) Then
If ObjRutas.DtResultados.Rows.Count > 0 Then
DdlRutas.DataSource = ObjRutas.DtResultados
DdlRutas.DataBind()
DdlRutas.Items.Insert(0, New ListItem("Seleccione Ruta", ""))
End If
End If
End Sub
Protected Sub MostrarModal(sender As Object, e As EventArgs)
TxtRuta.Text = ""
DdlRutaEstatus.SelectedValue = ""
TxtDestino.Text = ""
DdlEsNacional.SelectedValue = ""
DdlDestinoEstatus.SelectedValue = ""
DdlOrigen.SelectedValue = ""
DdlFinal.SelectedValue = ""
TxtImporte.Text = ""
BtnAddRuta.Visible = False
BtnAddDestino.Visible = False
BtnAddImporte.Visible = False
PnRuta.Visible = False
PnDestino.Visible = False
PnImporte.Visible = False
Dim id As String = DirectCast(sender, LinkButton).ID
If id.Contains("Editar") Then
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Select Case id
Case "BtnEditarRuta"
ModalLabel.Text = "Editar Ruta"
PnRuta.Visible = True
TxtRuta.Text = GvRow.DataKey("Ruta")
DdlRutaEstatus.SelectedValue = GvRow.DataKey("Estatus")
BtnAddRuta.Visible = True
BtnAddRuta.Text = "Editar"
ViewState("Cve") = GvRow.DataKey("CveRuta").ToEntero
Case "BtnEditarDestino"
ModalLabel.Text = "Editar Destino"
TxtDestino.Text = GvRow.DataKey("Destino")
DdlEsNacional.SelectedValue = GvRow.DataKey("EsNacional")
DdlDestinoEstatus.SelectedValue = GvRow.DataKey("Estatus")
PnDestino.Visible = True
BtnAddDestino.Visible = True
BtnAddDestino.Text = "Editar"
ViewState("Cve") = GvRow.DataKey("CveDestino").ToEntero
Case "BtnEditarImporte"
ModalLabel.Text = "Editar Importe"
DdlRutas.SelectedValue = GvRow.DataKey("CveRuta")
DdlOrigen.SelectedValue = GvRow.DataKey("CveDestinoOrigen")
DdlFinal.SelectedValue = GvRow.DataKey("CveDestinoFinal")
TxtImporte.Text = GvRow.DataKey("Importe")
PnImporte.Visible = True
BtnAddImporte.Visible = True
BtnAddImporte.Text = "Editar"
ViewState("Cve") = GvRow.DataKey("CveDestinoTarifa").ToEntero
End Select
End If
If id.Contains("Agregar") Then
Select Case id
Case "BtnAgregarRuta"
ModalLabel.Text = "Agregar Ruta"
PnRuta.Visible = True
BtnAddRuta.Visible = True
BtnAddRuta.Text = "Guardar"
Case "BtnAgregarDestino"
ModalLabel.Text = "Agregar Destino"
PnDestino.Visible = True
BtnAddDestino.Visible = True
BtnAddDestino.Text = "Guardar"
Case "BtnAgregarImporte"
ModalLabel.Text = "Agregar Importe"
PnImporte.Visible = True
BtnAddImporte.Visible = True
BtnAddImporte.Text = "Guardar"
End Select
End If
UpModal.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "Modal"))
End Sub
#Region "Rutas"
Protected Sub AddRuta(sender As Object, e As EventArgs)
Dim ObjRuta As New ClsTransportes
ObjRuta.IniciaTransacSQL()
Try
If BtnAddRuta.Text = "Guardar" Then
If ObjRuta.AddRuta(TxtRuta.Text, DdlRutaEstatus.SelectedValue, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) > 1 Then
ObjRuta.Commit()
Alert("Ruta Agregada Correctamente.")
End If
End If
If BtnAddRuta.Text = "Editar" Then
If ObjRuta.UpdateRuta(Cve, TxtRuta.Text, DdlRutaEstatus.SelectedValue, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
ObjRuta.Commit()
Alert("Ruta Actualizada Correctamente.")
End If
End If
Catch ex As Exception
ObjRuta.RollBack()
Finally
CargaDatos()
ObjRuta.Dispose()
End Try
End Sub
Protected Sub RemoveRuta(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim ObjRuta As New ClsTransportes
If ObjRuta.RemoveRuta(GvRow.DataKey("CveRuta").ToEntero) Then
Alert("Ruta eliminada correctamente")
CargaDatos()
End If
ObjRuta.Dispose()
End Sub
#End Region
#Region "Destinos"
Protected Sub AddDestino(sender As Object, e As EventArgs)
Dim ObjDestino As New ClsTransportes
ObjDestino.IniciaTransacSQL()
Try
If BtnAddDestino.Text = "Guardar" Then
If ObjDestino.AddDestino(TxtDestino.Text, DdlDestinoEstatus.SelectedValue, DdlEsNacional.SelectedValue, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) > 1 Then
ObjDestino.Commit()
Alert("Destino agregado correctamente.")
End If
End If
If BtnAddDestino.Text = "Editar" Then
If ObjDestino.UpdateDestino(Cve, TxtDestino.Text, DdlDestinoEstatus.SelectedValue, DdlEsNacional.SelectedValue, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
ObjDestino.Commit()
Alert("Destino actualizado correctamente.")
End If
End If
Catch ex As Exception
ObjDestino.RollBack()
Finally
CargaDatos()
ObjDestino.Dispose()
End Try
End Sub
Protected Sub RemoveDestino(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim ObjDestino As New ClsTransportes
If ObjDestino.RemoveDestino(GvRow.DataKey("CveDestino").ToEntero) Then
Alert("Destino eliminado correctamente")
CargaDatos()
End If
ObjDestino.Dispose()
End Sub
#End Region
#Region "Importes"
Protected Sub AddImporte(sender As Object, e As EventArgs)
Dim ObjImporte As New ClsTransportes
ObjImporte.IniciaTransacSQL()
Try
If BtnAddImporte.Text = "Guardar" Then
If ObjImporte.AddDestinosTarifas(DdlRutas.SelectedValue, DdlOrigen.SelectedValue, DdlFinal.SelectedValue, TxtImporte.Text) > 1 Then
ObjImporte.Commit()
Alert("Importe agregado correctamente.")
End If
End If
If BtnAddImporte.Text = "Editar" Then
If ObjImporte.UpdateDestinosTarifas(Cve, DdlRutas.SelectedValue, DdlOrigen.SelectedValue, DdlFinal.SelectedValue, TxtImporte.Text) Then
ObjImporte.Commit()
Alert("Importe actualizado correctamente.")
End If
End If
Catch ex As Exception
ObjImporte.RollBack()
Finally
CargaDatos()
ObjImporte.Dispose()
End Try
End Sub
Protected Sub RemoveImporte(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim ObjImporte As New ClsTransportes
If ObjImporte.RemoveDestinosTarifas(GvRow.DataKey("CveDestinoTarifa").ToEntero) Then
Alert("Importe eliminada correctamente")
CargaDatos()
End If
ObjImporte.Dispose()
End Sub
#End Region
End Class

View File

@@ -3,7 +3,7 @@
CodeFile="RepContratos.aspx.vb"
Inherits="ListadoContratos" %>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
<asp:Content ID="Content1" ContentPlaceHolderID="E" runat="Server">
Listado de Contratos
</asp:Content>
@@ -30,41 +30,155 @@
.boton {
background: red;
}
.consulta {
padding: 1rem 2rem;
background-color: #95A5A6;
display: flex;
justify-content: space-around;
align-items: center;
margin-bottom:1rem;
}
.consulta_campo {
display: flex;
gap: 1rem;
align-items: center;
width:100%;
}
.consulta_campo label {
color: white;
font-weight: bold;
}
</style>
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UPPAcciones" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<asp:Content ID="Content3" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UPPAcciones" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<li>
<asp:LinkButton ID="LBAgregarContrato" runat="server"><i class='fa fa-plus'></i>Agregar Contrato</asp:LinkButton>
<asp:LinkButton ID="LBAgregarContrato" runat="server"><i class='fa fa-plus'></i>Agregar Contrato</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LBExcel" runat="server"><i class="fa fa-file-excel-o"></i>Generar Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LBExcel" />
</Triggers>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LBExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:Content ID="Content4" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="consulta">
<div class="consulta_campo">
<label>Cliente</label>
<ADS:Dropdownlost ID="DdlClientesConsulta" data-metodo="getcliente"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"
UsaWebService="true"></ADS:Dropdownlost>
</div>
<div class="row my-1" style="margin-right: 10px; margin-top: 10px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvContratos.ClientID) %>"
style="display: inline-block; margin-right: -10px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvContratos.ClientID) %>"
style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier">
</i></a>
</div>
<asp:UpdatePanel ID="UpTitulos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvContratos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, CveTipoAF, Importe, ImporteMin, ImporteMax,CveChofer ">
<Columns>
<div class="consulta_campo">
<label>Estatus:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlEstatusConsulta" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="100%">
<asp:ListItem Text="Seleccione" Value="" Selected="True"></asp:ListItem>
<asp:ListItem Text="Vigente" Value="1"></asp:ListItem>
<asp:ListItem Text="Terminado" Value="2"></asp:ListItem>
<asp:ListItem Text="Cancelado" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVEstatusConsulta" runat="server" ControlToValidate="DdlEstatusConsulta"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Transporte''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEEstatusConsulta" runat="server" HighlightCssClass="vco"
TargetControlID="RFVEstatusConsulta" Width="400px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="consulta_campo">
<label>Fecha Inicial:</label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy">
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy"
style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>"
runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI"
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left">
</ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI"
PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI"
Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI"
Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpConsulta"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco"
TargetControlID="rfvFechaI" Width="350px">
</ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco"
TargetControlID="cvFechaI" Width="350px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="consulta_campo">
<label>Fecha Final:</label>
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy"
style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>"
runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF"
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left">
</ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF"
PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF"
Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF"
Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpConsulta"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco"
TargetControlID="rfvFechaF" Width="350px">
</ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco"
TargetControlID="cvFechaF" Width="350px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<asp:Button ID="BtnConsulta" runat="server" Text="Consultar" class="btn btn-primary" OnClick="Consultar"
ValidationGroup="GrpConsulta" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpTitulos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvContratos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, CveTipoAF, Importe, ImporteMin, ImporteMax,CveChofer, Observaciones, EstatusContrato, CveAF">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
@@ -109,207 +223,212 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditar" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" OnClick="UpdateContrato" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminar" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" OnClick="RemoveContrato" Text="<i class='fa fa-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
<asp:TemplateField HeaderText="Estatus" ItemStyle-CssClass="bold">
<ItemTemplate>
<asp:Label ID="LtlEstatus" runat="server" Text='<%# If(Eval("EstatusContrato").ToString = "1", "Vigente", If(Eval("EstatusContrato").ToString = "2", "Terminado", "Cancelado")) %>'
CssClass='<%# If(Eval("EstatusContrato").ToString = "1", "text-success", If(Eval("EstatusContrato").ToString = "2", "text-info", "text-danger")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditar" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" OnClick="UpdateContrato" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminar" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" OnClick="RemoveContrato" Text="<i class='fa fa-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalAgregar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel runat="server" ID="UpModal" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog rowpadding">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel" runat="server">Agregar Contrato</h4>
</div>
<div class="modal-body">
<div class="row my-1">
<div class="col-md-4">
<label>Cliente</label>
</div>
<div class="col-md-8">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"
UsaWebService="true"></ADS:Dropdownlost>
</div>
</div>
<div class="row">
<label class="col-md-4">Servicio:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDescripcion" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripcion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDescripcion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Lugar de Salida:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtUbicacion" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVUbicacion" runat="server" ControlToValidate="TxtUbicacion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ubicación''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEUbicacion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVUbicacion" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Fecha Salida:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaSalida" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaSalida" runat="server" ControlToValidate="TxtFechaSalida"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Salida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtFechaSalida" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaSalida" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<label class="col-md-4">Fecha Regreso:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaRegreso" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaRegreso" runat="server" ControlToValidate="TxtFechaRegreso"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Regreso''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaRegreso" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<label class="col-md-4">
<asp:Label runat="server" Text="Tipo Unidad:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlTipoAF" AppendDataBoundItems="true" DataTextField="TipoActivoFijo"
DataValueField="CveTipoActivoFijo" Class="table-group-action-input form-control input-inline select2me"
Width="100%" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTransporte" runat="server" ControlToValidate="DdlTipoAF"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Transporte''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETransporte" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTransporte" Width="400px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">
<asp:Label runat="server" Text="Chofer:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlChofer" AppendDataBoundItems="true" DataValueField="CvePersonal"
DataTextField="NombreCompleto" Class="table-group-action-input form-control input-inline select2me"
Width="100%" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVChofer" runat="server" ControlToValidate="DdlChofer"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Chofer''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEChofer" runat="server" HighlightCssClass="vco"
TargetControlID="RFVChofer" Width="400px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Observaciones:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtObservaciones" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVObservaciones" runat="server" ControlToValidate="TxtObservaciones"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEObservaciones" runat="server" HighlightCssClass="vco"
TargetControlID="RFVObservaciones" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Costo dólares:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDolares" CssStyle=" form-control" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-4">Costo pesos:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtPesos" CssStyle=" form-control" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-4">Anticipo:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtAnticipo" CssStyle=" form-control" runat="server" type="decimal"></asp:TextBox>
</div>
</div>
<div class="row">
<asp:Label ID="LbEstatus" runat="server" class="col-md-4" Visible="false">Estatus:</asp:Label>
<div class="col-md-8">
<asp:DropDownList ID="DdlEstatusContrato" runat="server" Visible="false" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="100%">
<asp:ListItem Text="Vigente" Value="1"></asp:ListItem>
<asp:ListItem Text="Terminado" Value="2"></asp:ListItem>
<asp:ListItem Text="Cancelado" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnGuardar" OnClick="AddContrato" runat="server" CssClass="btn btn-primary"
Text="Guardar"
ValidationGroup="GrpGuardar"></asp:Button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalAgregar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel runat="server" ID="UpModal" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog rowpadding">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel" runat="server">Agregar Contrato</h4>
</div>
<div class="modal-body">
<div class="row" >
<div class="col-md-4">
<label>Cliente</label>
</div>
<div class="col-md-8">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;" UsaWebService="true"></ADS:Dropdownlost>
</div>
</div>
<div class="row">
<label class="col-md-4">Servicio:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDescripcion" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripcion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDescripcion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<label class="col-md-4">Lugar de Salida:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtUbicacion" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVUbicacion" runat="server" ControlToValidate="TxtUbicacion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ubicación''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEUbicacion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVUbicacion" Width="100%" >
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Fecha Salida:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaSalida" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaSalida" runat="server" ControlToValidate="TxtFechaSalida"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Salida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtFechaSalida" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaSalida" Width="100%" >
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<label class="col-md-4">Fecha Regreso:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaRegreso" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaRegreso" runat="server" ControlToValidate="TxtFechaRegreso"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Regreso''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaRegreso" Width="100%" >
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<label class="col-md-4">
<asp:Label runat="server" Text="Tipo Unidad:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlTipoAF" AppendDataBoundItems="true" DataTextField="TipoActivoFijo"
DataValueField="CveTipoActivoFijo" Class="table-group-action-input form-control input-inline select2me"
Width="100%" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTransporte" runat="server" ControlToValidate="DdlTipoAF"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Transporte''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETransporte" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTransporte" Width="400px" >
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row" runat="server" visible="false">
<label class="col-md-4">
<asp:Label runat="server" Text="Unidad:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlAF" AppendDataBoundItems="true" DataTextField="Descripcion"
DataValueField="CveAF" Class="table-group-action-input form-control input-inline select2me"
Width="100%" runat="server">
</asp:DropDownList>
</div>
</div>
<div class="row margin-bottom-5">
<label class="col-md-4">
<asp:Label runat="server" Text="Chofer:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlChofer" AppendDataBoundItems="true" DataValueField="CvePersonal"
DataTextField="NombreCompleto" Class="table-group-action-input form-control input-inline select2me"
Width="100%" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVChofer" runat="server" ControlToValidate="DdlChofer"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Chofer''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEChofer" runat="server" HighlightCssClass="vco"
TargetControlID="RFVChofer" Width="400px" >
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Observaciones:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtObservaciones" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVObservaciones" runat="server" ControlToValidate="TxtObservaciones"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEObservaciones" runat="server" HighlightCssClass="vco"
TargetControlID="RFVObservaciones" Width="100%" >
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Costo dólares:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDolares" CssStyle=" form-control" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-4">Costo pesos:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtPesos" CssStyle=" form-control" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-4">Anticipo:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtAnticipo" CssStyle=" form-control" runat="server" type="decimal"></asp:TextBox>
</div>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnGuardar" OnClick="AddContrato" runat="server" CssClass="btn btn-primary"
Text="Guardar"
ValidationGroup="GrpGuardar"></asp:Button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>

View File

@@ -1,5 +1,6 @@
Option Explicit On
Option Strict On
Imports System.Data.SqlClient
Imports Extensiones
Imports Extensiones.ModExtensiones
@@ -22,15 +23,6 @@ Partial Class ListadoContratos
End If
End Sub
Private Sub InicializaCombos()
'Lista Activos Fijos'
'Dim ObjAF As New ClsAF()
'If ObjAF.GetActivosFijos(-1, UsuarioActual.CveEmpresa, "-1", "-1", -1, -1, "-1", -1, -1, -1, -1, 1, "-1", -1, -1, -1) Then
' If ObjAF.DtResultados.Rows.Count > 0 Then
' DdlAF.DataSource = ObjAF.DtResultados
' DdlAF.Items.Insert(0, New ListItem("Seleccione", ""))
' End If
'End If
'ObjAF.Dispose()
DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlTipoAF.DataBind()
DdlTipoAF.Items.Insert(0, New ListItem("Seleccione", ""))
@@ -40,7 +32,6 @@ Partial Class ListadoContratos
DdlChofer.DataBind()
DdlChofer.Items.Insert(0, New ListItem("Seleccione", ""))
UpModal.Update()
End Sub
Private Sub CargaDatos()
@@ -48,14 +39,15 @@ Partial Class ListadoContratos
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=2) Then
GvContratos.DataSource = ObjContratos.DtResultados
End If
ObjContratos.Dispose()
GvContratos.DataBind()
UpTitulos.Update()
End Sub
Protected Sub MostrarModal(Optional Descripcion As String = "", Optional FechaSalida As String = "", Optional FechaRegreso As String = "", Optional Observaciones As String = "", Optional Ubicacion As String = "", Optional Transporte As String = "", Optional CveCliente As Integer = 0, Optional Dolares As String = "", Optional Pesos As String = "", Optional Anticipo As String = "", Optional Boton As String = "Guardar", Optional Chofer As String = "")
DdlClientes.SelectedText = Cliente
TxtDescripcion.Text = Descripcion
TxtUbicacion.Text = Ubicacion
TxtFechaSalida.Text = FechaSalida
TxtFechaRegreso.Text = FechaRegreso
TxtObservaciones.Text = Observaciones
@@ -64,10 +56,17 @@ Partial Class ListadoContratos
DdlClientes.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, -1, CveCliente:=CveCliente).FiltroPrimeroValor("NombreComercial")
DdlClientes.SelectedValue = CveCliente.ToString
DdlChofer.SelectedValue = Chofer
TxtObservaciones.Text = Observaciones
TxtDolares.Text = Dolares
TxtPesos.Text = Pesos
TxtAnticipo.Text = Anticipo
BtnGuardar.Text = Boton
If EstatusContrato <> "" Then
LbEstatus.Visible = True
DdlEstatusContrato.Visible = True
DdlEstatusContrato.SelectedValue = EstatusContrato
End If
'DdlEstatusContrato.Text = EstatusContrato
myModalLabel.InnerHtml = $"{Boton} Contrato"
UpModal.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "ModalAgregar"))
@@ -91,49 +90,54 @@ Partial Class ListadoContratos
Dim retorno As Boolean = False
If ObjContratos.GetContratosEstatus(UsuarioActual.CveEmpresa) Then
CveEstatusInicial = ObjContratos.DtResultados.FiltroPrimeroValor("CveContratoEstatus", "TipoEstatus=1").ToEntero
End If
CveEstatusInicial = ObjContratos.DtResultados.FiltroPrimeroValor("CveContratoEstatus", "TipoEstatus=1").ToEntero
End If
'Agregar contrato
If BtnGuardar.Text = "Guardar" Then
CveContratoHijo = ObjContratos.AddContratos("", TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, TxtPesos.Text.ToDecimal, TxtDolares.Text.ToDecimal, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveChofer:=DdlChofer.SelectedValue.ToEntero)
CveContratoHijo = ObjContratos.AddContratos("", TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, TxtPesos.Text.ToDecimal, TxtDolares.Text.ToDecimal, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1, CveTipoAF:=DdlTransporte.SelectedValue.ToEntero, CveChofer:=DdlChofer.SelectedValue.ToEntero)
If CveContratoHijo > 0 Then
ObjContratos.Commit()
Alert("Agregado Correctamente.")
End If
Else
'Actualizar contrato
If BtnGuardar.Text = "Editar" Then
retorno = ObjContratos.UpdateContratos(CveContrato, "", TxtDescripcion.Text, "", -1, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, TxtPesos.Text.ToDecimal, TxtDolares.Text.ToDecimal, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1, CveChofer:=DdlChofer.SelectedValue.ToEntero, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero)
End If
If retorno Then
ObjContratos.Commit()
Alert("Actualizado Correctamente.")
End If
End If
'Actualizar contrato
If BtnGuardar.Text = "Editar" Then
retorno = ObjContratos.UpdateContratos(CveContrato, "", TxtDescripcion.Text, "", -1, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, TxtPesos.Text.ToDecimal, TxtDolares.Text.ToDecimal, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1, CveChofer:=DdlChofer.SelectedValue.ToEntero, CveTipoAF:=DdlTransporte.SelectedValue.ToEntero)
ObjContratos.Commit()
Alert("Actualizado Correctamente.")
End If
End If
End If
TxtDescripcion.Text = ""
TxtFechaSalida.Text = ""
TxtFechaRegreso.Text = ""
TxtObservaciones.Text = ""
TxtUbicacion.Text = ""
DdlClientes.SelectedText = ""
'DdlTipoAF.SelectedValue = "-1"
'DdlChofer.SelectedValue = "-1"
TxtFechaSalida.Text = ""
TxtFechaRegreso.Text = ""
TxtObservaciones.Text = ""
TxtUbicacion.Text = ""
DdlClientes.SelectedText = ""
DdlTransporte.SelectedValue = ""
DdlChofer.SelectedValue = ""
TxtDolares.Text = ""
TxtPesos.Text = ""
TxtAnticipo.Text = ""
BtnGuardar.Text = "Guardar"
Catch ex As Exception
Alert($"Ocurrió un error {ex}", TipoMensaje.MsgError)
ObjContratos.RollBack()
Finally
ObjContratos.Dispose()
CargaDatos()
End Try
End Sub
Protected Sub UpdateContrato(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
ViewState("CveContrato") = GvRow.DataKey("CveContrato")
MostrarModal(
Descripcion:=GvRow.DataKey("DescripcionContrato"), FechaSalida:=GvRow.DataKey("FechaInicial").ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T"), FechaRegreso:=GvRow.DataKey("FechaFinal").ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T"), Observaciones:=GvRow.DataKey("DescripcionContrato"), Ubicacion:=GvRow.DataKey("Ubicacion"), Transporte:=GvRow.DataKey("CveTipoAF"), CveCliente:=GvRow.DataKey("CveCliente").ToEntero, Dolares:=GvRow.DataKey("Importe"), Pesos:=GvRow.DataKey("ImporteMax"), Anticipo:=GvRow.DataKey("ImporteMin"), Boton:="Editar", Chofer:=GvRow.DataKey("CveChofer"))
Descripcion:=GvRow.DataKey("DescripcionContrato"), FechaSalida:=GvRow.DataKey("FechaInicial").ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T"), FechaRegreso:=GvRow.DataKey("FechaFinal").ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T"), Observaciones:=GvRow.DataKey("DescripcionContrato"), Ubicacion:=GvRow.DataKey("Ubicacion"), Transporte:=GvRow.DataKey("CveTipoAF"), Cliente:=GvRow.DataKey("CveCliente"), Dolares:=GvRow.DataKey("Importe"), Pesos:=GvRow.DataKey("ImporteMax"), Anticipo:=GvRow.DataKey("ImporteMin"), Boton:="Editar", Chofer:=GvRow.DataKey("CveChofer"))
End Sub
Protected Sub RemoveContrato(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
@@ -150,4 +154,34 @@ Partial Class ListadoContratos
GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString)
End Sub
Protected Sub Consultar(sender As Object, e As EventArgs)
If DdlClientesConsulta.SelectedValue = "" Then
Alert("Debe seleccionar al cliente", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim cliente As Integer = DdlClientesConsulta.SelectedValue.ToEntero
Dim estatus As Integer = DdlEstatusConsulta.SelectedValue.ToEntero
Dim fechaInicial As DateTime = txtFechaI.Text.ToDate
Dim fechaFinal As DateTime = txtFechaF.Text.ToDate
Dim query As String = "SELECT *, ISNULL(Cli.NombreComercial,'') AS NombreComercial FROM Con_Contratos C LEFT JOIN Clientes Cli with(nolock) ON Cli.CveCliente = C.CveCliente WHERE C.CveCliente = @Cliente AND EstatusContrato = @Estatus AND FechaInicial BETWEEN @FechaInicial AND @FechaFinal"
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("Conexion").ConnectionString)
Using command As New SqlCommand(query, connection)
command.Parameters.AddWithValue("@Cliente", cliente)
command.Parameters.AddWithValue("@Estatus", estatus)
command.Parameters.AddWithValue("@FechaInicial", fechaInicial)
command.Parameters.AddWithValue("@FechaFinal", fechaFinal)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
GvContratos.DataSource = reader
GvContratos.DataBind()
End Using
End Using
UpTitulos.Update()
End Sub
End Class

View File

@@ -10,6 +10,41 @@
align-items: center;
gap: 2rem;
}
.my-1 {
margin-block: 1rem;
}
.consulta {
padding: 1rem 2rem;
background-color: #95A5A6;
display: flex;
justify-content: space-around;
align-items: center;
margin-bottom: 1rem;
}
.consulta_campo {
display: flex;
gap: 1rem;
align-items: center;
width: 100%;
}
.consulta_campo label {
color: white;
font-weight: bold;
}
.miGrid {
color: white;
text-align: center;
}
.miGrid thead {
color: black;
text-align: center;
}
</style>
</asp:Content>
@@ -20,8 +55,8 @@
<asp:Content ID="Content4" ContentPlaceHolderID="C" runat="Server">
<asp:Panel ID="PnlGeneral" runat="server">
<%--Calendario Tab--%>
<ajax:TabContainer ID="Tab" runat="server" Width="100%" ActiveTabIndex="0">
<%--Calendario Tab--%>
<ajax:TabContainer ID="Tab" runat="server" Width="100%" ActiveTabIndex="0">
<ajax:TabPanel ID="TabAlta" runat="server" HeaderText="Calendario">
<ContentTemplate>
@@ -65,15 +100,121 @@
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
<%--Contratos Tab--%>
<ajax:TabPanel ID="TabPanel1" runat="server" HeaderText="Contratos">
<ContentTemplate>
<asp:GridView ID="GvContratos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, CveTipoAF, Importe, ImporteMin, ImporteMax ">
<Columns>
</ContentTemplate>
</ajax:TabPanel>
<%--Contratos Tab--%>
<ajax:TabPanel ID="TabPanel1" runat="server" HeaderText="Contratos">
<ContentTemplate>
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="consulta">
<div class="consulta_campo">
<label>Cliente</label>
<ADS:Dropdownlost ID="DdlClientesConsulta" data-metodo="getcliente"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"
UsaWebService="true"></ADS:Dropdownlost>
</div>
<div class="consulta_campo">
<label>Estatus:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlEstatusConsulta" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="100%">
<asp:ListItem Text="Seleccione" Value="" Selected="True"></asp:ListItem>
<asp:ListItem Text="Vigente" Value="1"></asp:ListItem>
<asp:ListItem Text="Terminado" Value="2"></asp:ListItem>
<asp:ListItem Text="Cancelado" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVEstatusConsulta" runat="server" ControlToValidate="DdlEstatusConsulta"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Transporte''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEEstatusConsulta" runat="server" HighlightCssClass="vco"
TargetControlID="RFVEstatusConsulta" Width="400px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="consulta_campo">
<label>Fecha Inicial:</label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy">
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy"
style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>"
runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI"
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left">
</ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI"
PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI"
Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI"
Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpConsulta"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco"
TargetControlID="rfvFechaI" Width="350px">
</ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco"
TargetControlID="cvFechaI" Width="350px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="consulta_campo">
<label>Fecha Final:</label>
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy"
style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>"
runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF"
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left">
</ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF"
PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF"
Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF"
Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpConsulta"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco"
TargetControlID="rfvFechaF" Width="350px">
</ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco"
TargetControlID="cvFechaF" Width="350px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<asp:Button ID="BtnConsulta" runat="server" Text="Consultar" class="btn btn-primary"
OnClick="Consultar"
ValidationGroup="GrpConsulta" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpTitulos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvContratos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn miGrid"
GridLines="None"
data-sort="true" DataKeyNames="CveContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, CveTipoAF, Importe, ImporteMin, ImporteMax,CveChofer, Observaciones, EstatusContrato, CveAF">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
@@ -95,11 +236,11 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Cliente">
<ItemTemplate>
<asp:Literal ID="LtNombreComercial" runat="server" Text='<%# Eval("NombreComercial") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Cliente">
<ItemTemplate>
<asp:Literal ID="LtNombreComercial" runat="server" Text='<%# Eval("NombreComercial") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Chofer">
<ItemTemplate>
@@ -121,106 +262,119 @@
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
<asp:TemplateField HeaderText="Estatus" ItemStyle-CssClass="bold">
<ItemTemplate>
<asp:Label ID="LtlEstatus" runat="server" Text='<%# If(Eval("EstatusContrato").ToString = "1", "Vigente", If(Eval("EstatusContrato").ToString = "2", "Terminado", "Cancelado")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditar" runat="server" AlternateText="Editar" CssClass="miGrid"
OnClick="UpdateModal" Text="Editar" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</asp:Panel>
<div id="ModalActualizar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel runat="server" ID="UpModal" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog">
<div id="UpAddChofer" class="modal-content rowpadding" tabindex="-1"
runat="server">
<contenttemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel" runat="server">Actualizar Contrato</h4>
<div class="modal-dialog rowpadding">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel" runat="server">Editar Contrato</h4>
</div>
<div class="modal-body">
<div class="row my-1">
<div class="col-md-4">
<label>Cliente</label>
</div>
<div class="col-md-8">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"
UsaWebService="true"></ADS:Dropdownlost>
</div>
</div>
<div class="row">
<label class="col-md-4">Servicio:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDescripcion" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripcion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDescripcion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="modal-body">
<div class="portlet-body">
<div class="row">
<div class="col-md-4">
<label>Cliente</label>
</div>
<div class="col-md-8">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"
UsaWebService="true"></ADS:Dropdownlost>
</div>
<div class="row">
<label class="col-md-4">Lugar de Salida:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtUbicacion" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVUbicacion" runat="server" ControlToValidate="TxtUbicacion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ubicación''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEUbicacion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVUbicacion" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-4">Fecha Salida:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaSalida" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaSalida" runat="server" ControlToValidate="TxtFechaSalida"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Salida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtFechaSalida" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaSalida" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Servicio:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDescripcion" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripcion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDescripcion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="100%" BehaviorID="_content_VCEDescripcion">
</ajax:ValidatorCalloutExtender>
</div>
<div class="row">
<label class="col-md-4">Fecha Regreso:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaRegreso" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaRegreso" runat="server" ControlToValidate="TxtFechaRegreso"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Regreso''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaRegreso" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<label class="col-md-4 bold">Lugar de Salida:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtUbicacion" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVUbicacion" runat="server" ControlToValidate="TxtUbicacion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ubicación''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEUbicacion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVUbicacion" Width="100%" BehaviorID="_content_VCEUbicacion">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Fecha Salida:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaSalida" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaSalida" runat="server" ControlToValidate="TxtFechaSalida"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Salida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtFechaSalida" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaSalida" Width="100%" BehaviorID="_content_VCETxtFechaSalida">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Fecha Regreso:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaRegreso" runat="server" CssClass="form-control" CausesValidation="True"
type="datetime-local"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaRegreso" runat="server" ControlToValidate="TxtFechaRegreso"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Regreso''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaRegreso" Width="100%" BehaviorID="_content_VCETxtFechaRegreso">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row margin-bottom-5" id="TrAF" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Transporte:"></asp:Label></label><div
class="col-md-8">
<div class="row my-1">
<label class="col-md-4">
<asp:Label runat="server" Text="Tipo Unidad:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlTipoAF" DataValueField="CveTipoActivoFijo"
DataTextField="TipoActivoFijo" Class="table-group-action-input form-control input-inline "
@@ -254,66 +408,81 @@
</div>
</div>
<div class="row margin-bottom-5" id="TrChofer" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Chofer:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlChofer" AppendDataBoundItems="true" DataValueField="CvePersonal"
DataTextField="NombreCompleto" Class="table-group-action-input form-control input-inline text-center"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVChofer" runat="server" ControlToValidate="DdlChofer"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Chofer''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEChofer" runat="server" HighlightCssClass="vco"
TargetControlID="RFVChofer" Width="400px" BehaviorID="_content_VCEChofer">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4">
<asp:Label runat="server" Text="Chofer:"></asp:Label></label><div
class="col-md-8">
<div class="row my-1">
<label class="col-md-4 bold">Observaciones:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtObservaciones" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVObservaciones" runat="server" ControlToValidate="TxtObservaciones"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEObservaciones" runat="server" HighlightCssClass="vco"
TargetControlID="RFVObservaciones" Width="100%" BehaviorID="_content_VCEObservaciones">
</ajax:ValidatorCalloutExtender>
</div>
<asp:DropDownList ID="DdlChofer" AppendDataBoundItems="true" DataValueField="CvePersonal"
DataTextField="NombreCompleto" Class="table-group-action-input form-control input-inline select2me"
Width="100%" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVChofer" runat="server" ControlToValidate="DdlChofer"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Chofer''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEChofer" runat="server" HighlightCssClass="vco"
TargetControlID="RFVChofer" Width="400px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Costo dólares:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDolares" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Costo pesos:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtPesos" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Anticipo:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtAnticipo" runat="server" type="decimal"></asp:TextBox>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnActualizar" OnClick="UpdateContrato" runat="server" CssClass="btn btn-primary"
Text="Editar"
ValidationGroup="GrpGuardar"></asp:Button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
<div class="row">
<label class="col-md-4">Observaciones:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtObservaciones" runat="server" MaxLength="70" Width="100%"
TextMode="MultiLine"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVObservaciones" runat="server" ControlToValidate="TxtObservaciones"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEObservaciones" runat="server" HighlightCssClass="vco"
TargetControlID="RFVObservaciones" Width="100%">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row hidden">
<label class="col-md-4">Costo dólares:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtDolares" CssStyle=" form-control" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row hidden">
<label class="col-md-4">Costo pesos:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtPesos" CssStyle=" form-control" runat="server" type="number"></asp:TextBox>
</div>
</div>
<div class="row hidden">
<label class="col-md-4">Anticipo:</label>
<div class="col-md-8">
<asp:TextBox ID="TxtAnticipo" CssStyle=" form-control" runat="server" type="decimal"></asp:TextBox>
</div>
</div>
<div class="row">
<asp:Label ID="LbEstatus" runat="server" class="col-md-4" Visible="false">Estatus:</asp:Label>
<div class="col-md-8">
<asp:DropDownList ID="DdlEstatusContrato" runat="server" Visible="false" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="100%">
<asp:ListItem Text="Vigente" Value="1"></asp:ListItem>
<asp:ListItem Text="Terminado" Value="2"></asp:ListItem>
<asp:ListItem Text="Cancelado" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnGuardar" OnClick="UpdateContrato" runat="server" CssClass="btn btn-primary"
Text="Editar"
ValidationGroup="GrpGuardar"></asp:Button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>

View File

@@ -1,5 +1,6 @@
Option Explicit On
Option Strict On
Imports System.Data.SqlClient
Imports ADSNetLibrary.SIGAPI.Helpers
Imports Extensiones.ModExtensiones
@@ -52,11 +53,53 @@ Partial Class RepContratosCalendario
End Sub
Private Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvContratos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim estatusContrato As String = DataBinder.Eval(e.Row.DataItem, "EstatusContrato").ToString()
Select Case estatusContrato
Case "1"
e.Row.BackColor = Drawing.Color.FromArgb(0, 165, 106)
Case "2"
e.Row.BackColor = Drawing.Color.FromArgb(43, 79, 214)
Case "3"
e.Row.BackColor = Drawing.Color.FromArgb(238, 96, 46)
End Select
End If
End Sub
Protected Sub MostrarModal(sender As Object, e As System.EventArgs)
RegistraScript("$('#ModalActualizar').modal('show');")
End Sub
Protected Sub Consultar(sender As Object, e As EventArgs)
If DdlClientesConsulta.SelectedValue = "" Then
Alert("Debe seleccionar al cliente", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim cliente As Integer = DdlClientesConsulta.SelectedValue.ToEntero
Dim estatus As Integer = DdlEstatusConsulta.SelectedValue.ToEntero
Dim fechaInicial As DateTime = txtFechaI.Text.ToDate
Dim fechaFinal As DateTime = txtFechaF.Text.ToDate
Dim query As String = "SELECT *, ISNULL(Cli.NombreComercial,'') AS NombreComercial, RH.NombreCompleto AS NombreCompleto FROM Con_Contratos C LEFT JOIN Clientes Cli with(nolock) ON Cli.CveCliente = C.CveCliente LEFT JOIN RH_Personal RH with(nolock) ON C.CveChofer = RH.CvePersonal WHERE C.CveCliente = @Cliente AND EstatusContrato = @Estatus AND FechaInicial BETWEEN @FechaInicial AND @FechaFinal"
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("Conexion").ConnectionString)
Using command As New SqlCommand(query, connection)
command.Parameters.AddWithValue("@Cliente", cliente)
command.Parameters.AddWithValue("@Estatus", estatus)
command.Parameters.AddWithValue("@FechaInicial", fechaInicial)
command.Parameters.AddWithValue("@FechaFinal", fechaFinal)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
GvContratos.DataSource = reader
GvContratos.DataBind()
End Using
End Using
UpTitulos.Update()
End Sub
Protected Sub UpdateContrato(sender As Object, e As EventArgs)
'If DdlClientes.SelectedValue = "" Then
@@ -68,16 +111,28 @@ Partial Class RepContratosCalendario
ObjContratos.IniciaTransacSQL()
If ObjContratos.UpdateContratoAF(CveContrato.Value.ToEntero, DdlAF.SelectedValue.ToEntero, DdlChofer.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
ObjContratos.Commit()
Alert("Actualizado Correctamente.")
Else
ObjContratos.RollBack()
End If
ObjContratos.Commit()
Alert("Actualizado Correctamente.")
Else
ObjContratos.RollBack()
End If
ObjContratos.Dispose()
CargaDatos()
ObjContratos.Dispose()
CargaDatos()
Protected Sub UpdateModal(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
TxtObservaciones.Text = GvRow.DataKey("Observaciones")
TxtDescripcion.Text = GvRow.DataKey("DescripcionContrato")
TxtUbicacion.Text = GvRow.DataKey("Ubicacion")
TxtFechaSalida.Text = GvRow.DataKey("FechaInicial").ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T")
TxtFechaRegreso.Text = GvRow.DataKey("FechaFinal").ToDateTime.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T")
DdlClientes.SelectedValue = GvRow.DataKey("CveCliente")
DdlAF.SelectedValue = GvRow.DataKey("CveAF")
DdlChofer.SelectedValue = GvRow.DataKey("CveChofer")
UpModal.Update()
RegistraScript("$('#ModalActualizar').modal('show');")
End Sub
End Class