Merge branch 'master' of http://rpimienta@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -5028,10 +5028,87 @@ Public Class ClsGPS
|
||||
OnError("Ocurrió un error al obtener los clientes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return retorno
|
||||
End Function
|
||||
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "G A S T O S"
|
||||
Public Function AddGasto(Cantidad As Decimal, Precio As Decimal, Descripcion As String, Observaciones As String, Fecha As DateTime, TipoGasto As Integer, CveUsuario As Integer, CveCliente As Integer, Optional CveDispositivo As Integer = -1, Optional CveTrayecto As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_GPS_GastosAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@Cantidad", SqlDbType.Float).Value = Cantidad
|
||||
.Add("@Precio", SqlDbType.Money).Value = Precio
|
||||
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
|
||||
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
|
||||
.Add("@Fecha", SqlDbType.DateTime).Value = Fecha
|
||||
.Add("@TipoGasto", SqlDbType.TinyInt).Value = TipoGasto
|
||||
.Add("@CveDispositivo", SqlDbType.Int).Value = CveDispositivo
|
||||
.Add("@CveTrayecto", SqlDbType.Int).Value = CveTrayecto
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al agregar el gasto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function GetGastos(CveGPSGasto As Integer, CveCliente As Integer, Optional CveDispositivo As Integer = -1, Optional CveTrayecto As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_GPS_GastosGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveGPSGasto", SqlDbType.Int).Value = CveGPSGasto
|
||||
.Add("@CveDispositivo", SqlDbType.Int).Value = CveDispositivo
|
||||
.Add("@CveTrayecto", SqlDbType.Int).Value = CveTrayecto
|
||||
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener el gasto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateGasto(CveGPSGasto As Integer, Cantidad As Decimal, Precio As Decimal, Descripcion As String, Observaciones As String, Fecha As DateTime, CveUsuarioModifico As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_GPS_GastosUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveGPSGasto", SqlDbType.Int).Value = CveGPSGasto
|
||||
.Add("@Cantidad", SqlDbType.Float).Value = Cantidad
|
||||
.Add("@Precio", SqlDbType.Money).Value = Precio
|
||||
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
|
||||
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
|
||||
.Add("@Fecha", SqlDbType.DateTime).Value = Fecha
|
||||
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al actualizar el gasto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function RemoveGasto(CveGPSGasto As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_GPS_GastosRemove")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveGPSGasto", SqlDbType.Int).Value = CveGPSGasto
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al eliminar el gasto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "F R E I G H T V E R I F Y A P I"
|
||||
Public Function AddShipment(CveDispositivo As Integer, Transmitir As Boolean, Customer As String, ShipmentID As String, AssetID As String, RouteID As String, TrailerID As String, Obs As String, CveCliente As Integer) As Integer
|
||||
Dim retorno As Integer = -1
|
||||
|
||||
@@ -4019,9 +4019,11 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/GPS/CatRutas.aspx".ToUpper(), 640)
|
||||
PaginaDict.Add("/GPS/CatGrupos.aspx".ToUpper(), 641)
|
||||
PaginaDict.Add("/GPS/Notificaciones.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/GPS/Shipments.aspx".ToUpper(), 673)
|
||||
PaginaDict.Add("/GPS/Shipments.aspx".ToUpper(), 673)
|
||||
PaginaDict.Add("/GPS/RepGastos.aspx".ToUpper(), 685)
|
||||
|
||||
#End Region
|
||||
'INVENTARIOS
|
||||
'INVENTARIOS
|
||||
#Region "Inventarios"
|
||||
PaginaDict.Add("/Inventarios/Fletes.aspx".ToUpper(), 550)
|
||||
PaginaDict.Add("/Inventarios/RepFletes.aspx".ToUpper(), 551)
|
||||
|
||||
197
Ashx/SIGPolizaVirtual.ashx
Normal file
197
Ashx/SIGPolizaVirtual.ashx
Normal file
@@ -0,0 +1,197 @@
|
||||
<%@ WebHandler Language="VB" Class="SIGPolizaVirtual" %>
|
||||
|
||||
Imports System
|
||||
Imports System.Web
|
||||
Imports System.Net.Http
|
||||
Imports System.Web.Http
|
||||
Imports System.Data
|
||||
Imports Newtonsoft.Json
|
||||
Imports Newtonsoft.Json.Linq
|
||||
Imports Extensiones
|
||||
Imports System.IO
|
||||
|
||||
Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState
|
||||
|
||||
Protected ReadOnly Property User As String = "cslth.2809@jcilink.com"
|
||||
Protected ReadOnly Property Password As String = "ff31580a95f36b51ad27f970428b77a5a9245076"
|
||||
|
||||
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
|
||||
context.Response.ContentType = "application/json"
|
||||
EnviarPolizaVentaWS(context)
|
||||
EnviarPolizaVentaLTHWSD(context)
|
||||
EnviarPolizaIndicadores(context)
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
|
||||
Get
|
||||
Return False
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Sub EnviarPolizaVentaLTHWSD(ByVal context As HttpContext)
|
||||
Dim Retorno As String = "[]"
|
||||
Try
|
||||
Using wc As New HttpClient()
|
||||
Dim Url = New Uri("http://polizavirtual.com.mx/lthwsd/api/Venta")
|
||||
|
||||
Dim Parametros = New List(Of KeyValuePair(Of String, String))
|
||||
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("User", User))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("password", Password))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_name", "JOSE ENRIQUE VIZCARA RENDON"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", "Prueba"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", "Prueba"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", "1900-01-01 00:00:00"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", "5417543010"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_email", "elunap@gmail.com"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", "02"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", "False"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_date", "2018-07-24 00:00:00"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_type", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("product_code", "174200"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", "65047187"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_product", "True"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_brand", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_bci", "25"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_month", "1"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_year", "2015"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", "2018-07-24 00:00:00"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", "36"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", "741"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", "2015"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", "0"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_id", "32860"))
|
||||
|
||||
Dim content As New FormUrlEncodedContent(Parametros)
|
||||
Dim response = wc.PostAsync(Url, content).Result
|
||||
|
||||
Retorno = response.Content.ReadAsStringAsync().Result
|
||||
End Using
|
||||
|
||||
Catch ex As Exception
|
||||
ex.GuardaLog(ex.Message)
|
||||
End Try
|
||||
|
||||
context.Response.Write(Retorno)
|
||||
End Sub
|
||||
|
||||
Private Sub EnviarPolizaVentaWS(ByVal context As HttpContext)
|
||||
Dim Retorno As String = "[]"
|
||||
Try
|
||||
Using wc As New HttpClient()
|
||||
Dim Url = New Uri("http://polizavirtual.com.mx/webservice/api/Venta")
|
||||
|
||||
Dim Parametros = New List(Of KeyValuePair(Of String, String))
|
||||
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("User", User))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("password", Password))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_name", "JOSE ENRIQUE "))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name1", "VIZCARA"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_last_name2", "RENDON"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_birthday", "1900-01-01 00:00:00"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_phone", "8186545256"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_email", "mail@mail.com"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_gender", "02"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_advertising", "False"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_date", "2018-07-24 00:00:00"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_paidby", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_type", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_type_service", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("product_code", "174925"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("product_unique_code", "65047187"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("product_sale_type", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_total", "0"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_product", "True"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_brand", "01"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_bci", "25"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_month", "1"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_year", "2015"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("used_sale_date", "2018-07-24 00:00:00"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_car_brand", "36"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_car_model", "741"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("customer_car_year", "2015"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_discount", "0"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("sale_id", "32860"))
|
||||
|
||||
Dim content As New FormUrlEncodedContent(Parametros)
|
||||
Dim response = wc.PostAsync(Url, content).Result
|
||||
|
||||
Retorno = response.Content.ReadAsStringAsync().Result
|
||||
End Using
|
||||
|
||||
Catch ex As Exception
|
||||
ex.GuardaLog(ex.Message)
|
||||
End Try
|
||||
|
||||
context.Response.Write(Retorno)
|
||||
End Sub
|
||||
|
||||
Private Sub EnviarPolizaIndicadores(ByVal context As HttpContext)
|
||||
Dim Retorno As String = "[]"
|
||||
Try
|
||||
Using wc As New HttpClient()
|
||||
Dim Url = New Uri("http://polizavirtual.com.mx/webservice/api/Indicadores")
|
||||
|
||||
Dim Parametros = New List(Of KeyValuePair(Of String, String))
|
||||
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("User", User))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("password", Password))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_optima", "1"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_fullpower", "2"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_hitec", "3"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_agm", "4"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_suv", "5"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_taxi", "6"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_america", "7"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_lth", "8"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_cronos", "9"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_diener", "10"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_b_heavyduty", "11"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_m_lth", "12"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_o_filtros", "13"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_o_lub1", "14"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_o_lubgalon", "15"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_o_lub5", "16"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_o_aa", "17"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("v_o_aaa", "18"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_optima", "19"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_fullpower", "20"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_hitec", "21"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_agm", "22"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_suv", "23"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_taxi", "24"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_america", "25"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_lth", "26"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_cronos", "27"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_diener", "28"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_b_heavyduty", "29"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("g_m_lth", "30"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_optima", "31"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_fullpower", "32"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_hitec", "33"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_agm", "34"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_suv", "35"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_taxi", "36"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_america", "37"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_lth", "38"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_cronos", "39"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_diener", "40"))
|
||||
Parametros.Add(New KeyValuePair(Of String, String)("a_b_heavyduty", "41"))
|
||||
|
||||
Dim content As New FormUrlEncodedContent(Parametros)
|
||||
Dim response = wc.PostAsync(Url, content).Result
|
||||
|
||||
Retorno = response.Content.ReadAsStringAsync().Result
|
||||
End Using
|
||||
|
||||
Catch ex As Exception
|
||||
ex.GuardaLog(ex.Message)
|
||||
End Try
|
||||
|
||||
context.Response.Write(Retorno)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -4213,7 +4213,7 @@ Partial Class Compras_Compras
|
||||
'End If
|
||||
|
||||
'METODO DE PREPOLIZA DE ALMACEN
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 119) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
|
||||
Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
|
||||
If ImporteAlmacen > 0 Then
|
||||
If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
|
||||
|
||||
149
GPS/RepGastos.aspx
Normal file
149
GPS/RepGastos.aspx
Normal file
@@ -0,0 +1,149 @@
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepGastos.aspx.vb" Inherits="GPS_RepGastos" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Reporte de Gastos de Trayectos
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkAgregar" OnClick="LnkAgregar_Click" runat="server"><i class="fa fa-plus"></i>Agregar Gasto</asp:LinkButton></li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="portlet solid grey-cascade portlet-filter" style="">
|
||||
<div class="portlet-title portlet-filterT smalltitle " style="">
|
||||
<div class="tools">
|
||||
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" ValidationGroup="GrpGuardar" Text="Consultar" class="btn btn-primary" />
|
||||
</div>
|
||||
<div class="titlefiltros caption" style="margin-top: -8px;">
|
||||
<ul class="list-inline" style="font-size: 12px;">
|
||||
<li>Trayecto:
|
||||
<asp:DropDownList AppendDataBoundItems="true" ID="DdlTrayectoFiltro" runat="server" Width="200px" DataTextField="Trayecto" DataValueField="CveTrayecto" CssClass="form-control input-sm select2me">
|
||||
<asp:ListItem Selected="True" Value="-1" Text="Todos"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</li>
|
||||
<li>Fecha Inicio:
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
|
||||
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator4" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</li>
|
||||
<li>Fecha Fin:
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
|
||||
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator5" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveGPSGasto,Cantidad,Precio,Descripcion,Observaciones,Fecha"
|
||||
EmptyDataText="No se encontraron gastos" ToolTip="Listado de Gastos"
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" Width="100%" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Precio" HeaderText="Precio" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Descripcion" HeaderText="Descripción" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Observaciones" HeaderText="Observaciones" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Trayecto" HeaderText="Trayecto" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Fecha" ItemStyle-Width="15%" HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||
<asp:BoundField DataField="FechaIng" ItemStyle-Width="15%" HeaderText="Fecha de Ingreso" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||
<asp:BoundField DataField="UsuarioIngreso" HeaderText="Usuario Ingresó" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="UsuarioModifico" HeaderText="Usuario Modificó" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%" HeaderText="Comandos">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton data-toggle="tooltip" title="Editar" ID="LnkEditar" OnClick="LnkEditar_Click" CssClass="btn btn-circle btn-sm green" runat="server" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>
|
||||
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la marca?" data-btn-ok-label="si" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<div id="DModal" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModal" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<h4 class="modal-title">
|
||||
<asp:Literal ID="ltlMotititulo" Text="Modelo" runat="server"> </asp:Literal></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="DivTrayecto" runat="server" class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlTrayecto" CssClass="form-control marginFixRow select2me" runat="server" AppendDataBoundItems="true" DataTextField="Trayecto" DataValueField="CveTrayecto">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVTrayecto" runat="server" ControlToValidate="DdlTrayecto" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Trayecto''</b> es necesario, por favor seleccione uno." ValidationGroup="VgmGuardar"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlTrayecto.ClientID.ToString()%>">Trayecto:</label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtCantidad" runat="server" CssClass="form-control"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFCCantidad" runat="server" ControlToValidate="TxtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor seleccione uno." ValidationGroup="VgmGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="RFCCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtCantidad.ClientID.ToString()%>">Cantidad:</label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtPrecio" runat="server" CssClass="form-control"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVPrecio" runat="server" ControlToValidate="TxtPrecio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio''</b> es necesario, por favor seleccione uno." ValidationGroup="VgmGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEPrecio" runat="server" HighlightCssClass="vco" TargetControlID="RFVPrecio" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtPrecio.ClientID.ToString()%>">Precio:</label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtDescripcion" runat="server" CssClass="form-control"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVModelo" runat="server" ControlToValidate="TxtDescripcion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor seleccione uno." ValidationGroup="VgmGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOModelo" runat="server" HighlightCssClass="vco" TargetControlID="RFVModelo" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtDescripcion.ClientID.ToString()%>">Descripción:</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtObs" runat="server" CssClass="form-control"></asp:TextBox>
|
||||
<label for="<%= TxtObs.ClientID.ToString()%>">Observaciones:</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row v-center">
|
||||
<label class="col-md-12" style="color: gray">Fecha:</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy hh:mm">
|
||||
<asp:TextBox ID="TxtFecha" runat="server" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVFecha" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor seleccione uno." ValidationGroup="VgmGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEI" runat="server" HighlightCssClass="vco" TargetControlID="RFVFecha" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnGuardar" OnClick="BtnGuardar_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="VgmGuardar" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
|
||||
139
GPS/RepGastos.aspx.vb
Normal file
139
GPS/RepGastos.aspx.vb
Normal file
@@ -0,0 +1,139 @@
|
||||
Option Explicit On
|
||||
Option Strict On
|
||||
Imports Extensiones
|
||||
|
||||
Partial Class GPS_RepGastos
|
||||
Inherits ClsPaginas
|
||||
#Region "PROPIEDADES"
|
||||
Private Property CveGPSGasto() As Integer
|
||||
Get
|
||||
Return If(IsNothing(ViewState("CveGPSGasto")), -1, CInt(ViewState("CveGPSGasto")))
|
||||
End Get
|
||||
Set
|
||||
ViewState("CveGPSGasto") = Value
|
||||
End Set
|
||||
End Property
|
||||
Private Property Modalidad() As String
|
||||
Get
|
||||
Return If(IsNothing(ViewState("Modalidad")), "", (ViewState("Modalidad").ToString))
|
||||
End Get
|
||||
Set
|
||||
ViewState("Modalidad") = Value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
CargaCombos()
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "CARGAS"
|
||||
Private Sub CargaCombos()
|
||||
|
||||
txtFechaI.Text = $"01/{DateTime.Now.ToString("MM")}/{DateTime.Now.Year} 00:00"
|
||||
txtFechaF.Text = $"{DateTime.Now.ToString("dd/MM/yyyy")} 23:59"
|
||||
|
||||
Dim ObjGPS As New ClsGPS()
|
||||
If ObjGPS.GetTrayectos(-1, -1, UsuarioActual.CveCliente) Then
|
||||
DdlTrayecto.DataSource = ObjGPS.DtResultados
|
||||
DdlTrayectoFiltro.DataSource = ObjGPS.DtResultados
|
||||
End If
|
||||
ObjGPS.Dispose()
|
||||
|
||||
DdlTrayecto.DataBind()
|
||||
DdlTrayectoFiltro.DataBind()
|
||||
|
||||
UPFiltros.Update()
|
||||
UpModal.Update()
|
||||
End Sub
|
||||
Private Sub CargaDatos()
|
||||
Dim ObjGral As New ClsGPS
|
||||
If ObjGral.GetGastos(-1, UsuarioActual.CveCliente, CveTrayecto:=DdlTrayectoFiltro.SelectedValue.ToEntero()) Then
|
||||
GvDatos.DataSource = ObjGral.DtResultados
|
||||
End If
|
||||
ObjGral.Dispose()
|
||||
GvDatos.DataBind()
|
||||
UpDatos.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
||||
CargaDatos()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "BOTONES"
|
||||
|
||||
Protected Sub LnkEditar_Click(sender As Object, e As EventArgs)
|
||||
LimpiaModal()
|
||||
DivTrayecto.Visible = False
|
||||
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||
|
||||
CveGPSGasto = gvRow.DataKey("CveGPSGasto").ToEntero()
|
||||
TxtCantidad.Text = gvRow.DataKey("Cantidad")
|
||||
TxtPrecio.Text = gvRow.DataKey("Precio")
|
||||
TxtDescripcion.Text = gvRow.DataKey("Descripcion")
|
||||
TxtObs.Text = gvRow.DataKey("Observaciones")
|
||||
TxtFecha.Text = gvRow.DataKey("Fecha").ToDateTime().ToString("dd/MM/yyyy hh:mm:ss")
|
||||
|
||||
Modalidad = "U"
|
||||
BtnGuardar.Text = "Actualizar"
|
||||
ltlMotititulo.Text = "Actualizar Gasto"
|
||||
RegistraScript("$('#DModal').modal('show')")
|
||||
UpModal.Update()
|
||||
End Sub
|
||||
Protected Sub LnkEliminar_Click(sender As Object, e As EventArgs)
|
||||
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||
Dim ObjPS As New ClsGPS
|
||||
Dim CveGasto = gvRow.DataKey("CveGPSGasto").ToEntero
|
||||
If ObjPS.RemoveGasto(CveGasto) Then
|
||||
Alert("El gasto se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
ObjPS.Dispose()
|
||||
CargaDatos()
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkAgregar_Click(sender As Object, e As EventArgs)
|
||||
LimpiaModal()
|
||||
DivTrayecto.Visible = True
|
||||
Modalidad = "A"
|
||||
BtnGuardar.Text = "Agregar"
|
||||
ltlMotititulo.Text = "Agregar Gasto"
|
||||
|
||||
UpModal.Update()
|
||||
RegistraScript("$('#DModal').modal()")
|
||||
End Sub
|
||||
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
|
||||
Dim ObjPS As New ClsGPS
|
||||
If Modalidad = "A" Then
|
||||
If ObjPS.AddGasto(TxtCantidad.Text.ToDecimal(), TxtPrecio.Text.Trim().ToDecimal(), TxtDescripcion.Text.Trim(), TxtObs.Text.Trim(), TxtFecha.Text.ToDateTime(),
|
||||
2, UsuarioActual.CveUsuario, UsuarioActual.CveCliente, CveTrayecto:=DdlTrayecto.SelectedValue.ToEntero()) Then
|
||||
RegistraScript("$('#DModal').modal('hide')")
|
||||
Alert("El Gasto se agregó correctamente.", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
ElseIf Modalidad = "U" Then
|
||||
If ObjPS.UpdateGasto(CveGPSGasto, TxtCantidad.Text.ToDecimal(), TxtPrecio.Text.Trim().ToDecimal(), TxtDescripcion.Text.Trim(), TxtObs.Text.Trim(), TxtFecha.Text.ToDateTime(), UsuarioActual.CveUsuario) Then
|
||||
RegistraScript("$('#DModal').modal('hide')")
|
||||
Alert("El Gasto se agregó correctamente.", TipoMensaje.MsgInformacion)
|
||||
End If
|
||||
End If
|
||||
ObjPS.Dispose()
|
||||
CargaDatos()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "LIMPIAR"
|
||||
Protected Sub LimpiaModal()
|
||||
TxtCantidad.Text = ""
|
||||
TxtPrecio.Text = ""
|
||||
TxtDescripcion.Text = ""
|
||||
TxtObs.Text = ""
|
||||
TxtFecha.Text = ""
|
||||
DdlTrayecto.SelectedValueExist("-1")
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
File diff suppressed because it is too large
Load Diff
@@ -73,15 +73,20 @@ Partial Class GPS_TrayectoDetalle
|
||||
LtlDispositivo.Text = RowEstatus("Vehiculo").ToString()
|
||||
LtlFechaI.Text = If(String.IsNullOrEmpty(RowEstatus("FechaInicio").ToString()), "No ha ingresado a la geocerca de inicio", String.Format("{0:dd/MM/yyyy HH:mm tt}", RowEstatus("FechaInicio").ToString().ToDateTime()))
|
||||
LtlFechaF.Text = If(String.IsNullOrEmpty(RowEstatus("FechaFin").ToString()), "No ha Terminado", String.Format("{0:dd/MM/yyyy HH:mm tt}", RowEstatus("FechaFin").ToString().ToDateTime()))
|
||||
LtlVMedia.Text = String.Format("{0:N2}", RowEstatus("VMedia"))
|
||||
LtlVMax.Text = String.Format("{0:N2}", RowEstatus("VMax"))
|
||||
LtlVMedia.Text = String.Format("{0:N2} KM/H", RowEstatus("VMedia"))
|
||||
LtlVMax.Text = String.Format("{0:N2} KM/H", RowEstatus("VMax"))
|
||||
LtlTiempo.Text = String.Format("{0}", RowEstatus("TiempoOperativo"))
|
||||
LtlKM.Text = String.Format("{0:N2}", RowEstatus("Dist"))
|
||||
LtlKM.Text = String.Format("{0:N2} KM", RowEstatus("Dist"))
|
||||
LtlExcesosVelo.Text = String.Format("{0}", RowEstatus("ExcesosVelocidad"))
|
||||
|
||||
LtlCombustibleI.Text = If(String.IsNullOrEmpty(RowEstatus("CombustibleInicial").ToString()), "No Disponible", String.Format("{0:N2}", RowEstatus("CombustibleInicial")))
|
||||
LtlCombustibleF.Text = If(String.IsNullOrEmpty(RowEstatus("CombustibleFinal").ToString()), "No Disponible", String.Format("{0:N2}", RowEstatus("CombustibleFinal")))
|
||||
|
||||
LtlCargas.Text = String.Format("{0:N0}", RowEstatus("Cargas"))
|
||||
LtlDescargas.Text = String.Format("{0:N0}", RowEstatus("Descargas"))
|
||||
LtlCombustibleConsumido.Text = String.Format("{0:N2} L", RowEstatus("CombustibleConsumido"))
|
||||
LtlRendimiento.Text = String.Format("{0:N2} KM/L", RowEstatus("Rendimiento"))
|
||||
|
||||
GvIgnicion.DataSource = ObjGPS.DtSetResultados.Tables(1)
|
||||
GvIgnicion.DataBind()
|
||||
|
||||
@@ -90,6 +95,13 @@ Partial Class GPS_TrayectoDetalle
|
||||
|
||||
GvRalenti.DataSource = ObjGPS.DtSetResultados.Tables(3)
|
||||
GvRalenti.DataBind()
|
||||
|
||||
GvCombustible.DataSource = ObjGPS.DtSetResultados.Tables(4)
|
||||
GvCombustible.DataBind()
|
||||
|
||||
GvGastos.DataSource = ObjGPS.DtSetResultados.Tables(5)
|
||||
GvGastos.DataBind()
|
||||
|
||||
End If
|
||||
End If
|
||||
Dim count = 0
|
||||
@@ -202,5 +214,12 @@ Partial Class GPS_TrayectoDetalle
|
||||
Alert("No se pudo obtener el estatus final", TipoMensaje.MsgError)
|
||||
End If
|
||||
ObjGPS.Dispose()
|
||||
End Sub
|
||||
End Sub
|
||||
Protected Sub GvGastos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
If String.IsNullOrEmpty(e.Row.DBCampo("CveGPSGasto")) Then
|
||||
e.Row.CssClass = "Totales"
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -643,7 +643,7 @@ Partial Class OS_OrdenesServicios
|
||||
End Sub
|
||||
Private Sub CargaPS(CveClasificacion As Integer, Objeto As DropDownList)
|
||||
Objeto.Items.Clear()
|
||||
Objeto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion, Estatus:=1).FiltraParametros(" CveTipoPS=1")
|
||||
Objeto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion, Estatus:=1, AplicaParaVenta:=1).FiltraParametros(" CveTipoPS=1")
|
||||
Objeto.DataBind()
|
||||
Objeto.Items.Insert(0, New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2"))
|
||||
Objeto.Items.Insert(0, New ListItem("Seleccione el Servicio", "-1"))
|
||||
|
||||
Reference in New Issue
Block a user