-
This commit is contained in:
@@ -1192,6 +1192,75 @@ Public Class ClsBancos
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function AddComplementoPagosSinc(cveUsuario As Int32, fechaInicio As String, cveEmpresa As Int32) As Boolean
|
||||
Dim retorno As Boolean = False
|
||||
DataAdapter("PA_AddComplementoPagosSinc", CommandType.StoredProcedure)
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@cveUsuario", SqlDbType.Int).Value = cveUsuario
|
||||
.Add("@fechaInicio", SqlDbType.VarChar).Value = fechaInicio
|
||||
.Add("@cveEmpresa", SqlDbType.Int).Value = cveEmpresa
|
||||
.Add("@cveComplementoPagoSinc", SqlDbType.Int).Direction = ParameterDirection.Output
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
retorno = False
|
||||
OnError("Ocurrió un error al cancelar estatus complemento de pago", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
Return retorno
|
||||
End Function
|
||||
Public Function UpComplementoPagosSinc(cveComplementoPagoSinc As Int32, fechaFin As String) As Boolean
|
||||
Dim retorno As Boolean = False
|
||||
DataAdapter("PA_UpComplementoPagosSinc", CommandType.StoredProcedure)
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@fechaFin", SqlDbType.VarChar).Value = fechaFin
|
||||
.Add("@cveComplementoPagoSinc", SqlDbType.Int).Value = cveComplementoPagoSinc
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
retorno = False
|
||||
OnError("Ocurrió un error al cancelar estatus complemento de pago", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
Return retorno
|
||||
End Function
|
||||
Public Function BlockComplementodePago(CveIE As Integer, BloqueadoUtilerias As Boolean, CveComplementoPagoSinc As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Banc_ComplementoPagoBlock")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveIE", SqlDbType.Int).Value = CveIE
|
||||
.Add("@CveComplementoPagoSinc", SqlDbType.Int).Value = CveComplementoPagoSinc
|
||||
.Add("@BloqueadoUtilerias", SqlDbType.Bit).Value = BloqueadoUtilerias
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
Retorno = False
|
||||
OnError("Ocurrió un error al Guardar complemento de pago", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function DropComplementodePago(CveIE As Integer, CveComplementoPagoSinc As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Banc_ComplementoPagoremove")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveIE", SqlDbType.Int).Value = CveIE
|
||||
.Add("@CveComplementoPagoSinc", SqlDbType.Int).Value = CveComplementoPagoSinc
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
Retorno = False
|
||||
OnError("Ocurrió un error al Guardar complemento de pago", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function AddComplementoPago(CveIE As Integer, CveVenta As Integer, Serie As String, Folio As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional CvePrePoliza As Integer = -1, Optional Estatus As Integer = 1) As Integer
|
||||
Dim Retorno As Integer = 0
|
||||
DataAdapter("PA_Banc_ComplementoPagoAdd")
|
||||
|
||||
@@ -273,7 +273,7 @@ Public Class ClsCRM
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function AddMedioCaptacion(MedioCaptacion As String, Descripcion As String, CveEmpresa As Integer, CveUsuarioIng As Integer) As Boolean
|
||||
Public Function AddMedioCaptacion(MedioCaptacion As String, Descripcion As String, CveEmpresa As Integer, CveUsuarioIng As Integer, Optional CveTipoProceso As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_CRM_MedioCaptacionAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -281,6 +281,7 @@ Public Class ClsCRM
|
||||
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveUsuarioIng", SqlDbType.Int).Value = CveUsuarioIng
|
||||
.Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
@@ -291,7 +292,8 @@ Public Class ClsCRM
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function UpdateMedioCaptacion(MedioCaptacion As String, Descripcion As String, CveEstatus As Boolean, CveMedioCaptacion As Integer) As Boolean
|
||||
Public Function UpdateMedioCaptacion(MedioCaptacion As String, Descripcion As String, CveEstatus As Boolean, CveMedioCaptacion As Integer,
|
||||
Optional CveTipoProceso As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_CRM_MedioCaptacionUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -299,6 +301,7 @@ Public Class ClsCRM
|
||||
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
|
||||
.Add("@CveEstatus", SqlDbType.Bit).Value = CveEstatus
|
||||
.Add("@CveMedioCaptacion", SqlDbType.Int).Value = CveMedioCaptacion
|
||||
.Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
@@ -590,13 +593,14 @@ Public Class ClsCRM
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function AddProbabilidadAcercamiento(ProbabilidadAcercamiento As String, CveEmpresa As Integer, CveUsuarioIng As Integer) As Boolean
|
||||
Public Function AddProbabilidadAcercamiento(ProbabilidadAcercamiento As String, CveEmpresa As Integer, CveUsuarioIng As Integer, Optional CveTipoProceso As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_CRM_ProbabilidadAcercamientoAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@ProbabilidadAcercamiento", SqlDbType.VarChar).Value = ProbabilidadAcercamiento
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveUsuarioIng", SqlDbType.Int).Value = CveUsuarioIng
|
||||
.Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
@@ -607,7 +611,8 @@ Public Class ClsCRM
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function UpdateProbabilidadAcercamiento(ProbabilidadAcercamiento As String, CveEstatus As Boolean, CveProbabilidadAcercamiento As Integer) As Boolean
|
||||
Public Function UpdateProbabilidadAcercamiento(ProbabilidadAcercamiento As String, CveEstatus As Boolean, CveProbabilidadAcercamiento As Integer,
|
||||
Optional CveTipoProceso As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_CRM_ProbabilidadAcercamientoUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -615,6 +620,7 @@ Public Class ClsCRM
|
||||
|
||||
.Add("@CveEstatus", SqlDbType.Bit).Value = CveEstatus
|
||||
.Add("@CveProbabilidadAcercamiento", SqlDbType.Int).Value = CveProbabilidadAcercamiento
|
||||
.Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -1356,6 +1356,114 @@ Public Class ClsOIEventos
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Circular"
|
||||
Public Function GetCircular(CveEmpresa As Integer, Optional CveCircular As Integer = -1, Optional FechaI As String = "-1", Optional FechaF As String = "-1",
|
||||
Optional CveUsuario As Integer = -1) As Boolean
|
||||
|
||||
FechaI = If(FechaI = "-1", Today.AddYears(-1).ToString, FechaI)
|
||||
FechaF = If(FechaF = "-1", Today.AddYears(1).ToString, FechaF)
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
DataAdapter("PA_OI_CircularesGet")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveCircular", SqlDbType.Int).Value = CveCircular
|
||||
.Add("@FechaI", SqlDbType.DateTime).Value = FechaI
|
||||
.Add("@FechaF", SqlDbType.DateTime).Value = FechaF
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al consultar el Circular.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function AddCircular(Asunto As String, Circular As String, CorreosInternos As String, FechaIng As String, CveUsuario As Integer, CveEmpresa As Integer,
|
||||
Optional CorreosExternos As String = "-1", Optional Adjunto As String = "-1") As Integer
|
||||
|
||||
Dim Retorno As Integer = -1
|
||||
|
||||
DataAdapter("PA_OI_CircularesAdd")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@Asunto", SqlDbType.VarChar).Value = Asunto
|
||||
.Add("@Circular", SqlDbType.VarChar).Value = Circular
|
||||
.Add("@CorreosInternos", SqlDbType.VarChar).Value = CorreosInternos
|
||||
.Add("@FechaIng", SqlDbType.DateTime).Value = FechaIng
|
||||
.Add("@CorreosExternos", SqlDbType.VarChar).Value = CorreosExternos
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@Adjunto", SqlDbType.VarChar).Value = Adjunto
|
||||
.Add("@CveCircular", SqlDbType.Int).Direction = ParameterDirection.Output
|
||||
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = SqlAdapter.SelectCommand.Parameters("@CveCircular").Value.ToString.ToEntero
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al agregar el Circular.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function UpdateCircular(CveCircular As Integer, Asunto As String, Circular As String, CorreosInternos As String, CorreosExternos As String, CveUsuario As Integer) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
DataAdapter("PA_OI_CircularesUpdate")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveCircular", SqlDbType.Int).Value = CveCircular
|
||||
.Add("@Asunto", SqlDbType.VarChar).Value = Asunto
|
||||
.Add("@Circular", SqlDbType.VarChar).Value = Circular
|
||||
.Add("@CorreosInternos", SqlDbType.VarChar).Value = CorreosInternos
|
||||
.Add("@CorreosExternos", SqlDbType.VarChar).Value = CorreosExternos
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al actualizar el Circular.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function DeleteCircular(CveCircular As Integer) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
DataAdapter("PA_OI_CircularesRemove")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveCircular", SqlDbType.Int).Value = CveCircular
|
||||
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al eliminar el Circular.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
|
||||
' IDisposable
|
||||
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
|
||||
|
||||
@@ -3976,6 +3976,8 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/Compras/CatPaqueteriasGuiasTipo.aspx".ToUpper(), 753)
|
||||
PaginaDict.Add("/Compras/RepEvaluacionesProveedores.aspx".ToUpper(), 754)
|
||||
PaginaDict.Add("/Ventas/RepTopClientesVentas.aspx".ToUpper(), 755)
|
||||
PaginaDict.Add("/OI/Circular.aspx".ToUpper(), 756)
|
||||
PaginaDict.Add("/OI/CircularDetalle.aspx".ToUpper(), 757)
|
||||
|
||||
#End Region
|
||||
|
||||
@@ -4123,8 +4125,8 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/CRM/RepAcercamientosEtapas.aspx".ToUpper(), 1310)
|
||||
PaginaDict.Add("/CRM/RepAcercamientos.aspx".ToUpper(), 1311)
|
||||
PaginaDict.Add("/CRM/PopUpBuscarAcercamiento.aspx".ToUpper(), 1312)
|
||||
PaginaDict.Add("/CRM/RepAcercamientosProcesos.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/CRM/RepAcercamientosRechazos.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/CRM/RepAcercamientosProcesos.aspx".ToUpper(), 1313)
|
||||
PaginaDict.Add("/CRM/RepAcercamientosRechazos.aspx".ToUpper(), 1314)
|
||||
PaginaDict.Add("/CRM/RepAcercamientosProcesosDetalle.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/CRM/CatMetas.aspx".ToUpper(), 684)
|
||||
#End Region
|
||||
@@ -5141,56 +5143,75 @@ Public Class ClsPaginas
|
||||
'limpio ReportViwer
|
||||
Dim sw As New System.Diagnostics.Stopwatch()
|
||||
sw.Start()
|
||||
Dim bdir As String = AppDomain.CurrentDomain.BaseDirectory
|
||||
RutaReporte.Replace("/", "\")
|
||||
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
|
||||
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
|
||||
End If
|
||||
Dim CveUsuario As Integer = 0
|
||||
Dim CveEmpresa As Integer = 0
|
||||
If Context.Session("UsuarioSIG") IsNot Nothing Then
|
||||
CveUsuario = UsuarioActual.CveUsuario
|
||||
CveEmpresa = UsuarioActual.CveEmpresa
|
||||
|
||||
End If
|
||||
Dim Bytes As Byte() = Nothing
|
||||
Dim wsreport As New WSRDLC.WebServiceSoapClient
|
||||
Dim params As New List(Of WSRDLC.ReportParameter)
|
||||
Dim ds As New DataSet
|
||||
For Each rpds As ReportDataSource In DataSource
|
||||
Dim dt As DataTable = DirectCast(rpds.Value, Data.DataTable)
|
||||
dt = dt.Copy()
|
||||
dt.TableName = rpds.Name
|
||||
ds.Tables.Add(dt)
|
||||
Next
|
||||
For Each rpds As ReportParameter In Parametros
|
||||
Dim param As New WSRDLC.ReportParameter
|
||||
param.Name = rpds.Name
|
||||
param.Values = {rpds.Values(0)}
|
||||
params.Add(param)
|
||||
Next
|
||||
Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
|
||||
'Dim ruta = wsreport.StreamPDF(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
|
||||
'If File.Exists(ruta) Then
|
||||
' Bytes = File.ReadAllBytes(ruta)
|
||||
' File.Delete(ruta)
|
||||
'End If
|
||||
'Dim setup As AppDomainSetup = New AppDomainSetup
|
||||
'With setup
|
||||
' .ApplicationBase = Environment.CurrentDirectory
|
||||
' .LoaderOptimization = LoaderOptimization.MultiDomainHost
|
||||
'End With
|
||||
'setup.SetCompatibilitySwitches({"NetFx40_LegacySecurityPolicy"})
|
||||
'Dim _casPolicyEnabledDomain As AppDomain = AppDomain.CreateDomain("Full Trust", Nothing, setup)
|
||||
'Dim fllreport As ADSReportLib.FullTrustReportviewer = Nothing
|
||||
'Try
|
||||
|
||||
' fllreport = CType(_casPolicyEnabledDomain.CreateInstanceFromAndUnwrap(GetType(ADSReportLib.FullTrustReportviewer).Assembly.CodeBase, GetType(ADSReportLib.FullTrustReportviewer).FullName), ADSReportLib.FullTrustReportviewer)
|
||||
|
||||
Dim setup As AppDomainSetup = New AppDomainSetup
|
||||
With setup
|
||||
.ApplicationBase = Environment.CurrentDirectory
|
||||
.LoaderOptimization = LoaderOptimization.MultiDomainHost
|
||||
End With
|
||||
setup.SetCompatibilitySwitches({"NetFx40_LegacySecurityPolicy"})
|
||||
Dim _casPolicyEnabledDomain As AppDomain = AppDomain.CreateDomain("Full Trust", Nothing, setup)
|
||||
Dim fllreport As ADSReportLib.FullTrustReportviewer = Nothing
|
||||
Try
|
||||
'Dim rvNextgenReport2 As WebReportviewer.FullTrustReportviewer = CType(_casPolicyEnabledDomain.CreateInstanceFromAndUnwrap(GetType(WebReportviewer.FullTrustReportviewer).Assembly.CodeBase, GetType(WebReportviewer.FullTrustReportviewer).FullName), WebReportviewer.FullTrustReportviewer)
|
||||
'rvNextgenReport2.Initialize(DisplayName, ReportPath, Visible, reportParam, reportRenderFormat, DeviceInfo, repMainContent, repSubContent)
|
||||
|
||||
'For Each _ReportDataSource As ReportDataSource In DataSources
|
||||
' rvNextgenReport2.AddDataSources(_ReportDataSource.Name, CType(_ReportDataSource.Value, DataTable))
|
||||
'Next
|
||||
|
||||
'Return rvNextgenReport2.Render(reportRenderFormat, DeviceInfo)
|
||||
fllreport = CType(_casPolicyEnabledDomain.CreateInstanceFromAndUnwrap(GetType(ADSReportLib.FullTrustReportviewer).Assembly.CodeBase, GetType(ADSReportLib.FullTrustReportviewer).FullName), ADSReportLib.FullTrustReportviewer)
|
||||
|
||||
Dim bdir As String = AppDomain.CurrentDomain.BaseDirectory
|
||||
RutaReporte.Replace("/", "\")
|
||||
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
|
||||
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
|
||||
End If
|
||||
fllreport.Initialize("DisplayName", RutaReporte, Parametros.AsEnumerable(), New List(Of String()), True)
|
||||
For Each RDS As ReportDataSource In DataSource
|
||||
fllreport.AddDataSources(RDS.Name, DirectCast(RDS.Value, DataTable))
|
||||
Next
|
||||
Dim Warnings As Warning() = Nothing
|
||||
Dim StreamIds As String() = Nothing
|
||||
Dim MimeType As String = Nothing
|
||||
Dim Encoding As String = Nothing
|
||||
Dim Extension As String = Nothing
|
||||
Bytes = fllreport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds)
|
||||
fllreport = Nothing
|
||||
Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
|
||||
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
|
||||
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||
'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||
Catch ex As Exception
|
||||
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
|
||||
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||
Finally
|
||||
AppDomain.Unload(_casPolicyEnabledDomain)
|
||||
End Try
|
||||
If fllreport IsNot Nothing Then fllreport.liberarecursos()
|
||||
' fllreport.Initialize("DisplayName", RutaReporte, Parametros.AsEnumerable(), New List(Of String()), True)
|
||||
' For Each RDS As ReportDataSource In DataSource
|
||||
' fllreport.AddDataSources(RDS.Name, DirectCast(RDS.Value, DataTable))
|
||||
' Next
|
||||
' Dim Warnings As Warning() = Nothing
|
||||
' Dim StreamIds As String() = Nothing
|
||||
' Dim MimeType As String = Nothing
|
||||
' Dim Encoding As String = Nothing
|
||||
' Dim Extension As String = Nothing
|
||||
' Bytes = fllreport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds)
|
||||
' fllreport = Nothing
|
||||
'Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
|
||||
' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
|
||||
' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||
' 'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||
'Catch ex As Exception
|
||||
' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
|
||||
' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||
' 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||
'Finally
|
||||
' AppDomain.Unload(_casPolicyEnabledDomain)
|
||||
'End Try
|
||||
'If fllreport IsNot Nothing Then fllreport.liberarecursos()
|
||||
|
||||
sw.Stop()
|
||||
If sw.Elapsed.TotalSeconds > 1 Then
|
||||
|
||||
@@ -385,7 +385,7 @@ Public Class ClsProductosServicios
|
||||
AplicaParaConcepto As Boolean, AplicaParaVenta As Boolean, CveUsuario As Integer, CveEmpresa As Integer, CveMetodoInventario As Integer, EsPaquete As Integer,
|
||||
Optional CveTipoPS As Integer = -1, Optional FuePorXML As Boolean = True, Optional TipoServicio As Integer = -1, Optional CveClasificacion2 As Integer = -1,
|
||||
Optional CveMarca As Integer = -1, Optional AlmacenSeccion As String = "", Optional AplicaIEPS As Boolean = False, Optional IEPSPorcentaje As Decimal = -1,
|
||||
Optional CveConceptoContable As Integer = -1, Optional CveCompuesto As Integer = -1, Optional CveSATPS As Integer = -1, Optional IEPSGrabaIVA As Boolean = False, Optional VentaMinima As Integer = 0,
|
||||
Optional CveConceptoContable As Integer = -1, Optional CveCompuesto As Integer = -1, Optional CveSATPS As Integer = -1, Optional IEPSGrabaIVA As Boolean = False, Optional VentaMinima As Decimal = 0,
|
||||
Optional CveMoneda As Integer = 1, Optional RetISR As Double = 0, Optional PrecioMinimo As Decimal = Nothing, Optional CveTipoFactor As Integer = 1,
|
||||
Optional CveFraccionArancelaria As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1,
|
||||
Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
|
||||
@@ -428,7 +428,7 @@ Public Class ClsProductosServicios
|
||||
'Nuevo R: 26/09/2017'
|
||||
.Add("@Inventariable", SqlDbType.Bit).Value = Inventariable
|
||||
.Add("@CveProveedorCompra", SqlDbType.Int).Value = CveProveedorCompra
|
||||
.Add("@VentaMinima", SqlDbType.Int).Value = VentaMinima
|
||||
.Add("@VentaMinima", SqlDbType.Decimal).Value = VentaMinima
|
||||
|
||||
'Nuevo R: 08/11/2017'
|
||||
.Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
|
||||
@@ -522,7 +522,7 @@ Public Class ClsProductosServicios
|
||||
'Nuevo R: 26/09/2017'
|
||||
.Add("@Inventariable", SqlDbType.Bit).Value = PS.Inventariable
|
||||
.Add("@CveProveedorCompra", SqlDbType.Int).Value = PS.CveProveedorCompra
|
||||
.Add("@VentaMinima", SqlDbType.Int).Value = PS.VentaMinima
|
||||
.Add("@VentaMinima", SqlDbType.Decimal).Value = PS.VentaMinima
|
||||
|
||||
'Nuevo R: 08/11/2017'
|
||||
.Add("@CveMoneda", SqlDbType.Int).Value = PS.CveMoneda
|
||||
@@ -604,7 +604,7 @@ Public Class ClsProductosServicios
|
||||
Public Function UpdatePS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, Codigo2 As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer,
|
||||
AplicaParaConcepto As Boolean, AplicaParaVenta As Boolean, Estado As Boolean, CveUsuario As Integer, CvePS As Integer, CveMetodoInventario As Integer, EsPaquete As Integer, CveSATPS As Integer, Optional CveTipoPS As Integer = -1, Optional TipoServicio As Integer = -1,
|
||||
Optional CveClasificacion2 As Integer = -1, Optional CveMarca As Integer = -1, Optional AlmacenSeccion As String = "", Optional AplicaIEPS As Boolean = False, Optional IEPSPorcentaje As Decimal = -1,
|
||||
Optional CveConceptoContable As Integer = -1, Optional CveCompuesto As Integer = -1, Optional IEPSGrabaIVA As Boolean = False, Optional VentaMinima As Integer = 0,
|
||||
Optional CveConceptoContable As Integer = -1, Optional CveCompuesto As Integer = -1, Optional IEPSGrabaIVA As Boolean = False, Optional VentaMinima As Decimal = 0,
|
||||
Optional CveMoneda As Integer = 1, Optional RetISR As Double = 0, Optional PrecioMinimo As Decimal = Nothing, Optional CveTipoFactor As Integer = 1,
|
||||
Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1,
|
||||
Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
|
||||
@@ -646,7 +646,7 @@ Public Class ClsProductosServicios
|
||||
'Nuevo R: 26/09/2017'
|
||||
.Add("@Inventariable", SqlDbType.Bit).Value = Inventariable
|
||||
.Add("@CveProveedorCompra", SqlDbType.Int).Value = CveProveedorCompra
|
||||
.Add("@VentaMinima", SqlDbType.Int).Value = VentaMinima
|
||||
.Add("@VentaMinima", SqlDbType.Decimal).Value = VentaMinima
|
||||
|
||||
'Nuevo R: 08/11/2017'
|
||||
.Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
|
||||
|
||||
@@ -174,11 +174,26 @@ Public Class ClsSisUsuarios
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetModulosUsuariosPlataforma(CveUsuario As Integer, CvePlataforma As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("SELECT M.* FROM [dbo].[UsuariosModulos] UM INNER JOIN Modulos M ON M.CveModulo=UM.CveModulo WHERE M.CvePlataforma =@CvePlataforma AND @CveUsuario = UM .CveUsuario AND UM.Permitir =1", CommandType.Text)
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CvePlataforma", SqlDbType.Int).Value = CvePlataforma
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As SqlException
|
||||
OnError("Ocurrio un error al obtener el menu.", ex)
|
||||
Retorno = False
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function ValidaUsuario(Usuario As String, Password As String, tIMEI As String, Optional CveEmpresa As Integer = -1) As Usuario
|
||||
Dim Retorno As Usuario = Nothing
|
||||
|
||||
DataAdapter("PA_Sis_UsuariosGet")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = -1
|
||||
.Add("@CveRol", SqlDbType.Int).Value = -1
|
||||
@@ -186,7 +201,6 @@ Public Class ClsSisUsuarios
|
||||
.Add("@Contraseña", SqlDbType.VarChar).Value = Password
|
||||
.Add("@EsLogIn", SqlDbType.Bit).Value = 1
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
|
||||
@@ -233,6 +233,7 @@
|
||||
<xs:element name="NumCuenta" msprop:Generator_ColumnVarNameInTable="columnNumCuenta" msprop:Generator_ColumnPropNameInRow="NumCuenta" msprop:Generator_ColumnPropNameInTable="NumCuentaColumn" msprop:Generator_UserColumnName="NumCuenta" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="CveMoneda" msprop:Generator_ColumnVarNameInTable="columnCveMoneda" msprop:Generator_ColumnPropNameInRow="CveMoneda" msprop:Generator_ColumnPropNameInTable="CveMonedaColumn" msprop:Generator_UserColumnName="CveMoneda" type="xs:short" minOccurs="0" />
|
||||
<xs:element name="CveVenta" msprop:Generator_ColumnVarNameInTable="columnCveVenta" msprop:Generator_ColumnPropNameInRow="CveVenta" msprop:Generator_ColumnPropNameInTable="CveVentaColumn" msprop:Generator_UserColumnName="CveVenta" type="xs:short" minOccurs="0" />
|
||||
<xs:element name="PorcentajeIVA" msprop:Generator_ColumnVarNameInTable="columnPorcentajeIVA" msprop:Generator_ColumnPropNameInRow="PorcentajeIVA" msprop:Generator_ColumnPropNameInTable="PorcentajeIVAColumn" msprop:Generator_UserColumnName="PorcentajeIVA" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
@@ -4,51 +4,51 @@ Option Strict On
|
||||
<Serializable()>
|
||||
Public Class Empresa
|
||||
|
||||
Public CveEmpresa As Integer
|
||||
Public Empresa As String
|
||||
Public NombreCorto As String
|
||||
Public Direccion As String
|
||||
Public NoExt As String
|
||||
Public NoInt As String
|
||||
Public Colonia As String
|
||||
Public Ciudad As String
|
||||
Public Estado As String
|
||||
Public CP As Integer
|
||||
Public RFC As String
|
||||
Public CURP As String
|
||||
Public RegistroPatronal As String
|
||||
Public Telefono As String
|
||||
Public Contacto As String
|
||||
Public Mail As String
|
||||
Public TipoFacturacion As String
|
||||
Public ContraseñaKey As String
|
||||
Public ArchivoKey As String
|
||||
Public ArchivoCer As String
|
||||
Public ArchivoPfx As String
|
||||
Public BIUsuario As String
|
||||
Public BIContraseña As String
|
||||
Public Banner As String
|
||||
Public FacturaProduccion As Boolean
|
||||
Public FechaIng As Date
|
||||
Public CveUsuario As Integer
|
||||
Public SendMail As String
|
||||
Public SendMailPassword As String
|
||||
Public SendMailServer As String
|
||||
Public SendMailPuerto As Integer
|
||||
Public SendMailSSL As Boolean
|
||||
Public Usuario As String
|
||||
Public MostrarRetIVA As Boolean
|
||||
Public EjercicioActual As Integer
|
||||
Public PeriodoActual As Integer
|
||||
Public GralSoloProyecto As Boolean
|
||||
Public MetodoOC As Integer
|
||||
Public CveMetodoInventario As Integer
|
||||
Public RequiereCentroCostos As Boolean
|
||||
Public EmpresaEncabezado As String
|
||||
Public GrupoEmpresa As Integer
|
||||
Public Extension As String
|
||||
Public EsComercializadora As Boolean
|
||||
Public BaseDatosNombre As String = "Ventas"
|
||||
Public Property CveEmpresa As Integer
|
||||
Public Property Empresa As String
|
||||
Public Property NombreCorto As String
|
||||
Public Property Direccion As String
|
||||
Public Property NoExt As String
|
||||
Public Property NoInt As String
|
||||
Public Property Colonia As String
|
||||
Public Property Ciudad As String
|
||||
Public Property Estado As String
|
||||
Public Property CP As Integer
|
||||
Public Property RFC As String
|
||||
Public Property CURP As String
|
||||
Public Property RegistroPatronal As String
|
||||
Public Property Telefono As String
|
||||
Public Property Contacto As String
|
||||
Public Property Mail As String
|
||||
Public Property TipoFacturacion As String
|
||||
Public Property ContraseñaKey As String
|
||||
Public Property ArchivoKey As String
|
||||
Public Property ArchivoCer As String
|
||||
Public Property ArchivoPfx As String
|
||||
Public Property BIUsuario As String
|
||||
Public Property BIContraseña As String
|
||||
Public Property Banner As String
|
||||
Public Property FacturaProduccion As Boolean
|
||||
Public Property FechaIng As Date
|
||||
Public Property CveUsuario As Integer
|
||||
Public Property SendMail As String
|
||||
Public Property SendMailPassword As String
|
||||
Public Property SendMailServer As String
|
||||
Public Property SendMailPuerto As Integer
|
||||
Public Property SendMailSSL As Boolean
|
||||
Public Property Usuario As String
|
||||
Public Property MostrarRetIVA As Boolean
|
||||
Public Property EjercicioActual As Integer
|
||||
Public Property PeriodoActual As Integer
|
||||
Public Property GralSoloProyecto As Boolean
|
||||
Public Property MetodoOC As Integer
|
||||
Public Property CveMetodoInventario As Integer
|
||||
Public Property RequiereCentroCostos As Boolean
|
||||
Public Property EmpresaEncabezado As String
|
||||
Public Property GrupoEmpresa As Integer
|
||||
Public Property Extension As String
|
||||
Public Property EsComercializadora As Boolean
|
||||
Public Property BaseDatosNombre As String = "Ventas"
|
||||
'Nuevos
|
||||
|
||||
Public AreaGeografica As String
|
||||
|
||||
@@ -9849,7 +9849,7 @@ Namespace Modelos
|
||||
Public Property Inventariable As Boolean?
|
||||
Public Property CveProveedorCompra As Integer?
|
||||
Public Property ProveedorCompra As String
|
||||
Public Property VentaMinima As Integer?
|
||||
Public Property VentaMinima As Decimal?
|
||||
Public Property RetISR As Integer?
|
||||
Public Property SATClaveProductoServicio As String
|
||||
Public Property PrecioMinimo As Double?
|
||||
|
||||
25
App_Code/WS/WSApiController.vb
Normal file
25
App_Code/WS/WSApiController.vb
Normal file
@@ -0,0 +1,25 @@
|
||||
Imports System.Web.Http
|
||||
Imports Extensiones
|
||||
Imports Microsoft.VisualBasic
|
||||
|
||||
Public Class WSApiController
|
||||
Inherits ApiController
|
||||
|
||||
Public ReadOnly Property CveUsuario As Integer
|
||||
Get
|
||||
Return Decripta(Request.Headers.Authorization.Parameter).Split("|"c)(0).ToEntero()
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property CveEmpresa As Integer
|
||||
Get
|
||||
Return Decripta(Request.Headers.Authorization.Parameter).Split("|"c)(4).ToEntero()
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property RutaEmpresa As String
|
||||
Get
|
||||
Return String.Format("{0}Empresas\{1}\", AppDomain.CurrentDomain.BaseDirectory, Decripta(Request.Headers.Authorization.Parameter).Split("|"c)(4))
|
||||
End Get
|
||||
End Property
|
||||
'
|
||||
End Class
|
||||
180
App_Code/WS/WSSIGVentas.vb
Normal file
180
App_Code/WS/WSSIGVentas.vb
Normal file
@@ -0,0 +1,180 @@
|
||||
Imports System.Net
|
||||
Imports System.Web.Http
|
||||
Imports Extensiones
|
||||
Imports WsUtility
|
||||
|
||||
Namespace SIG
|
||||
|
||||
<Extensiones.BasicAuthentication()>
|
||||
<RoutePrefix("api/SIGVentas")>
|
||||
Public Class SIGVentasController
|
||||
Inherits WSApiController
|
||||
|
||||
<Route("creartrama")>
|
||||
<HttpPost>
|
||||
Public Function CrearTrama(<FromBody()> params As WsBody) As Object
|
||||
Dim respuesta = "Entraste " 'New With {.Correcto = False, .Mensaje = "", .Datos = New JObject}
|
||||
|
||||
Return respuesta
|
||||
End Function
|
||||
|
||||
|
||||
<Route("GetComplementoPago")>
|
||||
<HttpPost>
|
||||
Public Function GetComplementoPago(<FromBody()> params As WsBody) As Object
|
||||
Dim respuesta As Data.DataTable = Nothing 'New With {.Correcto = False, .Mensaje = "", .Datos = New JObject}
|
||||
|
||||
Dim CveCliente As Integer = -1
|
||||
Dim FechaI As DateTime = DateTime.Now
|
||||
Dim FechaF As DateTime = DateTime.Now
|
||||
Dim CveIE As Integer = -1
|
||||
Dim CveVenta As Integer = -1
|
||||
Dim opcion As Integer = -1
|
||||
Dim CveEmpresa As Integer = -1
|
||||
Dim status As Integer = -1
|
||||
|
||||
Dim continuar As Boolean = True
|
||||
Dim jsobj As New JSutil(params.Datos)
|
||||
|
||||
Dim value As String = Nothing
|
||||
If continuar Then continuar = jsobj.GetValue("CveCliente", value)
|
||||
If continuar Then CveCliente = value.ToEntero()
|
||||
If continuar Then continuar = jsobj.GetValue("FechaInicio", value)
|
||||
If continuar Then DateTime.TryParseExact(value, "yyyyMMdd", New Globalization.CultureInfo("es-MX"), Globalization.DateTimeStyles.None, FechaI)
|
||||
If continuar Then continuar = jsobj.GetValue("FechaFin", value)
|
||||
If continuar Then DateTime.TryParseExact(value, "yyyyMMdd", New Globalization.CultureInfo("es-MX"), Globalization.DateTimeStyles.None, FechaF)
|
||||
If continuar Then continuar = jsobj.GetValue("CveIE", value)
|
||||
If continuar Then CveIE = value.ToEntero()
|
||||
If continuar Then continuar = jsobj.GetValue("Opcion", value)
|
||||
If continuar Then opcion = value.ToEntero()
|
||||
If continuar Then continuar = jsobj.GetValue("CveVenta", value)
|
||||
If continuar Then CveVenta = value.ToEntero()
|
||||
If continuar Then continuar = jsobj.GetValue("CveEmpresa", value)
|
||||
If continuar Then CveEmpresa = value.ToEntero()
|
||||
If continuar Then continuar = jsobj.GetValue("Estatus", value)
|
||||
If continuar Then status = value.ToEntero()
|
||||
|
||||
|
||||
Using Banco As New ClsBancos()
|
||||
If Banco.GetComplementoPagosRep(CveCliente, FechaI, FechaF, CveIE, CveVenta, opcion, CveEmpresa, Estatus:=status) Then
|
||||
respuesta = Banco.DtResultados.FiltraParametros("BloqueadoUtilerias = 0")
|
||||
End If
|
||||
Dim Serie As String = "Pag"
|
||||
Dim CveComplementoPagoTimbre As Integer = -1
|
||||
Dim Folio As Integer = -1
|
||||
respuesta.Columns.Add("CveComplementoPagoTimbre", GetType(Int32))
|
||||
respuesta.Columns.Add("CveComplementoPagoSinc", GetType(Int32))
|
||||
respuesta.Columns.Add("FolioTimbre", GetType(String))
|
||||
respuesta.AcceptChanges()
|
||||
Dim thencommit As Boolean = True
|
||||
Banco.IniciaTransacSQL()
|
||||
If Banco.AddComplementoPagosSinc(CveUsuario, DateTime.Now.ToString("yyyy/MM/dd"), CveEmpresa) Then
|
||||
Dim CveComplementoPagoSinc As Integer = Banco.DtResultados.Rows(0)("CveComplementoPagoSinc").ToString().ToEntero()
|
||||
For Each dr As System.Data.DataRow In respuesta.Select("CveVenta Is NULL")
|
||||
'CveComplementoPagoTimbre = Banco.AddComplementoPago(dr("CveIE").ToString().ToEntero(), -1, Serie, Folio, Me.CveUsuario, CveEmpresa, CvePrePoliza:=-1, Estatus:=1)
|
||||
Folio = 1 'Banco.FActual
|
||||
'dr("CveComplementoPagoTimbre") = CveComplementoPagoTimbre
|
||||
dr("FolioTimbre") = Folio
|
||||
dr("CveComplementoPagoSinc") = CveComplementoPagoSinc
|
||||
If Not Banco.BlockComplementodePago(dr("CveIE").ToString().ToEntero(), 1, CveComplementoPagoSinc) Then
|
||||
thencommit = False
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
thencommit = False
|
||||
End If
|
||||
respuesta.AcceptChanges()
|
||||
If thencommit Then
|
||||
Banco.Commit()
|
||||
Else
|
||||
respuesta = New System.Data.DataTable()
|
||||
Banco.RollBack()
|
||||
End If
|
||||
End Using
|
||||
|
||||
Return JSutil.strresponse(respuesta, (Not IsNothing(respuesta)), "")
|
||||
End Function
|
||||
|
||||
|
||||
<Route("SincronizarComplementoPago")>
|
||||
<HttpPost>
|
||||
Public Function SincronizarComplementoPago(<FromBody()> params As WsBody) As Object
|
||||
Dim dt As System.Data.DataTable = Newtonsoft.Json.JsonConvert.DeserializeObject(Of System.Data.DataTable)(Decripta(params.Datos))
|
||||
Dim dterror As Data.DataTable = dt.Copy()
|
||||
Dim CveEmpresa As Integer = 119
|
||||
Dim rutaxml As String = String.Format("{0}xml", RutaEmpresa)
|
||||
If Not System.IO.Directory.Exists(rutaxml) Then
|
||||
System.IO.Directory.CreateDirectory(rutaxml)
|
||||
End If
|
||||
|
||||
Using objbancos As New ClsBancos()
|
||||
objbancos.IniciaTransacSQL()
|
||||
dt.AcceptChanges()
|
||||
Dim continuar As Boolean = True
|
||||
For Each dr As System.Data.DataRow In dt.Rows
|
||||
If continuar AndAlso dr("Sincronizado").ToString() <> "1" Then
|
||||
If dr("SeTimbro").ToString() = 1 Then
|
||||
Dim CveComplementoPagoTimbre As Integer
|
||||
Try
|
||||
Using ArchivoW As New IO.StreamWriter(String.Format("{0}\{1}.xml", rutaxml, dr("FolioFiscalTimbre").ToString()), True, System.Text.Encoding.UTF8)
|
||||
Try
|
||||
ArchivoW.Write(dr("timbreXml").ToString())
|
||||
Catch
|
||||
continuar = False
|
||||
End Try
|
||||
End Using
|
||||
Catch
|
||||
continuar = False
|
||||
End Try
|
||||
If continuar Then
|
||||
CveComplementoPagoTimbre = objbancos.AddComplementoPago(dr("CveIE").ToString().ToEntero(), -1, "Pag", dr("FolioTimbre"), Me.CveUsuario, CveEmpresa, CvePrePoliza:=-1, Estatus:=1)
|
||||
continuar = CveComplementoPagoTimbre > 0
|
||||
End If
|
||||
If continuar Then continuar = objbancos.UpdateComplementoPago(CveComplementoPagoTimbre, dr("FolioFiscalTimbre").ToString(), dr("CvePAC").ToString().ToEntero(), CveEmpresa)
|
||||
If continuar Then
|
||||
dr("Sincronizado") = 1
|
||||
End If
|
||||
Else
|
||||
|
||||
If objbancos.DropComplementodePago(dr("CveIE").ToString().ToEntero(), 0) Then 'dr("CveComplementoPagoSinc").ToString().ToEntero()) Then
|
||||
dr("Sincronizado") = 1
|
||||
Else
|
||||
continuar = False
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
Next
|
||||
If continuar Then
|
||||
objbancos.Commit()
|
||||
Else
|
||||
dt = dterror
|
||||
objbancos.RollBack()
|
||||
End If
|
||||
End Using
|
||||
|
||||
dt.AcceptChanges()
|
||||
Return JSutil.strresponse(dt, (Not IsNothing(dt)), "")
|
||||
End Function
|
||||
|
||||
' GET api/<controller>
|
||||
Public Function GetValues() As IEnumerable(Of String)
|
||||
Return New String() {"value1", "value2"}
|
||||
End Function
|
||||
' GET api/<controller>/5
|
||||
Public Function GetValue(ByVal id As Integer) As String
|
||||
Return "value"
|
||||
End Function
|
||||
' POST api/<controller>
|
||||
Public Sub PostValue(<FromBody()> ByVal value As String)
|
||||
End Sub
|
||||
' PUT api/<controller>/5
|
||||
Public Sub PutValue(ByVal id As Integer, <FromBody()> ByVal value As String)
|
||||
End Sub
|
||||
' DELETE api/<controller>/5
|
||||
Public Sub DeleteValue(ByVal id As Integer)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
154
App_Code/WS/WSUSer.vb
Normal file
154
App_Code/WS/WSUSer.vb
Normal file
@@ -0,0 +1,154 @@
|
||||
|
||||
Imports System.Net
|
||||
Imports System.Web.Http
|
||||
Imports Extensiones
|
||||
Imports WsUtility
|
||||
|
||||
Namespace SIG
|
||||
|
||||
<Extensiones.BasicAuthentication()>
|
||||
<RoutePrefix("api/usuario")>
|
||||
Public Class usuarioController 'SIGVentasController
|
||||
Inherits ApiController
|
||||
|
||||
<Route("Login")>
|
||||
<HttpPost>
|
||||
Public Function Login(<FromBody()> params As WsBody) As Object
|
||||
'Dim respuesta = "" 'New With {.Correcto = False, .Mensaje = "", .Datos = New JObject}
|
||||
Dim continuar As Boolean = True
|
||||
Dim Token As Integer
|
||||
If True Then
|
||||
Dim authHeader = Request.Headers.Authorization
|
||||
Dim dataArray = Extensiones.Decripta(authHeader.Parameter).Split("|"c)
|
||||
If dataArray.Length > 4 AndAlso IsNumeric(dataArray(0)) AndAlso IsNumeric(dataArray(1)) AndAlso IsNumeric(dataArray(4)) Then
|
||||
|
||||
Dim CveUsuario As Integer = dataArray(0).ToEntero()
|
||||
Dim FechaPeticion As DateTime
|
||||
DateTime.TryParseExact(String.Format("{0} {1}", dataArray(2), dataArray(3)), "ddMMyyyy HHmm", New Globalization.CultureInfo("es-MX"), Globalization.DateTimeStyles.None, FechaPeticion)
|
||||
Dim CveEmpresa As Integer = dataArray(4).ToEntero()
|
||||
|
||||
Dim diferencia As Double = (FechaPeticion - DateTime.Now).TotalMinutes
|
||||
Token = diferencia.ToString("N0").ToEntero()
|
||||
End If
|
||||
End If
|
||||
Dim jsobj As New JSutil(params.Datos)
|
||||
|
||||
Dim username As String = Nothing
|
||||
Dim password As String = Nothing
|
||||
Dim CveEmpresastr As String = "-1"
|
||||
Dim value As String = Nothing
|
||||
If continuar Then continuar = jsobj.GetValue("UsuarioName", value)
|
||||
If continuar Then username = value
|
||||
If continuar Then continuar = jsobj.GetValue("Password", value)
|
||||
If continuar Then password = value
|
||||
If jsobj.GetValue("CveEmpresa", value) Then CveEmpresastr = value
|
||||
|
||||
Dim Retorno As List(Of String) = Nothing
|
||||
If continuar Then
|
||||
Using objuser As New ClsSisUsuarios
|
||||
Dim user As Usuario = objuser.ValidaUsuario(username, Extensiones.ModExtensiones.Encripta(password), "-1", CveEmpresastr.ToEntero())
|
||||
|
||||
Dim OjEmpresa As Empresa = Nothing
|
||||
If user IsNot Nothing Then
|
||||
objuser.GetModulosUsuariosPlataforma(user.CveUsuario, 8)
|
||||
Dim dtmodulos As System.Data.DataTable = objuser.DtResultados
|
||||
If CveEmpresastr.ToEntero() > 0 Then
|
||||
user.CveEmpresa = CveEmpresastr.ToEntero()
|
||||
End If
|
||||
Using ObjEmpresa As New ClsSisEmpresas()
|
||||
|
||||
If ObjEmpresa.GetEmpresas(user.CveEmpresa, "-1", "-1", "-1", "-1") Then
|
||||
'If ObjEmpresa.GetEmpresasFuncionalidades(user.CveEmpresa) Then
|
||||
' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
|
||||
|
||||
' Dim EmpresasFuncionalidades As New HybridDictionary
|
||||
' For Each Row As Data.DataRow In dttmp.Rows
|
||||
' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
|
||||
' Next
|
||||
' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
|
||||
'End If
|
||||
|
||||
OjEmpresa = ObjEmpresa.Empresa
|
||||
End If
|
||||
End Using
|
||||
Dim Retornouser As UsuarioApp
|
||||
Retornouser = New UsuarioApp With {
|
||||
.CveUsuario = user.CveUsuario,
|
||||
.Nombre = user.Nombre,
|
||||
.UsuarioName = user.Usuario,
|
||||
.CveRol = user.CveRol,
|
||||
.Rol = user.Rol,
|
||||
.CveEmpresa = user.CveEmpresa,
|
||||
.Token = Token', .Empresa = OjEmpresa
|
||||
}
|
||||
Retorno = New List(Of String)
|
||||
Retorno.Add(Extensiones.ModExtensiones.Encripta(Newtonsoft.Json.JsonConvert.SerializeObject(Retornouser)))
|
||||
Retorno.Add(Extensiones.ModExtensiones.Encripta(Newtonsoft.Json.JsonConvert.SerializeObject(OjEmpresa)))
|
||||
Retorno.Add(Extensiones.ModExtensiones.Encripta(Newtonsoft.Json.JsonConvert.SerializeObject(dtmodulos)))
|
||||
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
Dim objrt = New WsBody With {
|
||||
.Datos = Newtonsoft.Json.JsonConvert.SerializeObject(Retorno),
|
||||
.IsFail = False,
|
||||
.FailStr = ""
|
||||
}
|
||||
Return objrt
|
||||
'Return JSutil.strresponse(Retorno, (Not IsNothing(Retorno)), "")
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
<Route("GetEmpresa")>
|
||||
<HttpPost>
|
||||
Public Function GetEmpresa() As Object
|
||||
Dim retorno As Data.DataTable = Nothing
|
||||
Using ObjEmpresas As New ClsSisEmpresas()
|
||||
If ObjEmpresas.GetEmpresas(-1, "-1", "-1", "-1", "-1") Then
|
||||
'verifico si existe la carpeta de la empresa, sino la crea
|
||||
For Each dr As Data.DataRow In ObjEmpresas.DtResultados.Rows
|
||||
Dim Ruta As String = String.Format("{0}Empresas\{1}", AppDomain.CurrentDomain.BaseDirectory, dr("CveEmpresa"))
|
||||
If Not IO.Directory.Exists(Ruta) Then IO.Directory.CreateDirectory(Ruta)
|
||||
If Not System.IO.Directory.Exists(String.Format("{0}\XML\", Ruta)) Then System.IO.Directory.CreateDirectory(String.Format("{0}\XML\", Ruta))
|
||||
If Not System.IO.Directory.Exists(String.Format("{0}\PDF\", Ruta)) Then System.IO.Directory.CreateDirectory(String.Format("{0}\PDF\", Ruta))
|
||||
|
||||
Next
|
||||
retorno = ObjEmpresas.DtResultados
|
||||
End If
|
||||
End Using
|
||||
|
||||
|
||||
Return JSutil.strresponse(retorno, (Not IsNothing(retorno)), "")
|
||||
End Function
|
||||
|
||||
<Route("GetUsuariosEmpresa")>
|
||||
<HttpPost>
|
||||
Public Function GetUsuariosEmpresa(<FromBody()> params As WsBody) As Object
|
||||
Dim retorno As Data.DataTable = Nothing
|
||||
|
||||
Using ObjUsuarios As New ClsSisUsuarios()
|
||||
If ObjUsuarios.GetUsuarios(-1, -1) Then
|
||||
retorno = ObjUsuarios.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", Extensiones.ModExtensiones.Decripta(params.Datos).ToEntero()))
|
||||
End If
|
||||
End Using
|
||||
Return JSutil.strresponse(retorno, (Not IsNothing(retorno)), "")
|
||||
End Function
|
||||
End Class
|
||||
|
||||
|
||||
Public Class UsuarioApp
|
||||
Public Sub New()
|
||||
End Sub
|
||||
|
||||
Public Property CveUsuario As Integer
|
||||
Public Property CveEmpresa As Integer
|
||||
Public Property CveRol As Integer
|
||||
Public Property Rol As String
|
||||
Public Property Token As Integer
|
||||
Public Property UsuarioName As String
|
||||
Public Property Password As String
|
||||
Public Property Nombre As String
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
105
App_Code/WS/WsUtility.vb
Normal file
105
App_Code/WS/WsUtility.vb
Normal file
@@ -0,0 +1,105 @@
|
||||
Imports System.Net.Http
|
||||
Imports Microsoft.VisualBasic
|
||||
|
||||
|
||||
Namespace WsUtility
|
||||
|
||||
'Public Class SigAuthenticationAttribute
|
||||
' Inherits Http.Filters.AuthorizationFilterAttribute
|
||||
|
||||
|
||||
' Public Sub New()
|
||||
|
||||
' End Sub
|
||||
|
||||
' Public Overrides Sub OnAuthorization(ByVal actionContext As Http.Controllers.HttpActionContext)
|
||||
' Dim authHeader = actionContext.Request.Headers.Authorization
|
||||
' Dim noautorizado As Boolean = True
|
||||
' If authHeader IsNot Nothing Then
|
||||
' Try
|
||||
|
||||
' Dim decodedAuthenticationToken = Extensiones.Decripta(authHeader.Parameter)
|
||||
' Dim dataArray = decodedAuthenticationToken.Split("|"c)
|
||||
' If dataArray.Length > 4 Then
|
||||
|
||||
' Dim CveUsuario As Integer = dataArray(0)
|
||||
' Dim Token As Integer = dataArray(1)
|
||||
' Dim FechaPeticion As DateTime
|
||||
' DateTime.TryParseExact(String.Format("{0} {1}", dataArray(2), dataArray(3)), "ddMMyyyy HHmm", New Globalization.CultureInfo("es-MX"), Globalization.DateTimeStyles.None, FechaPeticion)
|
||||
' FechaPeticion = FechaPeticion.AddMinutes(Token)
|
||||
' Dim CveEmpresa As Integer = dataArray(4)
|
||||
|
||||
' Dim diferencia As Integer = Math.Abs((FechaPeticion - DateTime.Now).TotalMinutes)
|
||||
' If diferencia < 30 Then
|
||||
' noautorizado = False
|
||||
' End If
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
' noautorizado = True
|
||||
' End Try
|
||||
' End If
|
||||
' If noautorizado Then
|
||||
' HandleUnathorized(actionContext)
|
||||
' End If
|
||||
' End Sub
|
||||
|
||||
' Private Shared Sub HandleUnathorized(ByVal actionContext As Http.Controllers.HttpActionContext)
|
||||
' actionContext.Response = actionContext.Request.CreateResponse(Net.HttpStatusCode.Unauthorized)
|
||||
' actionContext.Response.Headers.Add("WWW-Authenticate", "Basic Scheme='Data' location = 'http://localhost:")
|
||||
' End Sub
|
||||
|
||||
'End Class
|
||||
Public Class JSutil
|
||||
Public Property jsobj As Newtonsoft.Json.Linq.JObject
|
||||
Public Sub New(strjson As String, Optional isencripted As Boolean = True)
|
||||
If isencripted Then strjson = Extensiones.ModExtensiones.Decripta(strjson)
|
||||
Try
|
||||
jsobj = Newtonsoft.Json.Linq.JObject.Parse(strjson)
|
||||
Catch ex As Exception
|
||||
Extensiones.GuardaLog(String.Format("Json Invalido '{0}'{2}{1}", strjson, ex.ToString(), vbNewLine))
|
||||
End Try
|
||||
End Sub
|
||||
Public Function GetValue(FieldName As String, ByRef Valor As String) As Boolean
|
||||
Dim continuar As Boolean = False
|
||||
If Not IsNothing(jsobj) Then
|
||||
|
||||
Dim value As Newtonsoft.Json.Linq.JToken = Nothing
|
||||
|
||||
continuar = jsobj.TryGetValue(FieldName, value)
|
||||
If continuar Then
|
||||
Valor = value.ToString()
|
||||
End If
|
||||
End If
|
||||
Return continuar
|
||||
End Function
|
||||
|
||||
Public Shared Function strresponse(objeto As Object, isFail As Boolean, FailStr As String) As WsBody
|
||||
Dim retorno As String = ""
|
||||
retorno = Newtonsoft.Json.JsonConvert.SerializeObject(objeto)
|
||||
retorno = Extensiones.ModExtensiones.Encripta(retorno)
|
||||
Dim objrt = New WsBody With {
|
||||
.Datos = retorno,
|
||||
.IsFail = isFail,
|
||||
.FailStr = FailStr
|
||||
}
|
||||
'retorno = Newtonsoft.Json.JsonConvert.SerializeObject(objrt)
|
||||
Return objrt
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
Class UserValidation
|
||||
Public Property CveUsuario As Integer
|
||||
Public Property Token As String
|
||||
Public Property Valida As Boolean
|
||||
Public Property Min As Integer
|
||||
|
||||
End Class
|
||||
Public Class WsBody
|
||||
Public Property Datos As String
|
||||
Public Property Metodo As String
|
||||
Public Property IsFail As Boolean
|
||||
Public Property FailStr As String
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
@@ -9,5 +9,6 @@ Public Class WebApiConfig
|
||||
config.EnableCors(Cors)
|
||||
config.MapHttpAttributeRoutes()
|
||||
config.Filters.Add(New Extensiones.BasicAuthenticationAttribute("sigfoxapiuser", "_$83965./54"))
|
||||
'config.Filters.Add(New WsUtility.SigAuthenticationAttribute())
|
||||
End Sub
|
||||
End Class
|
||||
@@ -3330,33 +3330,62 @@ Namespace Extensiones
|
||||
#Region "A T R I B U T O S"
|
||||
Public Class BasicAuthenticationAttribute
|
||||
Inherits AuthorizationFilterAttribute
|
||||
|
||||
Private Const SigfoxPath As String = "/api/sigfox"
|
||||
Private Const LoginPath As String = "/api/usuario/Login"
|
||||
Public Property Usuario As String
|
||||
Public Property Contra As String
|
||||
|
||||
Public Property Contra As String
|
||||
|
||||
Public Sub New()
|
||||
End Sub
|
||||
Public Sub New(Usuario As String, Contra As String)
|
||||
Me.Usuario = Usuario
|
||||
Me.Contra = Contra
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub OnAuthorization(ByVal actionContext As HttpActionContext)
|
||||
Dim authHeader = actionContext.Request.Headers.Authorization
|
||||
|
||||
Dim authHeader = actionContext.Request.Headers.Authorization
|
||||
Dim noautorizado As Boolean = True
|
||||
If authHeader IsNot Nothing Then
|
||||
Dim authenticationToken = actionContext.Request.Headers.Authorization.Parameter
|
||||
Dim decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken))
|
||||
Dim usernamePasswordArray = decodedAuthenticationToken.Split(":"c)
|
||||
Dim userName = usernamePasswordArray(0)
|
||||
Dim password = usernamePasswordArray(1)
|
||||
If Left(actionContext.Request.RequestUri.AbsolutePath, 11).ToUpper() = SigfoxPath.ToUpper() Then
|
||||
Dim usernamePasswordArray = Encoding.UTF8.GetString(Convert.FromBase64String(authHeader.Parameter)).Split(":"c)
|
||||
Dim userName = usernamePasswordArray(0)
|
||||
Dim password = usernamePasswordArray(1)
|
||||
noautorizado = Not (userName = Me.Usuario AndAlso password = Me.Contra)
|
||||
Else
|
||||
Try
|
||||
|
||||
If actionContext.Request.RequestUri.AbsolutePath.ToUpper() <> LoginPath.ToUpper() Then
|
||||
Dim dataArray = Extensiones.Decripta(authHeader.Parameter).Split("|"c)
|
||||
If dataArray.Length > 4 AndAlso IsNumeric(dataArray(0)) AndAlso IsNumeric(dataArray(1)) AndAlso IsNumeric(dataArray(4)) Then
|
||||
|
||||
Dim CveUsuario As Integer = dataArray(0).ToEntero()
|
||||
Dim Token As Integer = dataArray(1).ToEntero()
|
||||
Dim FechaPeticion As DateTime
|
||||
DateTime.TryParseExact(String.Format("{0} {1}", dataArray(2), dataArray(3)), "ddMMyyyy HHmm", New Globalization.CultureInfo("es-MX"), Globalization.DateTimeStyles.None, FechaPeticion)
|
||||
FechaPeticion = FechaPeticion.AddMinutes(Token)
|
||||
Dim CveEmpresa As Integer = dataArray(4).ToEntero()
|
||||
|
||||
Dim diferencia As Double = (FechaPeticion - DateTime.Now).TotalMinutes
|
||||
|
||||
diferencia = Math.Abs(diferencia)
|
||||
If diferencia < 5 Then 'si la fecha que me envía es de cuando menos hace cinco minuto, se permite accesar, para que no se copie ese parámetro y se esté recuperando información "medida de seguridad"
|
||||
noautorizado = False
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
noautorizado = False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
noautorizado = True
|
||||
End Try
|
||||
End If
|
||||
|
||||
|
||||
Dim isValid = (userName = Me.Usuario AndAlso password = Me.Contra)
|
||||
|
||||
If isValid Then
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
|
||||
If noautorizado Then
|
||||
HandleUnathorized(actionContext)
|
||||
End If
|
||||
|
||||
HandleUnathorized(actionContext)
|
||||
End Sub
|
||||
|
||||
Private Shared Sub HandleUnathorized(ByVal actionContext As HttpActionContext)
|
||||
|
||||
32
App_WebReferences/WSRDLC/Reference.svcmap
Normal file
32
App_WebReferences/WSRDLC/Reference.svcmap
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="3482481b-8443-4407-93cb-d3e86f1a86f2" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
|
||||
<ClientOptions>
|
||||
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
|
||||
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
|
||||
<EnableDataBinding>true</EnableDataBinding>
|
||||
<ExcludedTypes />
|
||||
<ImportXmlTypes>false</ImportXmlTypes>
|
||||
<GenerateInternalTypes>false</GenerateInternalTypes>
|
||||
<GenerateMessageContracts>false</GenerateMessageContracts>
|
||||
<NamespaceMappings />
|
||||
<CollectionMappings />
|
||||
<GenerateSerializableTypes>true</GenerateSerializableTypes>
|
||||
<Serializer>Auto</Serializer>
|
||||
<UseSerializerForFaults>true</UseSerializerForFaults>
|
||||
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
|
||||
<ReferencedAssemblies />
|
||||
<ReferencedDataContractTypes />
|
||||
<ServiceContractMappings />
|
||||
</ClientOptions>
|
||||
<MetadataSources>
|
||||
<MetadataSource Address="http://localhost:7999/WebService.asmx" Protocol="http" SourceId="1" />
|
||||
</MetadataSources>
|
||||
<Metadata>
|
||||
<MetadataFile FileName="WebService.disco" MetadataType="Disco" ID="88f9f2ea-e38b-4dfa-968b-c305ff10e146" SourceId="1" SourceUrl="http://localhost:7999/WebService.asmx?disco" />
|
||||
<MetadataFile FileName="WebService.wsdl" MetadataType="Wsdl" ID="21ef4883-f54f-47da-857a-18c67053b062" SourceId="1" SourceUrl="http://localhost:7999/WebService.asmx?wsdl" />
|
||||
</Metadata>
|
||||
<Extensions>
|
||||
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||
</Extensions>
|
||||
</ReferenceGroup>
|
||||
6
App_WebReferences/WSRDLC/WebService.disco
Normal file
6
App_WebReferences/WSRDLC/WebService.disco
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://localhost:7999/WebService.asmx?wsdl" docRef="http://localhost:7999/WebService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://localhost:7999/WebService.asmx" xmlns:q1="http://tempuri.org/" binding="q1:WebServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://localhost:7999/WebService.asmx" xmlns:q2="http://tempuri.org/" binding="q2:WebServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
||||
188
App_WebReferences/WSRDLC/WebService.wsdl
Normal file
188
App_WebReferences/WSRDLC/WebService.wsdl
Normal file
@@ -0,0 +1,188 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
|
||||
<s:element name="HelloWorld">
|
||||
<s:complexType />
|
||||
</s:element>
|
||||
<s:element name="HelloWorldResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="StreamPDF">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="RutaReporte" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="source">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Parametros" type="tns:ArrayOfReportParameter" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="NombreArchivo" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Formato" type="s:string" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="CveEmpresa" type="s:int" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="CveUsuario" type="s:int" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:complexType name="ArrayOfReportParameter">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="unbounded" name="ReportParameter" nillable="true" type="tns:ReportParameter" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
<s:complexType name="ReportParameter">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfString" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="Visible" type="s:boolean" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
<s:complexType name="ArrayOfString">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
<s:element name="StreamPDFResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="StreamPDFResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="StreamPDFBytes">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="RutaReporte" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="source">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element ref="s:schema" />
|
||||
<s:any />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Parametros" type="tns:ArrayOfReportParameter" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="NombreArchivo" type="s:string" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="Formato" type="s:string" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="CveEmpresa" type="s:int" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="CveUsuario" type="s:int" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="StreamPDFBytesResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="StreamPDFBytesResult" type="s:base64Binary" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="HelloWorldSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorld" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="HelloWorldSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorldResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="StreamPDFSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:StreamPDF" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="StreamPDFSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:StreamPDFResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="StreamPDFBytesSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:StreamPDFBytes" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="StreamPDFBytesSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:StreamPDFBytesResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="WebServiceSoap">
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<wsdl:input message="tns:HelloWorldSoapIn" />
|
||||
<wsdl:output message="tns:HelloWorldSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="StreamPDF">
|
||||
<wsdl:input message="tns:StreamPDFSoapIn" />
|
||||
<wsdl:output message="tns:StreamPDFSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="StreamPDFBytes">
|
||||
<wsdl:input message="tns:StreamPDFBytesSoapIn" />
|
||||
<wsdl:output message="tns:StreamPDFBytesSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="WebServiceSoap" type="tns:WebServiceSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="StreamPDF">
|
||||
<soap:operation soapAction="http://tempuri.org/StreamPDF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="StreamPDFBytes">
|
||||
<soap:operation soapAction="http://tempuri.org/StreamPDFBytes" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="WebServiceSoap12" type="tns:WebServiceSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap12:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="StreamPDF">
|
||||
<soap12:operation soapAction="http://tempuri.org/StreamPDF" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="StreamPDFBytes">
|
||||
<soap12:operation soapAction="http://tempuri.org/StreamPDFBytes" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="WebService">
|
||||
<wsdl:port name="WebServiceSoap" binding="tns:WebServiceSoap">
|
||||
<soap:address location="http://localhost:7999/WebService.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="WebServiceSoap12" binding="tns:WebServiceSoap12">
|
||||
<soap12:address location="http://localhost:7999/WebService.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
||||
10
App_WebReferences/WSRDLC/configuration.svcinfo
Normal file
10
App_WebReferences/WSRDLC/configuration.svcinfo
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
|
||||
<behaviors />
|
||||
<bindings>
|
||||
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="WebServiceSoap" />" bindingType="basicHttpBinding" name="WebServiceSoap" />
|
||||
</bindings>
|
||||
<endpoints>
|
||||
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:7999/WebService.asmx" binding="basicHttpBinding" bindingConfiguration="WebServiceSoap" contract="WSRDLC.WebServiceSoap" name="WebServiceSoap" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://localhost:7999/WebService.asmx" binding="basicHttpBinding" bindingConfiguration="WebServiceSoap" contract="WSRDLC.WebServiceSoap" name="WebServiceSoap" />" contractName="WSRDLC.WebServiceSoap" name="WebServiceSoap" />
|
||||
</endpoints>
|
||||
</configurationSnapshot>
|
||||
201
App_WebReferences/WSRDLC/configuration91.svcinfo
Normal file
201
App_WebReferences/WSRDLC/configuration91.svcinfo
Normal file
@@ -0,0 +1,201 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="J3l8dfyTP2yXDg07woasSqmbZaw=">
|
||||
<bindingConfigurations>
|
||||
<bindingConfiguration bindingType="basicHttpBinding" name="WebServiceSoap">
|
||||
<properties>
|
||||
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>WebServiceSoap</serializedValue>
|
||||
</property>
|
||||
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>StrongWildcard</serializedValue>
|
||||
</property>
|
||||
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>65536</serializedValue>
|
||||
</property>
|
||||
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>0</serializedValue>
|
||||
</property>
|
||||
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.Text.UTF8Encoding</serializedValue>
|
||||
</property>
|
||||
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Buffered</serializedValue>
|
||||
</property>
|
||||
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Text</serializedValue>
|
||||
</property>
|
||||
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>None</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>None</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>None</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Never</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>TransportSelected</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>(Collection)</serializedValue>
|
||||
</property>
|
||||
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>UserName</serializedValue>
|
||||
</property>
|
||||
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>Default</serializedValue>
|
||||
</property>
|
||||
</properties>
|
||||
</bindingConfiguration>
|
||||
</bindingConfigurations>
|
||||
<endpoints>
|
||||
<endpoint name="WebServiceSoap" contract="WSRDLC.WebServiceSoap" bindingType="basicHttpBinding" address="http://localhost:7999/WebService.asmx" bindingConfiguration="WebServiceSoap">
|
||||
<properties>
|
||||
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>http://localhost:7999/WebService.asmx</serializedValue>
|
||||
</property>
|
||||
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>basicHttpBinding</serializedValue>
|
||||
</property>
|
||||
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>WebServiceSoap</serializedValue>
|
||||
</property>
|
||||
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>WSRDLC.WebServiceSoap</serializedValue>
|
||||
</property>
|
||||
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
|
||||
</property>
|
||||
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue><Header /></serializedValue>
|
||||
</property>
|
||||
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>My</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>LocalMachine</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
|
||||
</property>
|
||||
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>False</serializedValue>
|
||||
</property>
|
||||
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue>WebServiceSoap</serializedValue>
|
||||
</property>
|
||||
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<serializedValue />
|
||||
</property>
|
||||
</properties>
|
||||
</endpoint>
|
||||
</endpoints>
|
||||
</SavedWcfConfigurationInformation>
|
||||
@@ -94,7 +94,9 @@
|
||||
<tr>
|
||||
<td>Altas:</td>
|
||||
<td>
|
||||
<asp:Label runat="server" ID="LbNumeroAltas" Width="80px"></asp:Label></td>
|
||||
<%--<asp:Label runat="server" ID="LbNumeroAltas" Width="80px"></asp:Label></td>--%>
|
||||
|
||||
<asp:LinkButton CssClass="Texto" style="font-weight:bold" runat="server" ID="LnkNumeroAltas" Width="80px" OnClick="LnkCabecera_Click" ></asp:LinkButton></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Interbancarias:</td>
|
||||
@@ -250,9 +252,7 @@
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink ID="HLImporte" Text='<%# Eval("Abonado", "{0:N2}") %>' Target="_blank" CssClass="Texto" runat="server" />
|
||||
</ItemTemplate>
|
||||
<HeaderTemplate>
|
||||
<asp:LinkButton ID="LnkCabeceraPendientes" runat="server" OnClick="LnkCabecera_Click" Text="" CssClass="Texto" ></asp:LinkButton>
|
||||
</HeaderTemplate>
|
||||
|
||||
</asp:TemplateField>
|
||||
<%--<asp:BoundField DataField="Abonado" HeaderText="Importe" DataFormatString="{0:N2}" />--%>
|
||||
</Columns>
|
||||
|
||||
@@ -290,7 +290,7 @@ Partial Class Bancos_PagoElectronicoGrupos
|
||||
End If
|
||||
Next
|
||||
|
||||
LbNumeroAltas.Text = Altas.ToString
|
||||
LnkNumeroAltas.Text = Altas.ToString
|
||||
LbNumeroInterbancarias.Text = Interbancarias.ToString
|
||||
LbNumeroBancomer.Text = Bancomer.ToString
|
||||
|
||||
@@ -404,11 +404,6 @@ Partial Class Bancos_PagoElectronicoGrupos
|
||||
|
||||
Protected Sub GvPendientes_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
|
||||
If e.Row.RowType = DataControlRowType.Header Then
|
||||
|
||||
e.Row.FCLinkButton("LnkCabeceraPendientes").Text = LbNumeroAltas.Text
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -407,6 +407,7 @@ Partial Class Bancos_ProductosFinancieros
|
||||
IdPoliza = ObjContaAC.AddPoliza(3, TxtConcepto.Text.Trim, Importe, Importe, UsuarioActual.CveUsuario, TxtFecha.Text.ToDate)
|
||||
FolioPoliza = ObjContaAC.Folio
|
||||
If IdPoliza > 0 Then
|
||||
FolioPoliza = ObjContaAC.Folio
|
||||
Dim DtPresupuestosTemp As DataTable
|
||||
Dim IdCuentaComprometido, IdCuentaPorEjercer, IdCuentaDevengado, IdCuentaMatriz, IdCuentaEjercido, IdCuentaPagado As Integer
|
||||
|
||||
@@ -494,6 +495,7 @@ Partial Class Bancos_ProductosFinancieros
|
||||
IdPoliza = ObjContaAC.AddPoliza(1, TxtConcepto.Text.Trim, Importe, Importe, UsuarioActual.CveUsuario, Fecha)
|
||||
FolioPoliza = ObjContaAC.Folio
|
||||
If IdPoliza > 0 Then
|
||||
FolioPoliza = ObjContaAC.Folio
|
||||
Dim DtPresupuestosTemp As DataTable
|
||||
Dim IdCuentaPorEjecutar, IdCuentaDevengado, IdCuentaRecaudado, IdCuentaMatriz As Integer
|
||||
|
||||
|
||||
@@ -104,16 +104,19 @@ Partial Class Bancos_RepComplementoPago
|
||||
Mensaje = "El Pago contiene facturas que no tienen folio fiscal"
|
||||
End If
|
||||
End If
|
||||
If e.Row.DBCampo("BloqueadoUtilerias") = "1" Then
|
||||
Mensaje = "Bloqueado Timbrando por aplicacion"
|
||||
End If
|
||||
e.Row.FCLiteral("LtlMon").Text = e.Row.DBCampo("PagoAbreviaturaSAT")
|
||||
|
||||
If Not Mensaje.Length = 0 Then
|
||||
e.Row.ForeColor = Drawing.Color.Red
|
||||
e.Row.FCCheckBox("Chk").Enabled = False
|
||||
e.Row.FCCheckBox("Chk").ToolTip = Mensaje
|
||||
End If
|
||||
If Not Mensaje.Length = 0 Then
|
||||
e.Row.ForeColor = Drawing.Color.Red
|
||||
e.Row.FCCheckBox("Chk").Enabled = False
|
||||
e.Row.FCCheckBox("Chk").ToolTip = Mensaje
|
||||
End If
|
||||
|
||||
Else
|
||||
e.Row.FCHyperLink("HplXML").Visible = True : e.Row.FCHyperLink("HplXML").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=xml&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString)))
|
||||
Else
|
||||
e.Row.FCHyperLink("HplXML").Visible = True : e.Row.FCHyperLink("HplXML").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=xml&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString)))
|
||||
e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=pdf&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString)))
|
||||
e.Row.FCLinkButton("LnkSendMail").Visible = True
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
15190
Bin/Newtonsoft.Json.xml
15190
Bin/Newtonsoft.Json.xml
File diff suppressed because it is too large
Load Diff
@@ -366,6 +366,7 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
}
|
||||
|
||||
CargaImagenes();
|
||||
CargaDdl();
|
||||
|
||||
UpEncabezado.Update();
|
||||
UPAcercamiento.Update();
|
||||
@@ -398,8 +399,6 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
|
||||
RecuperaCve();
|
||||
TxtFechaApertura.Text = DateTime.Now.ToShortDateString();
|
||||
|
||||
CargaDdl();
|
||||
}
|
||||
|
||||
protected void RecuperaCve()
|
||||
@@ -420,7 +419,7 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
|
||||
if (ObjCRM.GetProbabilidadAcercamiento(UsuarioActual.CveEmpresa, 1))
|
||||
{
|
||||
DdlProbabilidadAcercamiento.DataSource = ObjCRM.DtResultados;
|
||||
DdlProbabilidadAcercamiento.DataSource = ObjCRM.DtResultados.FiltraParametros(String.Format("CveTipoProceso = {0}", CveTipoProceso));
|
||||
}
|
||||
if (ObjCRM.GetEmpresasCRM(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
@@ -434,7 +433,7 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
//}
|
||||
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa, 1))
|
||||
{
|
||||
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
|
||||
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados.FiltraParametros(String.Format("CveTipoProceso = {0}",CveTipoProceso));
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="CveMedioCaptacion,MedioCaptacion, Descripcion, Estatus, CveEstatus, UsuarioIng, CveUsuarioIng, FechaIng" EmptyDataText="No se han registrado Medios de Captación"
|
||||
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="CveMedioCaptacion,MedioCaptacion, Descripcion, Estatus, CveEstatus, UsuarioIng, CveUsuarioIng, FechaIng,CveTipoProceso, TipoProceso" EmptyDataText="No se han registrado Medios de Captación"
|
||||
EmptyDataRowStyle-HorizontalAlign="Center" CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" data-sort="true"
|
||||
GridLines="None" AutoGenerateColumns="false" OnRowDeleting="GVDatos_RowDeleting" OnRowDataBound="GVDatos_RowDataBound">
|
||||
<Columns>
|
||||
@@ -52,6 +52,11 @@
|
||||
<asp:Label ID="lblUsuarioIng" runat="server" Text='<%# Eval("UsuarioIng")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Tipo Proceso" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblTipoProceso" runat="server" Text='<%# Eval("TipoProceso")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" HeaderText="Comandos">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkEditar" runat="server" OnClick="LnkEditar_Click" data-toggle="tooltip" CssClass="btn btn-circle btn-sm green" title="Editar" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>
|
||||
@@ -87,6 +92,10 @@
|
||||
<label runat="server" id="lblEstatus" for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
|
||||
<asp:CheckBox ID="ChkEstatus" runat="server" />
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" id="DivTipoProceso" runat="server">
|
||||
<label runat="server" id="LblTipoProceso" for="<%= DdlTipoProceso.ClientID.ToString()%>">Tipo Proceso:</label><br />
|
||||
<asp:DropDownList runat="server" ID="DdlTipoProceso" CssClass="form-control input-sm select2me" Width="50%" DataValueField="CveTipoProceso" DataTextField="TipoProceso"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnGuardar" OnClick="BtnGuardar_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="VGGuardar" />
|
||||
|
||||
@@ -54,6 +54,7 @@ public partial class CRM_CatMediosCaptacion : ClsPaginas
|
||||
if (!IsPostBack)
|
||||
{
|
||||
CargaDatos();
|
||||
CargarModalDatos();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +72,19 @@ public partial class CRM_CatMediosCaptacion : ClsPaginas
|
||||
GVDatos.DataBind();
|
||||
UPDatos.Update();
|
||||
}
|
||||
|
||||
private void CargarModalDatos()
|
||||
{
|
||||
ClsCRM ObjCRM = new ClsCRM();
|
||||
if (ObjCRM.GetTipoProceso(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
DdlTipoProceso.DataSource = ObjCRM.DtResultados;
|
||||
}
|
||||
ObjCRM.Dispose();
|
||||
DdlTipoProceso.DataBind();
|
||||
DdlTipoProceso.Items.Insert(0,new ListItem("Seleccione","-1"));
|
||||
}
|
||||
|
||||
protected void limpiarCamposModal()
|
||||
{
|
||||
if (EsEditar == 1)
|
||||
@@ -88,6 +102,7 @@ public partial class CRM_CatMediosCaptacion : ClsPaginas
|
||||
TxtMedioCaptacion.Text = "";
|
||||
TxtDescripcion.Text = "";
|
||||
ChkEstatus.Checked = true;
|
||||
DdlTipoProceso.SelectedValue = "-1";
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -142,7 +157,7 @@ public partial class CRM_CatMediosCaptacion : ClsPaginas
|
||||
TxtMedioCaptacion.Text = GvRow.DataKey("MedioCaptacion").ToString();
|
||||
TxtDescripcion.Text = GvRow.DataKey("Descripcion").ToString();
|
||||
ChkEstatus.Checked = GvRow.DataKey("CveEstatus").ToString() == "True" ? true : false;
|
||||
|
||||
DdlTipoProceso.SelectedValue = GvRow.DataKey("CveTipoProceso").ToString();
|
||||
UPModal.Update();
|
||||
|
||||
this.RegistraScript("$('#DivModal').modal();");
|
||||
@@ -160,14 +175,14 @@ public partial class CRM_CatMediosCaptacion : ClsPaginas
|
||||
|
||||
if (EsEditar == 0)
|
||||
{
|
||||
if (ObjCRM.AddMedioCaptacion(MedioCaptacion, Descripcion, UsuarioActual.CveEmpresa, CveUsuarioIng))
|
||||
if (ObjCRM.AddMedioCaptacion(MedioCaptacion, Descripcion, UsuarioActual.CveEmpresa, CveUsuarioIng,DdlTipoProceso.SelectedValue.ToEntero()))
|
||||
{
|
||||
Alert("El Medio de Captación fue creado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjCRM.UpdateMedioCaptacion(MedioCaptacion, Descripcion, Estatus, CveMedioCaptacion))
|
||||
if (ObjCRM.UpdateMedioCaptacion(MedioCaptacion, Descripcion, Estatus, CveMedioCaptacion,DdlTipoProceso.SelectedValue.ToEntero()))
|
||||
{
|
||||
Alert("El Medio de Captación fue actualizado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="CveProbabilidadAcercamiento, ProbabilidadAcercamiento, Estatus, CveEstatus, CveEmpresa, UsuarioIng, CveUsuarioIng, FechaIng"
|
||||
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="CveProbabilidadAcercamiento, ProbabilidadAcercamiento, Estatus, CveEstatus, CveEmpresa, UsuarioIng, CveUsuarioIng, FechaIng,CveTipoProceso,TipoProceso"
|
||||
EmptyDataText="No se han registrado conceptos de Probabilidades de Acercamiento" EmptyDataRowStyle-HorizontalAlign="Center"
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" data-sort="true" GridLines="None"
|
||||
AutoGenerateColumns="false" OnRowDeleting="GVDatos_RowDeleting" OnRowDataBound="GVDatos_RowDataBound">
|
||||
@@ -53,6 +53,11 @@
|
||||
<asp:Label ID="lblUsuarioIng" runat="server" Text='<%# Eval("UsuarioIng")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Tipo Proceso que Ingresó" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblTipoProceso" runat="server" Text='<%# Eval("TipoProceso")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" HeaderText="Comandos">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkEditar" runat="server" OnClick="LnkEditar_Click" data-toggle="tooltip" CssClass="btn btn-circle btn-sm green" title="Editar" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>
|
||||
@@ -88,6 +93,10 @@
|
||||
<label runat="server" id="lblEstatus" for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
|
||||
<asp:CheckBox ID="ChkEstatus" runat="server" />
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" id="DivTipoProceso" runat="server">
|
||||
<label runat="server" id="LblTipoProceso" for="<%= DdlTipoProceso.ClientID.ToString()%>">Tipo Proceso:</label><br />
|
||||
<asp:DropDownList runat="server" ID="DdlTipoProceso" CssClass="form-control input-sm select2me" Width="50%" DataValueField="CveTipoProceso" DataTextField="TipoProceso"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnGuardar" OnClick="BtnGuardar_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="VGGuardar" />
|
||||
|
||||
@@ -55,6 +55,7 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
|
||||
if (!IsPostBack)
|
||||
{
|
||||
CargaDatos();
|
||||
CargarModalDatos();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +73,19 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
|
||||
GVDatos.DataBind();
|
||||
UPDatos.Update();
|
||||
}
|
||||
|
||||
private void CargarModalDatos()
|
||||
{
|
||||
ClsCRM ObjCRM = new ClsCRM();
|
||||
if (ObjCRM.GetTipoProceso(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
DdlTipoProceso.DataSource = ObjCRM.DtResultados;
|
||||
}
|
||||
ObjCRM.Dispose();
|
||||
DdlTipoProceso.DataBind();
|
||||
DdlTipoProceso.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
}
|
||||
|
||||
protected void limpiarCamposModal()
|
||||
{
|
||||
if (EsEditar == 1)
|
||||
@@ -86,6 +100,7 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
|
||||
BtnGuardar.Text = "Guardar";
|
||||
DivEstatus.Visible = false;
|
||||
}
|
||||
DdlTipoProceso.SelectedValue = "-1";
|
||||
TxtProbabilidadAcercamiento.Text = "";
|
||||
//TxtDescripcion.Text = "";
|
||||
ChkEstatus.Checked = true;
|
||||
@@ -113,7 +128,7 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
|
||||
TxtProbabilidadAcercamiento.Text = GvRow.DataKey("ProbabilidadAcercamiento").ToString();
|
||||
//TxtDescripcion.Text = GvRow.DataKey("Descripcion").ToString();
|
||||
ChkEstatus.Checked = GvRow.DataKey("CveEstatus").ToString() == "True" ? true : false;
|
||||
|
||||
DdlTipoProceso.SelectedValue = GvRow.DataKey("CveTipoProceso").ToString();
|
||||
UPModal.Update();
|
||||
|
||||
this.RegistraScript("$('#DivModal').modal();");
|
||||
@@ -131,14 +146,14 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
|
||||
|
||||
if (EsEditar == 0)
|
||||
{
|
||||
if (ObjCRM.AddProbabilidadAcercamiento(ProbabilidadAcercamiento, UsuarioActual.CveEmpresa, CveUsuarioIng))
|
||||
if (ObjCRM.AddProbabilidadAcercamiento(ProbabilidadAcercamiento, UsuarioActual.CveEmpresa, CveUsuarioIng,DdlTipoProceso.SelectedValue.ToEntero()))
|
||||
{
|
||||
Alert("La Probabilidad de Acercamiento fue creada correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjCRM.UpdateProbabilidadAcercamiento(ProbabilidadAcercamiento, Estatus, CveProbabilidadAcercamiento))
|
||||
if (ObjCRM.UpdateProbabilidadAcercamiento(ProbabilidadAcercamiento, Estatus, CveProbabilidadAcercamiento,DdlTipoProceso.SelectedValue.ToEntero()))
|
||||
{
|
||||
Alert("La Probabilidad de Acercamiento fue actualizada correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
|
||||
}
|
||||
|
||||
@@ -589,7 +589,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-md-6 form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlTipoProceso" DataTextField="TipoProceso" DataValueField="CveTipoProceso" runat="server" Width="100%" AppendDataBoundItems="true" Class="form-control input-sm select2me"></asp:DropDownList>
|
||||
<asp:DropDownList ID="DdlTipoProceso" DataTextField="TipoProceso" DataValueField="CveTipoProceso" runat="server" Width="100%" AppendDataBoundItems="true" Class="form-control input-sm select2me" OnSelectedIndexChanged="DdlTipoProceso_Change" AutoPostBack="true"></asp:DropDownList>
|
||||
<label for="<%= DdlTipoProceso.ClientID.ToString()%>"><span style="color: #F3565D">*</span> Proceso:</label>
|
||||
<asp:RequiredFieldValidator ID="RFVTipoProceso" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlTipoProceso" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Proceso''</b> es necesario." InitialValue="-1" ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
|
||||
@@ -191,6 +191,32 @@ public partial class CRM_EmpresaCRM : ClsPaginas
|
||||
ViewState["CreoCliente"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable DtMedioCaptacion
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtMedioCaptacion"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtMedioCaptacion"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable DtProbabilidadAcercamiento
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtProbabilidadAcercamiento"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtProbabilidadAcercamiento"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
@@ -518,8 +544,9 @@ public partial class CRM_EmpresaCRM : ClsPaginas
|
||||
{
|
||||
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
|
||||
DdlMedioCaptacionAcercamiento.Items.Clear();
|
||||
DdlMedioCaptacionAcercamiento.DataSource = ObjCRM.DtResultados;
|
||||
DtMedioCaptacion = ObjCRM.DtResultados;
|
||||
DdlMedioCaptacionAcercamiento.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
}
|
||||
ObjCRM.Dispose();
|
||||
@@ -629,6 +656,21 @@ public partial class CRM_EmpresaCRM : ClsPaginas
|
||||
CargaEventoBitacora();
|
||||
}
|
||||
}
|
||||
|
||||
protected void DdlTipoProceso_Change(object sender, EventArgs e)
|
||||
{
|
||||
DdlMedioCaptacionAcercamiento.Items.Clear();
|
||||
DdlMedioCaptacionAcercamiento.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}",DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlMedioCaptacionAcercamiento.DataBind();
|
||||
DdlMedioCaptacionAcercamiento.Items.Insert(0,new ListItem("Seleccione","-1"));
|
||||
|
||||
DdlProbabilidadAcercamiento.Items.Clear();
|
||||
DdlProbabilidadAcercamiento.DataSource = DtProbabilidadAcercamiento.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlProbabilidadAcercamiento.DataBind();
|
||||
DdlProbabilidadAcercamiento.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
UpAltaAcercamiento.Update();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region "ELIMINAR EMPRESA"
|
||||
@@ -1236,7 +1278,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
|
||||
{
|
||||
DdlTipoProceso.DataSource = ObjCRM.DtResultados;
|
||||
|
||||
if (ObjCRM.DtResultados.Rows.Count > 1)
|
||||
if (ObjCRM.DtResultados.Rows.Count > 0)
|
||||
DdlTipoProceso.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
|
||||
DdlTipoProceso.DataBind();
|
||||
@@ -1247,6 +1289,8 @@ public partial class CRM_EmpresaCRM : ClsPaginas
|
||||
DdlProbabilidadAcercamiento.DataSource = ObjCRM.DtResultados;
|
||||
DdlProbabilidadAcercamiento.DataBind();
|
||||
DdlProbabilidadAcercamiento.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
|
||||
DtProbabilidadAcercamiento = ObjCRM.DtResultados;
|
||||
}
|
||||
|
||||
DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa);
|
||||
@@ -1293,6 +1337,10 @@ public partial class CRM_EmpresaCRM : ClsPaginas
|
||||
}
|
||||
else
|
||||
{
|
||||
ClsCRM ObjCRM = new ClsCRM();
|
||||
CargaMetodosCaptacion();
|
||||
InicializaAcercamientos(ObjCRM);
|
||||
ObjCRM.Dispose();
|
||||
limpiarCamposModalAcercamiento();
|
||||
this.RegistraScript("$('#DivModalAltaAcercamiento').modal();");
|
||||
UpAltaAcercamiento.Update();
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</td>
|
||||
<td class="text-right" style="width: 140px;"><b>Tipo de Proceso:</b></td>
|
||||
<td>
|
||||
<asp:DropDownList ID="DdlTipoProceso" runat="server" AppendDataBoundItems="true" DataTextField="TipoProceso" DataValueField="CveTipoProceso" Class="table-group-action-input form-control input-inline input-sm select2me" Width="200px"></asp:DropDownList>
|
||||
<asp:DropDownList ID="DdlTipoProceso" runat="server" AppendDataBoundItems="true" DataTextField="TipoProceso" DataValueField="CveTipoProceso" Class="table-group-action-input form-control input-inline input-sm select2me" Width="200px" OnSelectedIndexChanged="DdlTipoProceso_Change" AutoPostBack="true"></asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -10,6 +10,46 @@ using System.Data;
|
||||
|
||||
public partial class CRM_PopUpBuscarAcercamiento : ClsPaginas
|
||||
{
|
||||
|
||||
private DataTable DtMedioCaptacion
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtMedioCaptacion"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtMedioCaptacion"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable DtProbabilidadAcercamiento
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtProbabilidadAcercamiento"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtProbabilidadAcercamiento"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable DtRechazo
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtRechazo"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtRechazo"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
@@ -26,8 +66,10 @@ public partial class CRM_PopUpBuscarAcercamiento : ClsPaginas
|
||||
|
||||
if (ObjCRM.GetProbabilidadAcercamiento(UsuarioActual.CveEmpresa, 1))
|
||||
{
|
||||
DdlProbabilidad.Items.Clear();
|
||||
DdlProbabilidad.DataSource = ObjCRM.DtResultados;
|
||||
DdlProbabilidad.Items.Insert(0, new ListItem("Todas ", "-1"));
|
||||
DtProbabilidadAcercamiento = ObjCRM.DtResultados;
|
||||
}
|
||||
if (ObjCRM.GetEmpresasCRM(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
@@ -41,14 +83,18 @@ public partial class CRM_PopUpBuscarAcercamiento : ClsPaginas
|
||||
}
|
||||
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa, 1))
|
||||
{
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Todos ", "-1"));
|
||||
DtMedioCaptacion = ObjCRM.DtResultados;
|
||||
}
|
||||
|
||||
if (ObjCRM.GetRechazoMotivo(UsuarioActual.CveEmpresa, 1))
|
||||
{
|
||||
DdlRechazoMotivo.Items.Clear();
|
||||
DdlRechazoMotivo.DataSource = ObjCRM.DtResultados;
|
||||
DdlRechazoMotivo.Items.Insert(0, new ListItem("Todos ", "-1"));
|
||||
DtRechazo = ObjCRM.DtResultados;
|
||||
}
|
||||
|
||||
DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa);
|
||||
@@ -63,6 +109,26 @@ public partial class CRM_PopUpBuscarAcercamiento : ClsPaginas
|
||||
DdlMedioCaptacion.DataBind();
|
||||
DdlRechazoMotivo.DataBind();
|
||||
}
|
||||
|
||||
protected void DdlTipoProceso_Change(object sender, EventArgs e)
|
||||
{
|
||||
DdlMedioCaptacion.Items.Clear();
|
||||
DdlMedioCaptacion.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlMedioCaptacion.DataBind();
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
DdlProbabilidad.Items.Clear();
|
||||
DdlProbabilidad.DataSource = DtProbabilidadAcercamiento.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlProbabilidad.DataBind();
|
||||
DdlProbabilidad.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
DdlRechazoMotivo.Items.Clear();
|
||||
DdlRechazoMotivo.DataSource = DtRechazo.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlRechazoMotivo.DataBind();
|
||||
DdlRechazoMotivo.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
UpFiltros.Update();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region "CARGA DATOS"
|
||||
|
||||
@@ -42,18 +42,24 @@ public partial class CRM_RepAcercamientos : ClsPaginas
|
||||
{
|
||||
CveVendedor = DdlVendedor.SelectedValue.ToEntero();
|
||||
|
||||
string FechaInicio = TxtFechaInicio.Text == "" ? "-1" : TxtFechaInicio.Text;
|
||||
string FechaFin = TxtFechaFin.Text == "" ? "-1" : TxtFechaFin.Text;
|
||||
|
||||
ClsCRM ObjCRM = new ClsCRM();
|
||||
if (ObjCRM.GetAcercamiento(UsuarioActual.CveEmpresa, CveVendedor: CveVendedor, FechaInicio: FechaInicio, FechaFin: FechaFin))
|
||||
if (CveVendedor > 0)
|
||||
{
|
||||
GVDatos.DataSource = ObjCRM.DtResultados;
|
||||
GVDatos.DataBind();
|
||||
}
|
||||
string FechaInicio = TxtFechaInicio.Text == "" ? "-1" : TxtFechaInicio.Text;
|
||||
string FechaFin = TxtFechaFin.Text == "" ? "-1" : TxtFechaFin.Text;
|
||||
|
||||
ObjCRM.Dispose();
|
||||
UPDatos.Update();
|
||||
ClsCRM ObjCRM = new ClsCRM();
|
||||
if (ObjCRM.GetAcercamiento(UsuarioActual.CveEmpresa, CveVendedor: CveVendedor, FechaInicio: FechaInicio, FechaFin: FechaFin))
|
||||
{
|
||||
GVDatos.DataSource = ObjCRM.DtResultados;
|
||||
GVDatos.DataBind();
|
||||
}
|
||||
|
||||
ObjCRM.Dispose();
|
||||
UPDatos.Update();
|
||||
}else
|
||||
{
|
||||
Alert("El Campo Vendedor es requerido",ModExtensiones.TipoMensaje.MsgError);
|
||||
}
|
||||
}
|
||||
|
||||
protected void GVDatos_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Reporte de Procesos Acercamientos
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
|
||||
@@ -49,7 +50,7 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlTipoProceso" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
|
||||
<asp:DropDownList ID="DdlTipoProceso" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CssClass="form-control input-sm select2me Widthall" OnSelectedIndexChanged="DdlTipoProceso_Change" AutoPostBack="true"></asp:DropDownList>
|
||||
<asp:Label runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,6 +27,32 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
|
||||
get { return DtDatos = (DataTable)ViewState["DtDatos"]; }
|
||||
set { ViewState["DtDatos"] = value; }
|
||||
}
|
||||
|
||||
private DataTable DtMedioCaptacion
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtMedioCaptacion"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtMedioCaptacion"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable DtProbabilidadAcercamiento
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtProbabilidadAcercamiento"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtProbabilidadAcercamiento"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
@@ -58,11 +84,14 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
|
||||
DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa);
|
||||
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
DdlMedioCaptacion.Items.Clear();
|
||||
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
|
||||
DtMedioCaptacion = ObjCRM.DtResultados;
|
||||
}
|
||||
if (ObjCRM.GetProbabilidadAcercamiento(UsuarioActual.CveEmpresa, -1))
|
||||
{
|
||||
DdlProbabilidad.DataSource = ObjCRM.DtResultados;
|
||||
DtProbabilidadAcercamiento = ObjCRM.DtResultados;
|
||||
}
|
||||
ObjCRM.Dispose();
|
||||
|
||||
@@ -73,6 +102,7 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
|
||||
DdlVendedor.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
DdlProbabilidad.Items.Insert(0, new ListItem("Seleccione ", "-1"));
|
||||
DdlTipoProceso.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
DdlVendedor.SelectedValue = "-1";
|
||||
DdlMedioCaptacion.SelectedValue = "-1";
|
||||
DdlProbabilidad.SelectedValue = "-1";
|
||||
@@ -289,4 +319,19 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
|
||||
}
|
||||
UPModalProd.Update();
|
||||
}
|
||||
|
||||
protected void DdlTipoProceso_Change(object sender, EventArgs e)
|
||||
{
|
||||
DdlMedioCaptacion.Items.Clear();
|
||||
DdlMedioCaptacion.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlMedioCaptacion.DataBind();
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
DdlProbabilidad.Items.Clear();
|
||||
DdlProbabilidad.DataSource = DtProbabilidadAcercamiento.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlProbabilidad.DataBind();
|
||||
DdlProbabilidad.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
upDatosRepA.Update();
|
||||
}
|
||||
}
|
||||
@@ -28,6 +28,7 @@
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Reporte de Rechazos Acercamientos
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
|
||||
|
||||
@@ -27,6 +27,32 @@ public partial class CRM_RepAcercamientosRechazos : ClsPaginas
|
||||
get { return DtDatos = (DataTable)ViewState["DtDatos"]; }
|
||||
set { ViewState["DtDatos"] = value; }
|
||||
}
|
||||
|
||||
private DataTable DtMedioCaptacion
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtMedioCaptacion"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtMedioCaptacion"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DataTable DtProbabilidadAcercamiento
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["DtProbabilidadAcercamiento"];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["DtProbabilidadAcercamiento"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
@@ -59,10 +85,12 @@ public partial class CRM_RepAcercamientosRechazos : ClsPaginas
|
||||
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
|
||||
DtMedioCaptacion = ObjCRM.DtResultados;
|
||||
}
|
||||
if (ObjCRM.GetProbabilidadAcercamiento(UsuarioActual.CveEmpresa, -1))
|
||||
{
|
||||
DdlProbabilidad.DataSource = ObjCRM.DtResultados;
|
||||
DtProbabilidadAcercamiento = ObjCRM.DtResultados;
|
||||
}
|
||||
ObjCRM.Dispose();
|
||||
|
||||
@@ -289,4 +317,19 @@ public partial class CRM_RepAcercamientosRechazos : ClsPaginas
|
||||
}
|
||||
UPModalProd.Update();
|
||||
}
|
||||
|
||||
protected void DdlTipoProceso_Change(object sender, EventArgs e)
|
||||
{
|
||||
DdlMedioCaptacion.Items.Clear();
|
||||
DdlMedioCaptacion.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlMedioCaptacion.DataBind();
|
||||
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
DdlProbabilidad.Items.Clear();
|
||||
DdlProbabilidad.DataSource = DtProbabilidadAcercamiento.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
|
||||
DdlProbabilidad.DataBind();
|
||||
DdlProbabilidad.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||||
|
||||
upDatosRepA.Update();
|
||||
}
|
||||
}
|
||||
@@ -295,49 +295,58 @@ Partial Class Contabilidad2_CatCuentas
|
||||
Dim PorcentajeImpuesto As Decimal = TxtPorcentaje.Text.ToDecimal() / 100
|
||||
Dim CveBancoCuenta As Integer = ddlBancos.SelectedValue.ToEntero
|
||||
Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero()
|
||||
If ObjConta.UpdateCuenta(IDSelected.ToEntero, Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToString.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString,
|
||||
CveConceptoAdmin:=CveConceptoAdmin, CveProveedor:=CveProveedor, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto, CveBancoCuenta:=CveBancoCuenta, CveAlmacen:=CveAlmacen) Then
|
||||
|
||||
Dim codigo As String = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}")
|
||||
If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then
|
||||
|
||||
If UsuarioActual.Empresa.TipoContabilidad <> 1 Then
|
||||
If ObjConta.UpdateCuenta(IDSelected.ToEntero, Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, DdlMoneda.SelectedValue.ToEntero,
|
||||
TxtDigAgrup.Text.ToString.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, CveConceptoAdmin:=CveConceptoAdmin,
|
||||
CveProveedor:=CveProveedor, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto,
|
||||
CveBancoCuenta:=CveBancoCuenta, CveAlmacen:=CveAlmacen) Then
|
||||
|
||||
Using ObjConta2 As New ClsContPAQi(UsuarioActual.Empresa)
|
||||
Dim codigo As String = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}")
|
||||
|
||||
If ObjConta2.GetCuentas(-1, "-1", -1) Then
|
||||
Dim Id As Integer = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigo}'").ToEntero
|
||||
Dim IdAgrupador As Integer
|
||||
If UsuarioActual.Empresa.TipoContabilidad <> 1 Then
|
||||
|
||||
If ObjConta2.GetAgrupadoresSAT() Then
|
||||
IdAgrupador = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"CodigoNombre='{DdlAgrupadorSAT.SelectedItem.Text}'").ToEntero
|
||||
End If
|
||||
If Id > 0 Then
|
||||
If ObjConta2.UpdateCuenta(Id, Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, DdlMoneda.SelectedValue.ToEntero, IdAgrupador, SubCuentaDe:=Tsubcuenta.Text.Trim) > 0 Then
|
||||
Using ObjConta2 As New ClsContPAQi(UsuarioActual.Empresa)
|
||||
|
||||
If ObjConta2.GetCuentas(-1, "-1", -1) Then
|
||||
Dim Id As Integer = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigo}'").ToEntero
|
||||
Dim IdAgrupador As Integer
|
||||
|
||||
If ObjConta2.GetAgrupadoresSAT() Then
|
||||
IdAgrupador = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"CodigoNombre='{DdlAgrupadorSAT.SelectedItem.Text}'").ToEntero
|
||||
End If
|
||||
If Id > 0 Then
|
||||
If ObjConta2.UpdateCuenta(Id, Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, DdlMoneda.SelectedValue.ToEntero, IdAgrupador, SubCuentaDe:=Tsubcuenta.Text.Trim) > 0 Then
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
End If
|
||||
|
||||
Dim customerRow As Data.DataRow
|
||||
customerRow = DtDatos.Select(String.Format("CveCuenta = {0}", IDSelected))(0)
|
||||
customerRow("Nombre") = Tnombre.Text
|
||||
DtDatos.AcceptChanges()
|
||||
|
||||
CargaDatos()
|
||||
ArbolCuentas.DataSource = DtDatos
|
||||
|
||||
Dim item As CheckBox = DirectCast(ArbolCuentas.FindControl(String.Format("chk{0}", IDSelected)), CheckBox)
|
||||
item.Text = String.Format("{0} - {1}", customerRow("CuentaFormato").ToString, Tnombre.Text)
|
||||
'updatos.Visible = False
|
||||
'Guardar.Visible = False
|
||||
LimpiarCampos()
|
||||
'RegistraScript("$get('BtnCambiaAgrupadorSAT').click();")
|
||||
updatos.Update()
|
||||
|
||||
Alert("La cuenta se guardo correctamente")
|
||||
End If
|
||||
|
||||
Dim customerRow As Data.DataRow
|
||||
customerRow = DtDatos.Select(String.Format("CveCuenta = {0}", IDSelected))(0)
|
||||
customerRow("Nombre") = Tnombre.Text
|
||||
DtDatos.AcceptChanges()
|
||||
|
||||
CargaDatos()
|
||||
ArbolCuentas.DataSource = DtDatos
|
||||
|
||||
Dim item As CheckBox = DirectCast(ArbolCuentas.FindControl(String.Format("chk{0}", IDSelected)), CheckBox)
|
||||
item.Text = String.Format("{0} - {1}", customerRow("CuentaFormato").ToString, Tnombre.Text)
|
||||
'updatos.Visible = False
|
||||
'Guardar.Visible = False
|
||||
LimpiarCampos()
|
||||
'RegistraScript("$get('BtnCambiaAgrupadorSAT').click();")
|
||||
updatos.Update()
|
||||
|
||||
Alert("La cuenta se guardo correctamente")
|
||||
Else
|
||||
Alert("Es necesario agregar el campo 'Agrupador SAT'", TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
|
||||
ObjConta.Dispose()
|
||||
|
||||
End Sub
|
||||
@@ -356,17 +365,14 @@ Partial Class Contabilidad2_CatCuentas
|
||||
Dim CuentaEfectivo As Integer = 0
|
||||
Dim Afectable As Integer = 1 'If(DcuentaMayor.SelectedValue <> 2, 0, 1) ' cuando sea tipo 2, va a ser afectable
|
||||
Tcuenta.Text.Replace("-", "")
|
||||
Dim idnew As Integer = 0
|
||||
|
||||
Dim idnew As Integer = ObjConta.AddCuenta(
|
||||
IDSelected,
|
||||
TxtCuenta.Text.Replace("-", ""),
|
||||
Tnombre.Text,
|
||||
DTcuenta.SelectedValue.ToString,
|
||||
DcuentaMayor.SelectedValue.ToString.ToEntero,
|
||||
DdlMoneda.SelectedValue.ToEntero,
|
||||
TxtDigAgrup.Text.ToEntero,
|
||||
DdlAgrupadorSAT.SelectedValue.ToEntero,
|
||||
TxtNomIngles.Text.ToString)
|
||||
If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then
|
||||
idnew = ObjConta.AddCuenta(IDSelected, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero,
|
||||
DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString)
|
||||
Else
|
||||
Alert("Es necesario agregar el campo 'Agrupador SAT'", TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
If idnew > 0 Then
|
||||
|
||||
|
||||
Binary file not shown.
@@ -106,10 +106,15 @@ public partial class General_CATIEPSxEntidadFed : ClsPaginas
|
||||
|
||||
protected void LnkExcel_Click(object sender, EventArgs e)
|
||||
{
|
||||
GVIEPSxEntidadFed.ExportToExcelx("IEPS porEntidad Federativa");
|
||||
Imprimir("Excel");
|
||||
}
|
||||
|
||||
protected void LnkPDF_Click(object sender, EventArgs e)
|
||||
{
|
||||
Imprimir("PDF");
|
||||
}
|
||||
|
||||
private void Imprimir(string formato)
|
||||
{
|
||||
string FechaInicio = $" <b>Fecha Inicio:</b> {TxtIEPSfechaInicio.Text}";
|
||||
string FechaFin = $" <b>Fecha Inicio:</b> {TxtIEPSfechaFin.Text}";
|
||||
@@ -127,6 +132,6 @@ public partial class General_CATIEPSxEntidadFed : ClsPaginas
|
||||
paramList.Add(new ReportParameter("Filtros", $"{FechaInicio}{FechaFin}{IEPS}{Estado}{Agrupador}"));
|
||||
|
||||
|
||||
ImprimirPDF("Empresas/Grales/Formatos/CatIepsEntidadFed.rdlc", DtIEPS, paramList,"IEPS por entidades federativa",RDSName:"DsInventarios");
|
||||
ImprimirPDF("Empresas/Grales/Formatos/CatIepsEntidadFed.rdlc", DtIEPS, paramList, "IEPS por entidades federativa",formato, RDSName: "DsInventarios");
|
||||
}
|
||||
}
|
||||
|
||||
82
OI/Circular.aspx
Normal file
82
OI/Circular.aspx
Normal file
@@ -0,0 +1,82 @@
|
||||
<%@ Page Title="OI Circular" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Circular.aspx.vb" Inherits="OI_Circular" %>
|
||||
|
||||
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||||
<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="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||||
Circular
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
<asp:UpdatePanel runat="server" ID="UpAgregar">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:HyperLink ID="LnkAgregar" runat="server" NavigateUrl="/OI/CircularDetalle.aspx?CveCircular=-1"> Agregar Circular</asp:HyperLink>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
<asp:UpdatePanel runat="server" ID="UpFiltros">
|
||||
<ContentTemplate>
|
||||
<div class="portlet solid grey-cascade portlet-filter">
|
||||
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 45px; position: relative;">
|
||||
<div class="tools">
|
||||
<asp:Button ID="btConsultar" CssClass="btn btn-primary" runat="server" ValidationGroup="GrpConsultar" Text="Consultar" /></td>
|
||||
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
|
||||
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
|
||||
</div>
|
||||
<div class="titlefiltros caption magindate">
|
||||
<div class="row" style="width:90%">
|
||||
<div class="col-md-1 truncate text-right">Fecha Inicial: </div>
|
||||
<div class="col-md-3 col-sm-2">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
|
||||
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="ImgFechaMes" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaMes" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
</div>
|
||||
<div class="col-md-1 truncate text-right">Fecha Final: </div>
|
||||
<div class="col-md-3 col-sm-2">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
|
||||
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="LinkButton1" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MaskedEditExtender2" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaMes" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
</div>
|
||||
<div class="col-md-1 truncate text-right">Usuario: </div>
|
||||
<div class="col-md-3 col-sm-2">
|
||||
<asp:DropDownList runat="server" ID="DdlUsuario" DataTextField="Nombre" DataValueField="CveUsuario" CssClass="select2me"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveCircular,Asunto,Usuario" EmptyDataText="No se encontraron Motivo de Baja Registrados"
|
||||
ToolTip="Listado de Metas Vendedor" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
|
||||
<Columns>
|
||||
<asp:HyperLinkField HeaderText="Asunto" DataTextField="Asunto" DataNavigateUrlFields="CveCircular" DataNavigateUrlFormatString="/OI/CircularDetalle.aspx?CveCircular={0}" />
|
||||
<asp:HyperLinkField HeaderText="Usuario" DataTextField="Usuario" DataNavigateUrlFields="CveCircular" DataNavigateUrlFormatString="/OI/CircularDetalle.aspx?CveCircular={0}" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
66
OI/Circular.aspx.vb
Normal file
66
OI/Circular.aspx.vb
Normal file
@@ -0,0 +1,66 @@
|
||||
Imports System.Data
|
||||
Imports System.Linq
|
||||
Imports Extensiones
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
|
||||
Partial Class OI_Circular
|
||||
Inherits ClsPaginas
|
||||
|
||||
Private Property DtDatos As DataTable
|
||||
Get
|
||||
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
|
||||
End Get
|
||||
|
||||
Set(ByVal value As DataTable)
|
||||
ViewState("DtDatos") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
IniciarFiltros()
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
Private Sub IniciarFiltros()
|
||||
Dim FechaI As DateTime = New DateTime(Today.Year, Today.Month, 1)
|
||||
Dim FechaF As DateTime = New DateTime(Today.Year, Today.Month, 1).AddMonths(1).AddDays(-1)
|
||||
TxtFechaI.Text = FechaI.ToString()
|
||||
TxtFechaF.Text = FechaF.ToString
|
||||
|
||||
DdlUsuario.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
|
||||
DdlUsuario.DataBind()
|
||||
DdlUsuario.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End Sub
|
||||
Private Sub CargaDatos()
|
||||
Dim ObjOI As New ClsOIEventos
|
||||
If ObjOI.GetCircular(UsuarioActual.CveEmpresa, -1, TxtFechaI.Text, TxtFechaF.Text, DdlUsuario.SelectedValue.ToEntero) Then
|
||||
GvDatos.DataSource = ObjOI.DtResultados
|
||||
DtDatos = ObjOI.DtResultados
|
||||
End If
|
||||
ObjOI.Dispose()
|
||||
GvDatos.DataBind()
|
||||
End Sub
|
||||
|
||||
Protected Sub btConsultar_Click() Handles btConsultar.Click
|
||||
CargaDatos()
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkPDF_Click() Handles LnkPDF.Click
|
||||
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
||||
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
||||
|
||||
Dim params As New List(Of ReportParameter)
|
||||
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
||||
If Imagen.Exists Then
|
||||
params.Add(New ReportParameter("LogoPath", logouri))
|
||||
Else
|
||||
params.Add(New ReportParameter("LogoPath", ""))
|
||||
End If
|
||||
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
|
||||
params.Add(New ReportParameter("FechaImpresion", Today))
|
||||
params.Add(New ReportParameter("Filtros", String.Format("Fecha Inicial: {0} Fecha Final: {1}", TxtFechaI.Text, TxtFechaF.Text)))
|
||||
|
||||
ImprimirPDF("Empresas/Grales/Formatos/Circulares.rdlc", DtDatos, params, "Circulares", "PDF", RDSName:="DataSet1")
|
||||
End Sub
|
||||
End Class
|
||||
162
OI/CircularDetalle.aspx
Normal file
162
OI/CircularDetalle.aspx
Normal file
@@ -0,0 +1,162 @@
|
||||
<%@ Page Title="OI Circular" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CircularDetalle.aspx.vb" Inherits="OI_CircularDetalle" %>
|
||||
|
||||
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||||
<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="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||||
Circular Detalle
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
<asp:UpdatePanel runat="server" ID="UpAgregar">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkMandarCorreo" runat="server" Text="<i class='fa fa-plus'></i> Agregar Documento"></asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
<asp:UpdatePanel ID="UpCliente" runat="server" UpdateMode="Conditional" class="portlet light xspadding bordered whitoutcol" style="width: 40%;">
|
||||
<ContentTemplate>
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
|
||||
<i class="icon-pin font-green"></i>
|
||||
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body form-horizontal form-row-sepe formnombottom" style="padding-top: 0px; margin-top: -5px;">
|
||||
<div class="form-body">
|
||||
<div class="col-md-1" style="width: 100%">
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-1" style="width: 30%">
|
||||
<asp:Label runat="server" ID="LblAsunto">Asunto:</asp:Label>
|
||||
</div>
|
||||
<div class="col-md-1" style="width: 70%">
|
||||
<asp:TextBox runat="server" ID="TxtAsunto"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-1" style="width: 30%">
|
||||
<asp:Label runat="server" ID="LblCorreo">Para:</asp:Label>
|
||||
</div>
|
||||
<div class="col-md-1" style="width: 45%">
|
||||
<textarea runat="server" id="TxtCorreo" class="form-control"></textarea>
|
||||
</div>
|
||||
<div class="col-md-1" style="width: 15%">
|
||||
<asp:LinkButton runat="server" ID="LbBuscar" >Buscar</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-1" style="width: 30%">
|
||||
<asp:Label runat="server" ID="LblCorreoExtra">Correos Adicionales:</asp:Label>
|
||||
</div>
|
||||
<div class="col-md-1" style="width: 70%">
|
||||
<textarea runat="server" id="TxtCorreoAdicional" class="form-control"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-1" style="width: 30%">
|
||||
<asp:Label runat="server" ID="LblCircular">Circular:</asp:Label>
|
||||
</div>
|
||||
<div class="col-md-1" style="width: 70%">
|
||||
<textarea runat="server" id="TxtCircular" class="form-control" style="height:150px"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-1" style="width:30%">
|
||||
<asp:Label runat="server" ID="LblAdjunto">Adjuntar archivo:</asp:Label>
|
||||
</div>
|
||||
<div class="col-md-1" style="width:70%">
|
||||
<asp:TextBox ID="TxtFileDocumentacion" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row" style="text-align: center">
|
||||
<asp:Button ID="BtnGuardar" runat="server" CssClass="btn btn-primary" Text="Guardar" Visible="true" ValidationGroup="GrpGuardar" />
|
||||
<asp:Button ID="BtnEliminar" runat="server" CssClass="btn btn-danger" Text="Eliminar" Visible="false" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ModalDescuento" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content" style="width: 800px">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblTitulo1" runat="server" ClientIDMode="Static" Text="Descuento:" Style="display: none;"></asp:Label>
|
||||
<asp:Label ID="LblTitulo2" runat="server" ClientIDMode="Static" Text="Amortización de Anticipos:" Style="display: none;"></asp:Label></h4>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="row" style="width: 85%; text-align: center">
|
||||
<div class="col-md-1 truncate text-right" style="width: 20%; text-align: right">Rol: </div>
|
||||
<div class="col-md-3 col-sm-2" style="width: 20%; text-align: left">
|
||||
<asp:DropDownList runat="server" ID="DdlRolesFiltro" DataValue="CveRol" DataTextField="Rol" CssClass="select2me" />
|
||||
</div>
|
||||
<div class="col-md-1 truncate text-right" style="width: 20%; text-align: right">Sucursales: </div>
|
||||
<div class="col-md-3 col-sm-2" style="width: 20%; text-align: left">
|
||||
<asp:DropDownList runat="server" ID="DdlSucursales" DataValue="CveProyecto" DataTextField="SubProyecto" CssClass="select2me" />
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-2" style="width: 20%; text-align: right">
|
||||
<asp:Button ID="BtnBuscar" runat="server" CssClass="btn btn-primary" Text="Buscar" Visible="true" ValidationGroup="GrpGuardar" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top: 30px;">
|
||||
<asp:UpdatePanel runat="server" ID="UpUsuarios" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvUsuarios" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario,Nombre,Correo" EmptyDataText="No se encontraron Motivo de Baja Registrados"
|
||||
ToolTip="Listado de Metas Vendedor" CssClass="table table-striped table-advance table-hover ScrollAD" Style="margin-top: 0px; text-align: center; width: 100%" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Nombre" DataField="Nombre">
|
||||
<ItemStyle Width="50%" HorizontalAlign="Left" Wrap="true" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField HeaderText="Correo" DataField="Correo">
|
||||
<ItemStyle Width="50%" HorizontalAlign="Left" Wrap="true" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<%--<asp:Button ID="BtnAplicarDescP" runat="server" ClientIDMode="Static" OnClientClick="$('#ModalDescuento').modal('hide'); event.preventDefault();" Text="Aplicar" ValidationGroup="GrpDescuentoP" Style="display: none;" CssClass="btn btn-primary" />--%>
|
||||
<asp:Button ID="BtnAplicarDescG" runat="server" ClientIDMode="Static" Text="Aplicar" ValidationGroup="GrpDescuentoP" CssClass="btn btn-primary" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
208
OI/CircularDetalle.aspx.vb
Normal file
208
OI/CircularDetalle.aspx.vb
Normal file
@@ -0,0 +1,208 @@
|
||||
Imports System.Data
|
||||
Imports System.Linq
|
||||
Imports Extensiones
|
||||
Imports System.IO
|
||||
|
||||
Partial Class OI_CircularDetalle
|
||||
Inherits ClsPaginas
|
||||
|
||||
Private Property DtUsuarios As DataTable
|
||||
Get
|
||||
Return If(IsNothing(ViewState("DtUsuarios")), Nothing, CType(ViewState("DtUsuarios"), DataTable))
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtUsuarios") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CveCircular As Integer
|
||||
Get
|
||||
Return ViewState("CveCircular").ToString.ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveCircular") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
CargarCve()
|
||||
ConfigurarBotones()
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargarCve()
|
||||
Dim PreCveCircular As String = Request.Params("CveCircular").ToString
|
||||
If IsNumeric(PreCveCircular) Then
|
||||
CveCircular = PreCveCircular.ToEntero
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ConfigurarBotones()
|
||||
If CveCircular > 0 Then
|
||||
BtnGuardar.Text = "Actualizar"
|
||||
BtnEliminar.Visible = True
|
||||
Else
|
||||
BtnGuardar.Text = "Guardar"
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatos()
|
||||
If CveCircular > 0 Then
|
||||
Dim ObjOI As New ClsOIEventos
|
||||
If ObjOI.GetCircular(UsuarioActual.CveEmpresa, CveCircular) Then
|
||||
Dim Circular As DataRow = ObjOI.DtResultados(0)
|
||||
|
||||
TxtAsunto.Text = Circular.Item("Asunto")
|
||||
TxtCorreo.Value = Circular.Item("CorreosInternos")
|
||||
TxtCorreoAdicional.Value = Circular.Item("CorreosExternos")
|
||||
TxtCircular.Value = Circular.Item("Circular")
|
||||
|
||||
UpCliente.Update()
|
||||
End If
|
||||
ObjOI.Dispose()
|
||||
End If
|
||||
|
||||
DdlRolesFiltro.DataSource = GlobalDTRoles(UsuarioActual.CveEmpresa)
|
||||
DdlRolesFiltro.DataBind()
|
||||
DdlRolesFiltro.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
|
||||
DdlSucursales.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa)
|
||||
DdlSucursales.DataBind()
|
||||
DdlSucursales.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
End Sub
|
||||
|
||||
Private Sub BtnGuardar_Click() Handles BtnGuardar.Click
|
||||
Dim ObjOI As New ClsOIEventos
|
||||
If CveCircular > 0 Then
|
||||
If ObjOI.UpdateCircular(CveCircular, TxtAsunto.Text, TxtCircular.Value, TxtCorreo.Value, TxtCorreoAdicional.Value, UsuarioActual.CveUsuario) Then
|
||||
Alert("Actualizado correctamente")
|
||||
End If
|
||||
Else
|
||||
Dim CorreoExtra As String = If(TxtCorreoAdicional.Value = "", "-1", TxtCorreoAdicional.Value)
|
||||
Dim CircularInsertado As Integer = ObjOI.AddCircular(TxtAsunto.Text, TxtCircular.Value, TxtCorreo.Value, Today.ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CorreoExtra)
|
||||
If CircularInsertado > 0 Then
|
||||
GuardarArchivo(CircularInsertado)
|
||||
Alert("Ingresado correctamente")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BtnEliminar_Click() Handles BtnEliminar.Click
|
||||
Dim ObjOI As New ClsOIEventos
|
||||
If ObjOI.DeleteCircular(CveCircular) Then
|
||||
Response.Redirect("~/OI/CircularDetalle.aspx?CveCircular=-1")
|
||||
End If
|
||||
ObjOI.Dispose()
|
||||
End Sub
|
||||
|
||||
Protected Sub LbBuscar_Click(sender As Object, e As EventArgs) Handles LbBuscar.Click
|
||||
LimpiarModal()
|
||||
RegistraScript("$('#ModalDescuento').modal()")
|
||||
End Sub
|
||||
|
||||
Private Sub LimpiarModal()
|
||||
DdlRolesFiltro.SelectedValue = -1
|
||||
DdlSucursales.SelectedValue = -1
|
||||
GvUsuarios.DataSource = Nothing
|
||||
GvUsuarios.DataBind()
|
||||
UpUsuarios.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnBuscar_Click() Handles BtnBuscar.Click
|
||||
Dim buscadorQuery As New StringBuilder
|
||||
buscadorQuery.Append(If(DdlRolesFiltro.SelectedValue.ToEntero > 0, String.Format("CveRol = {0}", DdlRolesFiltro.SelectedValue), ""))
|
||||
buscadorQuery.Append(If(DdlSucursales.SelectedValue.ToEntero > 0, String.Format("{0} CveSubProyecto = {1}", If(buscadorQuery.Length > 0, "AND", ""), DdlSucursales.SelectedValue), ""))
|
||||
GvUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(buscadorQuery.ToString)
|
||||
DtUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(buscadorQuery.ToString)
|
||||
GvUsuarios.DataBind()
|
||||
UpUsuarios.Update()
|
||||
RegistraScript("$('#ModalDescuento').modal()")
|
||||
End Sub
|
||||
|
||||
Private Sub BtnAplicarDescG_Click() Handles BtnAplicarDescG.Click
|
||||
Dim UsuariosCorreos As String = ""
|
||||
For Each usuario As DataRow In DtUsuarios.Rows
|
||||
If usuario.Item("Correo").ToString.Length > 0 Then
|
||||
UsuariosCorreos = String.Format("{0}{1}" & Environment.NewLine, UsuariosCorreos, usuario.Item("Correo").ToString)
|
||||
End If
|
||||
Next
|
||||
TxtCorreo.Value = UsuariosCorreos
|
||||
RegistraScript("$('#ModalDescuento').modal('hide')")
|
||||
UpCliente.Update()
|
||||
End Sub
|
||||
|
||||
Private Function GuardarArchivo(CircularInsertado As Integer) As String
|
||||
|
||||
Dim respuesta As String = ""
|
||||
|
||||
Dim FileExtension As String = "-1"
|
||||
Dim Filesgral As List(Of Archivo) = TxtFileDocumentacion.getfiles().Archivos
|
||||
Dim Filename As String = ""
|
||||
|
||||
For Each fileItem As Archivo In Filesgral
|
||||
Try
|
||||
respuesta = fileItem.filenameO
|
||||
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
|
||||
Dim tempArray() As String
|
||||
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
|
||||
|
||||
Dim rutaDestino As String = UsuarioActual.Empresa.Ruta & "Formatos\" & CircularInsertado & "_" & fileItem.filenameO
|
||||
'Dim docAnterior As String = UsuarioActual.Empresa.Ruta & "Formatos\" & _CveDocumentacion & "_" & DocumentacionFormato
|
||||
|
||||
'If DocumentacionFormato.Trim.Length > 0 Then
|
||||
' If File.Exists(docAnterior) Then
|
||||
' File.Delete(docAnterior)
|
||||
' End If
|
||||
'End If
|
||||
|
||||
If Not Directory.Exists(UsuarioActual.Empresa.Ruta & "\Formatos") Then
|
||||
Directory.CreateDirectory(UsuarioActual.Empresa.Ruta & "\Formatos")
|
||||
|
||||
End If
|
||||
|
||||
If System.IO.File.Exists(rutaDestino) Then
|
||||
System.IO.File.Delete(rutaDestino)
|
||||
End If
|
||||
|
||||
System.IO.File.Move(fileItem.FileUrl, rutaDestino)
|
||||
|
||||
Catch ex As Exception
|
||||
OnError("Error al cargar archivo", ex)
|
||||
End Try
|
||||
TxtFileDocumentacion.Text = ""
|
||||
Next
|
||||
|
||||
|
||||
Return respuesta
|
||||
End Function
|
||||
|
||||
Protected Sub LnkMandarCorreo_Click() Handles LnkMandarCorreo.Click
|
||||
Dim correos() As String
|
||||
correos = TxtCorreo.Value.Split(Environment.NewLine)
|
||||
'MandaCorreo()
|
||||
End Sub
|
||||
|
||||
Private Sub MandaCorreo(Asunto As String, Para As String, ArrayCC As String, body As String, ArchivoBinario As Byte())
|
||||
|
||||
Dim a As String = String.Format("{0} -- {1} --- {2}", Asunto, Para, ArrayCC)
|
||||
a.GuardaLog()
|
||||
|
||||
Dim Mail As New ClsSisMail()
|
||||
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
|
||||
Dim itemMail As New ClsSisMail.ArchivoMail
|
||||
|
||||
With itemMail
|
||||
itemMail.ArchivoBinario = ArchivoBinario
|
||||
itemMail.NombreArchivo = "Invitación.pdf"
|
||||
|
||||
End With
|
||||
|
||||
LSRutasMail.Add(itemMail)
|
||||
|
||||
|
||||
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, body, ArrayCC, LSRutasMail)
|
||||
Mail = Nothing
|
||||
End Sub
|
||||
End Class
|
||||
@@ -298,11 +298,11 @@ Partial Class RH_Personal
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property PU As Double
|
||||
Private Property PU As Decimal
|
||||
Get
|
||||
Return CInt(ViewState("PU"))
|
||||
End Get
|
||||
Set(value As Double)
|
||||
Set(value As Decimal)
|
||||
ViewState("PU") = value
|
||||
End Set
|
||||
End Property
|
||||
@@ -4908,7 +4908,7 @@ Partial Class RH_Personal
|
||||
|
||||
CveAlmacenUniforme = rowInfo.Item("CveAlmacen").ToString.ToEntero
|
||||
DescripcionUniforme = rowInfo.Item("CodigoPS").ToString
|
||||
PU = rowInfo.Item("PU").ToString.ToDouble
|
||||
PU = rowInfo.Item("PU").ToString.ToDecimal
|
||||
|
||||
CveUM = rowInfo.Item("CveUM").ToString.ToEntero
|
||||
CvePS = rowInfo.Item("CvePS").ToString.ToEntero
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@ using System.Xml;
|
||||
using Extensiones;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using ADSistemaLibrary.SatXml;
|
||||
using ADSistemaLibrary2.SatXml;
|
||||
|
||||
//using ADS_CFDI_SAT;
|
||||
|
||||
@@ -187,7 +187,11 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
|
||||
{
|
||||
|
||||
{
|
||||
string ruta = string.Format("{0}\\{1}", UsuarioActual.Empresa.Ruta.Trim(), gvrow.DataKey("RutaXml").Trim()).Replace("/", "\\"); //gvrow.DataKey("RutaXml");
|
||||
string rutaempresa = UsuarioActual.Empresa.Ruta.Trim().Replace("/", "\\");
|
||||
string rutafile = gvrow.DataKey("RutaXml").Trim().Replace("/", "\\");
|
||||
rutaempresa = rutaempresa.Substring(rutaempresa.Length - 1, 1) == "\\" ? rutaempresa.Substring(0, rutaempresa.Length - 1): rutaempresa;
|
||||
rutafile = rutafile.Substring(0, 1) == "\\" ? rutafile.Substring(1): rutafile;
|
||||
string ruta = string.Format("{0}\\{1}", rutaempresa, rutafile); //gvrow.DataKey("RutaXml");
|
||||
//Alert(ruta);
|
||||
|
||||
//return false;
|
||||
@@ -798,4 +802,953 @@ public partial class Ventas_RepConciliacionEmitidosSat : ClsPaginas
|
||||
}
|
||||
//String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", DbRowVenta("SerieFolio"), DbRowVenta("TipoDocto"))))
|
||||
}
|
||||
}
|
||||
namespace ADSistemaLibrary2.SatXml
|
||||
{
|
||||
public class XmlSatCFDI
|
||||
{
|
||||
public XmlSatCFDI()
|
||||
{
|
||||
comprobante = new CFDIComprobante();
|
||||
emisor = new CFDIEmisor();
|
||||
receptor = new CFDIReceptor();
|
||||
complemento = new CFDIComplemento();
|
||||
cFDIRelacionados = new List<CFDIRelacionado>();
|
||||
conceptos = new List<CFDIConcepto>();
|
||||
Impuestos = new List<CFDIImpuesto>();
|
||||
}
|
||||
public CFDIComprobante comprobante;
|
||||
public CFDIEmisor emisor;
|
||||
public CFDIReceptor receptor;
|
||||
public CFDIComplemento complemento;
|
||||
public List<CFDIRelacionado> cFDIRelacionados;
|
||||
public List<CFDIConcepto> conceptos;
|
||||
public List<CFDIImpuesto> Impuestos;
|
||||
public List<CFDIConcepto_I> GetConceptosforpdf()
|
||||
{
|
||||
List<CFDIConcepto_I> lcon = new List<CFDIConcepto_I>();
|
||||
if (conceptos != null)
|
||||
{
|
||||
int _orden = 0;
|
||||
foreach (CFDIConcepto item in conceptos)
|
||||
{
|
||||
_orden += 1;
|
||||
CFDIConcepto_I con = new CFDIConcepto_I
|
||||
{
|
||||
tipo = 1,
|
||||
orden = _orden,
|
||||
ClaveProdServ = item.ClaveProdServ,
|
||||
NoIdentificacion = item.NoIdentificacion,
|
||||
Cantidad = item.Cantidad,
|
||||
ClaveUnidad = item.ClaveUnidad,
|
||||
Unidad = item.Unidad,
|
||||
ValorUnitario = item.ValorUnitario,
|
||||
Importe = item.Importe,
|
||||
Descuento = item.Descuento,
|
||||
NumeroPedimento = item.NumeroPedimento,
|
||||
CuentaPredial = item.CuentaPredial,
|
||||
Descripcion = item.Descripcion
|
||||
};
|
||||
int index = 0;
|
||||
foreach (CFDIConceptoImpuesto Imp in item.Impuestos)
|
||||
{
|
||||
index++;
|
||||
if (index > 1)
|
||||
{
|
||||
lcon.Add(con);
|
||||
con = new CFDIConcepto_I
|
||||
{
|
||||
tipo = 2,
|
||||
orden = _orden,
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
con.Impuesto = Imp.ImpuestoTexto;
|
||||
con.Impuesto_Tipo = Imp.Tipo;
|
||||
con.Impuesto_Base = Imp.Base;
|
||||
con.Impuesto_TipoFactor = Imp.TipoFactor;
|
||||
con.Impuesto_TasaOCuota = Imp.TasaOCuota;
|
||||
con.Impuesto_Importe = Imp.Importe;
|
||||
}
|
||||
lcon.Add(con);
|
||||
}
|
||||
}
|
||||
|
||||
return lcon;
|
||||
}
|
||||
|
||||
public static XmlSatCFDI readXML(string fileUrl)
|
||||
{
|
||||
XmlSatCFDI xmlCFDI = new XmlSatCFDI();
|
||||
bool canread = true;
|
||||
//keys
|
||||
string keyComprobante = "Comprobante";
|
||||
string keyCfdiRelacionados = "CfdiRelacionados";
|
||||
string keyEmisor = "Emisor";
|
||||
string keyReceptor = "Receptor";
|
||||
string keyConceptos = "Conceptos";
|
||||
string keyImpuestos = "Impuestos";
|
||||
string keyComplemento = "Complemento";
|
||||
//endkeys
|
||||
string[] PrimerNivel = new string[] { keyCfdiRelacionados, keyEmisor, keyReceptor, keyConceptos, keyImpuestos, keyComplemento };
|
||||
//(canread = xtr.Read()) para evitar ciclos infinitos, todos los .Read() los guardo en la variable Canread y en los while reviso primero esta variable
|
||||
if (File.Exists(fileUrl))
|
||||
{
|
||||
XmlReaderSettings settings = new XmlReaderSettings();
|
||||
settings.ConformanceLevel = ConformanceLevel.Fragment;
|
||||
settings.IgnoreWhitespace = true;
|
||||
settings.IgnoreComments = true;
|
||||
using (XmlReader xtr = XmlReader.Create(fileUrl, settings))
|
||||
{
|
||||
|
||||
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:","") == keyComprobante))
|
||||
{
|
||||
//if (xtr.NodeType != XmlNodeType.Element) { while (xtr.Read() && xtr.NodeType != XmlNodeType.Element) { } }
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyComprobante)
|
||||
{
|
||||
int Nivel = xtr.Depth;
|
||||
bool cont = xtr.MoveToFirstAttribute();
|
||||
while (cont)
|
||||
{
|
||||
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "XMLNS:CFDI": xmlCFDI.comprobante.xmlns_cfdi = xtr.Value; break;
|
||||
case "XMLNS:XSI": xmlCFDI.comprobante.xmlns_xsi = xtr.Value; break;
|
||||
case "XSI:SCHEMALOCATION": xmlCFDI.comprobante.xsi_schemaLocation = xtr.Value; break;
|
||||
case "VERSION": xmlCFDI.comprobante.Version = xtr.Value; break;
|
||||
case "SERIE": xmlCFDI.comprobante.Serie = xtr.Value; break;
|
||||
case "FOLIO": xmlCFDI.comprobante.Folio = xtr.Value; break;
|
||||
case "FECHA": xmlCFDI.comprobante.Fecha = xtr.Value; break;
|
||||
case "MONEDA": xmlCFDI.comprobante.Moneda = xtr.Value; break;
|
||||
case "SUBTOTAL": decimal SubTotal = 0; decimal.TryParse(xtr.Value, out SubTotal); xmlCFDI.comprobante.SubTotal = SubTotal; break;
|
||||
case "TOTAL": decimal Total = 0; decimal.TryParse(xtr.Value, out Total); xmlCFDI.comprobante.Total = Total; break;
|
||||
case "DESCUENTO": decimal Descuento = 0; decimal.TryParse(xtr.Value, out Descuento); xmlCFDI.comprobante.Descuento = Descuento; break;
|
||||
case "TIPOCAMBIO": decimal TipoCambio = 0; decimal.TryParse(xtr.Value, out TipoCambio); xmlCFDI.comprobante.TipoCambio = TipoCambio; break;
|
||||
case "TIPODECOMPROBANTE": xmlCFDI.comprobante.TipoDeComprobante = xtr.Value; break;
|
||||
case "FORMAPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
|
||||
case "FORMADEPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
|
||||
case "METODOPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
|
||||
case "METODODEPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
|
||||
case "CONDICIONESDEPAGO": xmlCFDI.comprobante.CondicionesDePago = xtr.Value; break;
|
||||
case "LUGAREXPEDICION": xmlCFDI.comprobante.LugarExpedicion = xtr.Value; break;
|
||||
case "CONFIRMACION": xmlCFDI.comprobante.Confirmacion = xtr.Value; break;
|
||||
case "NOCERTIFICADO": xmlCFDI.comprobante.NoCertificado = xtr.Value; break;
|
||||
case "SELLO": xmlCFDI.comprobante.Sello = xtr.Value; break;
|
||||
case "CERTIFICADO": xmlCFDI.comprobante.Certificado = xtr.Value; break;
|
||||
}
|
||||
cont = xtr.MoveToNextAttribute();
|
||||
}
|
||||
cont = xtr.MoveToFirstAttribute();
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > Nivel)
|
||||
{
|
||||
if (PrimerNivel.Contains(xtr.Name.Replace("cfdi:", "")))
|
||||
{
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyCfdiRelacionados)
|
||||
{
|
||||
int cDepth = xtr.Depth;
|
||||
|
||||
string TipoRelacion = null;
|
||||
cont = xtr.MoveToFirstAttribute();
|
||||
while (cont)
|
||||
{
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "TIPORELACION": TipoRelacion = xtr.Value; break;
|
||||
}
|
||||
cont = xtr.MoveToNextAttribute();
|
||||
}
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > cDepth)
|
||||
{
|
||||
if (xtr.Name.Replace("cfdi:", "") == "CfdiRelacionado")
|
||||
{
|
||||
CFDIRelacionado cfdir = new CFDIRelacionado();
|
||||
cfdir.TipoRelacion = TipoRelacion;
|
||||
cfdir.UUID = xtr.GetAttribute("UUID");
|
||||
xmlCFDI.cFDIRelacionados.Add(cfdir);
|
||||
}
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
}
|
||||
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyEmisor)
|
||||
{
|
||||
|
||||
|
||||
int curentNivel = xtr.Depth;
|
||||
cont = xtr.MoveToFirstAttribute();
|
||||
while (cont)
|
||||
{
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "REGIMENFISCAL": xmlCFDI.emisor.RegimenFiscal = xtr.Value; break;
|
||||
case "NOMBRE": xmlCFDI.emisor.Nombre = xtr.Value; break;
|
||||
case "RFC": xmlCFDI.emisor.Rfc = xtr.Value; break;
|
||||
}
|
||||
cont = xtr.MoveToNextAttribute();
|
||||
}
|
||||
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyReceptor)
|
||||
{
|
||||
int curentNivel = xtr.Depth;
|
||||
cont = xtr.MoveToFirstAttribute();
|
||||
while (cont)
|
||||
{
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "RFC": xmlCFDI.receptor.Rfc = xtr.Value; break;
|
||||
case "NOMBRE": xmlCFDI.receptor.Nombre = xtr.Value; break;
|
||||
case "RESIDENCIAFISCAL": xmlCFDI.receptor.ResidenciaFiscal = xtr.Value; break;
|
||||
case "NUMREGIDTRIB": xmlCFDI.receptor.NumRegIdTrib = xtr.Value; break;
|
||||
case "USOCFDI": xmlCFDI.receptor.UsoCFDI = xtr.Value; break;
|
||||
}
|
||||
cont = xtr.MoveToNextAttribute();
|
||||
}
|
||||
|
||||
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyConceptos)
|
||||
{
|
||||
int cDepth = xtr.Depth;
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > cDepth)
|
||||
{
|
||||
if (xtr.Name.Replace("cfdi:", "") == "Concepto")
|
||||
{
|
||||
int cDepthb = xtr.Depth;
|
||||
CFDIConcepto concepto = new CFDIConcepto();
|
||||
|
||||
cont = xtr.MoveToFirstAttribute();
|
||||
while (cont)
|
||||
{
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "CLAVEPRODSERV": concepto.ClaveProdServ = xtr.Value; break;
|
||||
case "NOIDENTIFICACION": concepto.NoIdentificacion = xtr.Value; break;
|
||||
case "CANTIDAD": concepto.Cantidad = xtr.Value; break;
|
||||
case "CLAVEUNIDAD": concepto.ClaveUnidad = xtr.Value; break;
|
||||
case "UNIDAD": concepto.Unidad = xtr.Value; break;
|
||||
case "VALORUNITARIO": decimal ValorUnitario = 0; decimal.TryParse(xtr.Value, out ValorUnitario); concepto.ValorUnitario = ValorUnitario; ; break;
|
||||
case "IMPORTE": decimal Importe = 0; decimal.TryParse(xtr.Value, out Importe); concepto.Importe = Importe; ; break;
|
||||
case "DESCUENTO": decimal DDescuento = 0; decimal.TryParse(xtr.Value, out DDescuento); concepto.Descuento = DDescuento; ; break;
|
||||
case "DESCRIPCION": concepto.Descripcion = xtr.Value; break;
|
||||
}
|
||||
cont = xtr.MoveToNextAttribute();
|
||||
}
|
||||
xtr.MoveToFirstAttribute();
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > cDepthb)
|
||||
{
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == "Impuestos")
|
||||
{
|
||||
int cDepthc = xtr.Depth;
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > cDepthc)
|
||||
{
|
||||
if (xtr.Name.Replace("cfdi:", "") == "Traslado" || xtr.Name.Replace("cfdi:", "") == "Retencion")
|
||||
{
|
||||
CFDIConceptoImpuesto impuesto = new CFDIConceptoImpuesto();
|
||||
impuesto.Impuesto = xtr.GetAttribute("Impuesto");
|
||||
impuesto.Tipo = xtr.LocalName;
|
||||
decimal Base = 0;
|
||||
decimal.TryParse(xtr.GetAttribute("Base"), out Base);
|
||||
impuesto.Base = Base;
|
||||
impuesto.TipoFactor = xtr.GetAttribute("TipoFactor");
|
||||
decimal tasaOCuota = 0;
|
||||
decimal.TryParse(xtr.GetAttribute("TasaOCuota"), out tasaOCuota);
|
||||
impuesto.TasaOCuota = impuesto.TipoFactor == "Tasa" ? (tasaOCuota * 100).ToString("N4") : xtr.GetAttribute("TasaOCuota");
|
||||
decimal ImImporte = 0;
|
||||
decimal.TryParse(xtr.GetAttribute("Importe"), out ImImporte);
|
||||
impuesto.Importe = ImImporte;
|
||||
|
||||
concepto.Impuestos.Add(impuesto);
|
||||
}
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bool rednew = true;
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == "InformacionAduanera")
|
||||
{
|
||||
concepto.NumeroPedimento = xtr.GetAttribute("NumeroPedimento");
|
||||
rednew = false; while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == "CuentaPredial")
|
||||
{
|
||||
concepto.CuentaPredial = xtr.GetAttribute("CuentaPredial");
|
||||
rednew = false; while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
}
|
||||
if (rednew) { while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
xmlCFDI.conceptos.Add(concepto);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyImpuestos)
|
||||
{
|
||||
int cDepth = xtr.Depth;
|
||||
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > cDepth)
|
||||
{
|
||||
CFDIImpuesto impuest = new CFDIImpuesto();
|
||||
if (xtr.Name.Replace("cfdi:", "") == "Traslado" || xtr.Name.Replace("cfdi:", "") == "Retencion" && xmlCFDI.comprobante.Version != null)
|
||||
{
|
||||
impuest.Tipo = xtr.LocalName == "Traslado" ? "Traslados" : (xtr.LocalName == "Retencion" ? "Retenciones" : "");
|
||||
impuest.Impuesto = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Impuesto") : xtr.GetAttribute("impuesto");
|
||||
impuest.TipoFactor = xtr.GetAttribute("TipoFactor");
|
||||
impuest.TasaOCuota = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("TasaOCuota") : xtr.GetAttribute("tasa");
|
||||
decimal ImImporte = 0;
|
||||
decimal.TryParse((xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Importe") : xtr.GetAttribute("importe")), out ImImporte);
|
||||
impuest.Importe = ImImporte;
|
||||
xmlCFDI.Impuestos.Add(impuest);
|
||||
}
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
|
||||
}
|
||||
}
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.Replace("cfdi:", "") == keyComplemento)
|
||||
{
|
||||
int cDepth = xtr.Depth;
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > cDepth)
|
||||
{
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "TimbreFiscalDigital" && xmlCFDI.comprobante.Version != null)
|
||||
{
|
||||
xmlCFDI.complemento.xmlns_tfd = xtr.GetAttribute("xmlns:tfd");
|
||||
xmlCFDI.complemento.xsi_schemaLocation = xtr.GetAttribute("xsi:schemaLocation");
|
||||
xmlCFDI.complemento.Version = xtr.GetAttribute("Version");
|
||||
xmlCFDI.complemento.UUID = xtr.GetAttribute("UUID");
|
||||
xmlCFDI.complemento.FechaTimbrado = xtr.GetAttribute("FechaTimbrado");
|
||||
xmlCFDI.complemento.RfcProvCertif = xtr.GetAttribute("RfcProvCertif");
|
||||
xmlCFDI.complemento.SelloCFD = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("SelloCFD") : xtr.GetAttribute("selloCFD");
|
||||
xmlCFDI.complemento.NoCertificadoSAT = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("NoCertificadoSAT") : xtr.GetAttribute("noCertificadoSAT");
|
||||
xmlCFDI.complemento.SelloSAT = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("SelloSAT") : xtr.GetAttribute("selloSAT");
|
||||
|
||||
}
|
||||
|
||||
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "Pagos" && xmlCFDI.comprobante.Version != null)
|
||||
{
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
xmlCFDI.complemento.Pagos = new CFDIPago();
|
||||
int depthpagos = xtr.Depth;
|
||||
bool conts = xtr.MoveToFirstAttribute();
|
||||
while (conts)
|
||||
{
|
||||
|
||||
decimal Base = 0;
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "FECHAPAGO": xmlCFDI.complemento.Pagos.FechaPago = xtr.Value; break;
|
||||
case "FORMADEPAGOP": xmlCFDI.complemento.Pagos.FormaDePagoP = xtr.Value; break;
|
||||
case "FORMADEPAGOPTEXT": xmlCFDI.complemento.Pagos.FormaDePagoPText = xtr.Value; break;
|
||||
case "MONEDAP": xmlCFDI.complemento.Pagos.MonedaP = xtr.Value; break;
|
||||
case "MONTO": decimal.TryParse(xtr.Value, out Base); xmlCFDI.complemento.Pagos.Monto = Base; break;
|
||||
case "TIPOCAMBIOP": decimal.TryParse(xtr.Value, out Base); xmlCFDI.complemento.Pagos.TipoCambioP = Base; break;
|
||||
case "NUMOPERACION": xmlCFDI.complemento.Pagos.NumOperacion = xtr.Value; break;
|
||||
case "NOMBANCOORDEXT": xmlCFDI.complemento.Pagos.NomBancoOrdExt = xtr.Value; break;
|
||||
case "RFCEMISORCTAORD": xmlCFDI.complemento.Pagos.RfcEmisorCtaOrd = xtr.Value; break;
|
||||
case "CTAORDENANTE": xmlCFDI.complemento.Pagos.CtaOrdenante = xtr.Value; break;
|
||||
case "RFCEMISORCTABEN": xmlCFDI.complemento.Pagos.RfcEmisorCtaBen = xtr.Value; break;
|
||||
case "CTABENEFICIARIO": xmlCFDI.complemento.Pagos.CtaBeneficiario = xtr.Value; break;
|
||||
}
|
||||
conts = xtr.MoveToNextAttribute();
|
||||
}
|
||||
conts = xtr.MoveToFirstAttribute();
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
while (canread && xtr.Depth > depthpagos)
|
||||
{
|
||||
CFDIPagoDoctoRelacionado objpago = new CFDIPagoDoctoRelacionado();
|
||||
conts = xtr.MoveToFirstAttribute();
|
||||
while (conts)
|
||||
{
|
||||
|
||||
decimal Basep = 0;
|
||||
switch (xtr.Name.ToUpper())
|
||||
{
|
||||
case "IDDOCUMENTO": objpago.IdDocumento = xtr.Value; break;
|
||||
case "SERIE": objpago.Serie = xtr.Value; break;
|
||||
case "FOLIO": objpago.Folio = xtr.Value; break;
|
||||
case "MONEDADR": objpago.MonedaDR = xtr.Value; break;
|
||||
case "METODODEPAGODR": objpago.MetodoDePagoDR = xtr.Value; break;
|
||||
case "NUMPARCIALIDAD": objpago.NumParcialidad = xtr.Value; break;
|
||||
case "IMPSALDOANT": decimal.TryParse(xtr.Value, out Basep); objpago.ImpSaldoAnt = Basep; break;
|
||||
case "IMPPAGADO": decimal.TryParse(xtr.Value, out Basep); objpago.ImpPagado = Basep; break;
|
||||
case "IMPSALDOINSOLUTO": decimal.TryParse(xtr.Value, out Basep); objpago.ImpSaldoInsoluto = Basep; break;
|
||||
|
||||
}
|
||||
conts = xtr.MoveToNextAttribute();
|
||||
}
|
||||
conts = xtr.MoveToFirstAttribute();
|
||||
xmlCFDI.complemento.Pagos.doctosRelacionados.Add(objpago);
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//si no entro en ninguna de los anteriores no se debe ciclar
|
||||
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (xmlCFDI.comprobante.Version == "3.3" || xmlCFDI.comprobante.Version == "3.2")
|
||||
{
|
||||
return xmlCFDI;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class utilValores
|
||||
{
|
||||
public utilValores(string nombre, string valor)
|
||||
{
|
||||
Nombre = nombre;
|
||||
Valor = valor;
|
||||
}
|
||||
public string Nombre { get; set; }
|
||||
public string Valor { get; set; }
|
||||
}
|
||||
public class utilImage
|
||||
{
|
||||
public utilImage(byte[] imagenByte)
|
||||
{
|
||||
ImagenByte = imagenByte;
|
||||
}
|
||||
public byte[] ImagenByte { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
public class CFDIComplemento
|
||||
{
|
||||
public string xmlns_tfd { get; set; }
|
||||
public string xsi_schemaLocation { get; set; }
|
||||
public string Version { get; set; }
|
||||
public string UUID { get; set; }
|
||||
public string FechaTimbrado { get; set; }
|
||||
public string RfcProvCertif { get; set; }
|
||||
public string SelloCFD { get; set; }
|
||||
public string NoCertificadoSAT { get; set; }
|
||||
public string SelloSAT { get; set; }
|
||||
public CFDIPago Pagos { get; set; }
|
||||
public string CadenaOriginal
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format("||{0}|{1}|{2}|{3}|{4}|{5}||", Version, UUID, FechaTimbrado, RfcProvCertif, SelloCFD, NoCertificadoSAT);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public class CFDIComprobante
|
||||
{
|
||||
public string xmlns_cfdi { get; set; }
|
||||
public string xmlns_xsi { get; set; }
|
||||
public string xsi_schemaLocation { get; set; }
|
||||
public string Version { get; set; }
|
||||
public string Serie { get; set; }
|
||||
public string Folio { get; set; }
|
||||
public string Fecha { get; set; }
|
||||
public string Moneda { get; set; }
|
||||
public decimal SubTotal { get; set; }
|
||||
public decimal Total { get; set; }
|
||||
public decimal Descuento { get; set; }
|
||||
public decimal TipoCambio { get; set; }
|
||||
public string TipoDeComprobante { get; set; }
|
||||
|
||||
public string TipoDeComprobanteSIG
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
if (Version == "3.3")
|
||||
{
|
||||
switch (TipoDeComprobante)
|
||||
{
|
||||
case "I":
|
||||
retorno = "Ing";
|
||||
break;
|
||||
case "E":
|
||||
retorno = "Egs";
|
||||
break;
|
||||
case "P":
|
||||
retorno = "PA";
|
||||
break;
|
||||
//case "T":
|
||||
// retorno = "Traslado";
|
||||
// break;
|
||||
//case "N":
|
||||
// retorno = "Nómina";
|
||||
// break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (Version == "3.2")
|
||||
{
|
||||
switch (TipoDeComprobante)
|
||||
{
|
||||
case "ingreso":
|
||||
retorno = "Ing";
|
||||
break;
|
||||
case "egreso":
|
||||
retorno = "Egs";
|
||||
break;
|
||||
case "P":
|
||||
retorno = "PA";
|
||||
break;
|
||||
//case "T":
|
||||
// retorno = "Traslado";
|
||||
// break;
|
||||
//case "N":
|
||||
// retorno = "Nómina";
|
||||
// break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else { retorno = TipoDeComprobante; }
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string TipoDeComprobanteTexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
|
||||
if (Version == "3.3")
|
||||
{
|
||||
switch (TipoDeComprobante)
|
||||
{
|
||||
case "I":
|
||||
retorno = "Ingreso";
|
||||
break;
|
||||
case "E":
|
||||
retorno = "Egreso";
|
||||
break;
|
||||
case "P":
|
||||
retorno = "Pago";
|
||||
break;
|
||||
case "T":
|
||||
retorno = "Traslado";
|
||||
break;
|
||||
case "N":
|
||||
retorno = "Nómina";
|
||||
break;
|
||||
|
||||
default:
|
||||
retorno = TipoDeComprobante;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (Version == "3.2")
|
||||
{
|
||||
switch (TipoDeComprobante)
|
||||
{
|
||||
case "ingreso":
|
||||
retorno = "Ing";
|
||||
break;
|
||||
case "egreso":
|
||||
retorno = "Egs";
|
||||
break;
|
||||
case "P":
|
||||
retorno = "PA";
|
||||
break;
|
||||
//case "T":
|
||||
// retorno = "Traslado";
|
||||
// break;
|
||||
//case "N":
|
||||
// retorno = "Nómina";
|
||||
// break;
|
||||
|
||||
default:
|
||||
retorno = TipoDeComprobante;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else { retorno = TipoDeComprobante; }
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string FormaPago { get; set; }
|
||||
|
||||
public string FormaPagoTexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
|
||||
switch (FormaPago)
|
||||
{
|
||||
case "01": retorno = "Efectivo"; break;
|
||||
case "02": retorno = "Cheque nominativo"; break;
|
||||
case "03": retorno = "Transferencia electrónica de fondos"; break;
|
||||
case "04": retorno = "Tarjeta de crédito"; break;
|
||||
case "05": retorno = "Monedero electrónico"; break;
|
||||
case "06": retorno = "Dinero electrónico"; break;
|
||||
case "08": retorno = "Vales de despensa"; break;
|
||||
case "12": retorno = "Dación en pago"; break;
|
||||
case "13": retorno = "Pago por subrogación"; break;
|
||||
case "14": retorno = "Pago por consignación"; break;
|
||||
case "15": retorno = "Condonación"; break;
|
||||
case "17": retorno = "Compensación"; break;
|
||||
case "23": retorno = "Novación"; break;
|
||||
case "24": retorno = "Confusión"; break;
|
||||
case "25": retorno = "Remisión de deuda"; break;
|
||||
case "26": retorno = "Prescripción o caducidad"; break;
|
||||
case "27": retorno = "A satisfacción del acreedor"; break;
|
||||
case "28": retorno = "Tarjeta de débito"; break;
|
||||
case "29": retorno = "Tarjeta de servicios"; break;
|
||||
case "30": retorno = "Aplicación de anticipos"; break;
|
||||
case "31": retorno = "Intermediario pagos"; break;
|
||||
case "99": retorno = "Por definir"; break;
|
||||
default: retorno = FormaPago; break;
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string MetodoPago { get; set; }
|
||||
public string MetodoPagoTexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
|
||||
switch (MetodoPago)
|
||||
{
|
||||
case "PUE": retorno = "Pago en una sola exhibición"; break;
|
||||
case "PPD": retorno = "Pago en parcialidades o diferido"; break;
|
||||
default: retorno = MetodoPago; break;
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string CondicionesDePago { get; set; }
|
||||
public string LugarExpedicion { get; set; }
|
||||
public string Confirmacion { get; set; }
|
||||
public string NoCertificado { get; set; }
|
||||
public string Sello { get; set; }
|
||||
public string Certificado { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class CFDIConcepto
|
||||
{
|
||||
public CFDIConcepto()
|
||||
{
|
||||
Impuestos = new List<CFDIConceptoImpuesto>();
|
||||
}
|
||||
public string ClaveProdServ { get; set; }
|
||||
public string NoIdentificacion { get; set; }
|
||||
public string Cantidad { get; set; }
|
||||
public string ClaveUnidad { get; set; }
|
||||
public string Unidad { get; set; }
|
||||
public decimal ValorUnitario { get; set; }
|
||||
public decimal Importe { get; set; }
|
||||
public decimal Descuento { get; set; }
|
||||
public string NumeroPedimento { get; set; }
|
||||
public string CuentaPredial { get; set; }
|
||||
public string Descripcion { get; set; }
|
||||
public List<CFDIConceptoImpuesto> Impuestos { get; set; }
|
||||
}
|
||||
|
||||
public class CFDIConcepto_I
|
||||
{
|
||||
public int tipo { get; set; }
|
||||
public int orden { get; set; }
|
||||
public string ClaveProdServ { get; set; }
|
||||
public string NoIdentificacion { get; set; }
|
||||
public string Cantidad { get; set; }
|
||||
public string ClaveUnidad { get; set; }
|
||||
public string Unidad { get; set; }
|
||||
public decimal ValorUnitario { get; set; }
|
||||
public decimal Importe { get; set; }
|
||||
public decimal Descuento { get; set; }
|
||||
public string NumeroPedimento { get; set; }
|
||||
public string CuentaPredial { get; set; }
|
||||
public string Descripcion { get; set; }
|
||||
|
||||
|
||||
public string Impuesto { get; set; }
|
||||
|
||||
public string Impuesto_Tipo { get; set; }
|
||||
public decimal Impuesto_Base { get; set; }
|
||||
public string Impuesto_TipoFactor { get; set; }
|
||||
public string Impuesto_TasaOCuota { get; set; }
|
||||
public decimal Impuesto_Importe { get; set; }
|
||||
}
|
||||
|
||||
public class CFDIConceptoImpuesto
|
||||
{
|
||||
public string Impuesto { get; set; }
|
||||
public string ImpuestoTexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
|
||||
switch (Impuesto)
|
||||
{
|
||||
case "001": retorno = "ISR"; break;
|
||||
case "002": retorno = "IVA"; break;
|
||||
case "003": retorno = "IEPS"; break;
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string Tipo { get; set; }
|
||||
public decimal Base { get; set; }
|
||||
public string TipoFactor { get; set; }
|
||||
public string TasaOCuota { get; set; }
|
||||
public decimal Importe { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class CFDIEmisor
|
||||
{
|
||||
public string RegimenFiscal { get; set; }
|
||||
|
||||
public string RegimenFiscalTexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
|
||||
switch (RegimenFiscal)
|
||||
{
|
||||
case "601": retorno = "General de Ley Personas Morales"; break;
|
||||
case "603": retorno = "Personas Morales con Fines no Lucrativos"; break;
|
||||
case "605": retorno = "Sueldos y Salarios e Ingresos Asimilados a Salarios"; break;
|
||||
case "606": retorno = "Arrendamiento"; break;
|
||||
case "608": retorno = "Demás ingresos"; break;
|
||||
case "609": retorno = "Consolidación"; break;
|
||||
case "610": retorno = "Residentes en el Extranjero sin Establecimiento Permanente en México"; break;
|
||||
case "611": retorno = "Ingresos por Dividendos (socios y accionistas)"; break;
|
||||
case "612": retorno = "Personas Físicas con Actividades Empresariales y Profesionales"; break;
|
||||
case "614": retorno = "Ingresos por intereses"; break;
|
||||
case "616": retorno = "Sin obligaciones fiscales"; break;
|
||||
case "620": retorno = "Sociedades Cooperativas de Producción que optan por diferir sus ingresos"; break;
|
||||
case "621": retorno = "Incorporación Fiscal"; break;
|
||||
case "622": retorno = "Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras"; break;
|
||||
case "623": retorno = "Opcional para Grupos de Sociedades"; break;
|
||||
case "624": retorno = "Coordinados"; break;
|
||||
case "628": retorno = "Hidrocarburos"; break;
|
||||
case "607": retorno = "Régimen de Enajenación o Adquisición de Bienes"; break;
|
||||
case "629": retorno = "De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales"; break;
|
||||
case "630": retorno = "Enajenación de acciones en bolsa de valores"; break;
|
||||
case "615": retorno = "Régimen de los ingresos por obtención de premios"; break;
|
||||
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string Nombre { get; set; }
|
||||
public string Rfc { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class CFDIImpuesto
|
||||
{
|
||||
public string Tipo { get; set; }
|
||||
public string Impuesto { get; set; }
|
||||
public string ImpuestoTexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "";
|
||||
|
||||
switch (Impuesto)
|
||||
{
|
||||
case "001": retorno = "ISR"; break;
|
||||
case "002": retorno = "IVA"; break;
|
||||
case "003": retorno = "IEPS"; break;
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string TipoFactor { get; set; }
|
||||
public string TasaOCuota { get; set; }
|
||||
public decimal Importe { get; set; }
|
||||
}
|
||||
|
||||
public class CFDIPago
|
||||
{
|
||||
public CFDIPago()
|
||||
{
|
||||
doctosRelacionados = new List<CFDIPagoDoctoRelacionado>();
|
||||
}
|
||||
public string FechaPago { get; set; }
|
||||
public string FormaDePagoP { get; set; }
|
||||
public string FormaDePagoPText { get; set; }
|
||||
public string MonedaP { get; set; }
|
||||
public decimal Monto { get; set; }
|
||||
public decimal TipoCambioP { get; set; }
|
||||
public string NumOperacion { get; set; }
|
||||
public string NomBancoOrdExt { get; set; }
|
||||
public string RfcEmisorCtaOrd { get; set; }
|
||||
public string CtaOrdenante { get; set; }
|
||||
public string RfcEmisorCtaBen { get; set; }
|
||||
public string CtaBeneficiario { get; set; }
|
||||
public List<CFDIPagoDoctoRelacionado> doctosRelacionados { get; set; }
|
||||
}
|
||||
|
||||
public class CFDIPagoDoctoRelacionado
|
||||
{
|
||||
public string IdDocumento { get; set; }
|
||||
public string Serie { get; set; }
|
||||
public string Folio { get; set; }
|
||||
public string MonedaDR { get; set; }
|
||||
public string MetodoDePagoDR { get; set; }
|
||||
public string NumParcialidad { get; set; }
|
||||
public decimal ImpSaldoAnt { get; set; }
|
||||
public decimal ImpPagado { get; set; }
|
||||
public decimal ImpSaldoInsoluto { get; set; }
|
||||
}
|
||||
|
||||
public class CFDIReceptor
|
||||
{
|
||||
public string Rfc { get; set; }
|
||||
public string Nombre { get; set; }
|
||||
public string ResidenciaFiscal { get; set; }
|
||||
public string NumRegIdTrib { get; set; }
|
||||
public string UsoCFDI { get; set; }
|
||||
public string UsoCFDITexto
|
||||
{
|
||||
get
|
||||
{
|
||||
string retorno = "N/A";
|
||||
|
||||
switch (UsoCFDI)
|
||||
{
|
||||
case "G01":
|
||||
retorno = "Adquisición de mercancías";
|
||||
break;
|
||||
case "G02":
|
||||
retorno = "Devoluciones, descuentos o bonificaciones";
|
||||
break;
|
||||
case "G03":
|
||||
retorno = "Gastos en general";
|
||||
break;
|
||||
case "I01":
|
||||
retorno = "Construcciones";
|
||||
break;
|
||||
case "I02":
|
||||
retorno = "Mobiliario y equipo de oficina por inversiones";
|
||||
break;
|
||||
case "I03":
|
||||
retorno = "Equipo de transporte";
|
||||
break;
|
||||
case "I04":
|
||||
retorno = "Equipo de cómputo y accesorios";
|
||||
break;
|
||||
case "I05":
|
||||
retorno = "Dados, troqueles, moldes, matrices y herramental";
|
||||
break;
|
||||
case "I06":
|
||||
retorno = "Comunicaciones telefónicas";
|
||||
break;
|
||||
case "I07":
|
||||
retorno = "Comunicaciones satelitales";
|
||||
break;
|
||||
case "I08":
|
||||
retorno = "Otra maquinaria y equipo";
|
||||
break;
|
||||
case "D01":
|
||||
retorno = "Honorarios médicos, dentales y gastos hospitalarios.";
|
||||
break;
|
||||
case "D02":
|
||||
retorno = "Gastos médicos por incapacidad o discapacidad";
|
||||
break;
|
||||
case "D03":
|
||||
retorno = "Gastos funerales.";
|
||||
break;
|
||||
case "D04":
|
||||
retorno = "Donativos.";
|
||||
break;
|
||||
case "D05":
|
||||
retorno = "Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación).";
|
||||
break;
|
||||
case "D06":
|
||||
retorno = "Aportaciones voluntarias al SAR.";
|
||||
break;
|
||||
case "D07":
|
||||
retorno = "Primas por seguros de gastos médicos.";
|
||||
break;
|
||||
case "D08":
|
||||
retorno = "Gastos de transportación escolar obligatoria.";
|
||||
break;
|
||||
case "D09":
|
||||
retorno = "Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones.";
|
||||
break;
|
||||
case "D10":
|
||||
retorno = "Pagos por servicios educativos (colegiaturas)";
|
||||
break;
|
||||
case "P01":
|
||||
retorno = "Por definir";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class CFDIRelacionado
|
||||
{
|
||||
public string TipoRelacion { get; set; }
|
||||
public string TipoRelacionTexto
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
string retorno;
|
||||
|
||||
switch (TipoRelacion)
|
||||
{
|
||||
case "01": retorno = "Nota de crédito de los documentos relacionados"; break;
|
||||
case "02": retorno = "Nota de débito de los documentos relacionados"; break;
|
||||
case "03": retorno = "Devolución de mercancía sobre facturas o traslados previos"; break;
|
||||
case "04": retorno = "Sustitución de los CFDI previos"; break;
|
||||
case "05": retorno = "Traslados de mercancias facturados previamente"; break;
|
||||
case "06": retorno = "Factura generada por los traslados previos"; break;
|
||||
case "07": retorno = "CFDI por aplicación de anticipo"; break;
|
||||
default:
|
||||
retorno = "Por definir";
|
||||
break;
|
||||
}
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
public string UUID { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -105,10 +105,12 @@ Partial Class Ventas_RepTopClientesVentas
|
||||
End Sub
|
||||
|
||||
Private Sub CambioGrafica()
|
||||
Dim DtClientesAux As New DataTable
|
||||
DtClientesAux = DtClientes.FiltraParametros("CveCliente > 0")
|
||||
Dim Dt As New DataTable()
|
||||
Dt.Columns.Add("Cliente")
|
||||
Dt.Columns.Add("Importe")
|
||||
For Each Dr As DataRow In DtClientes.Rows
|
||||
For Each Dr As DataRow In DtClientesAux.Rows
|
||||
Dim Row As DataRow = Nothing
|
||||
Row = Dt.NewRow()
|
||||
Row("Cliente") = Dr("NombreComercial").ToString
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
<package id="Microsoft.AspNet.SignalR.JS" version="2.4.1" targetFramework="net45" />
|
||||
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.4.1" targetFramework="net45" />
|
||||
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net4" />
|
||||
<package id="Microsoft.AspNet.WebApi" version="5.2.4" targetFramework="net45" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.4" targetFramework="net45" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.4" targetFramework="net45" />
|
||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net45" />
|
||||
<package id="Microsoft.Bcl" version="1.1.9" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
|
||||
|
||||
@@ -48,10 +48,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user