This commit is contained in:
2021-05-03 14:47:08 -07:00
37 changed files with 24472 additions and 7848 deletions

View File

@@ -96,13 +96,15 @@
</tr><tr> <td>Crédito al Salario</td>
<td>
<asp:TextBox ID="TxtCredSalario" runat="server" Width="75px"></asp:TextBox></td></tr></table>
<asp:TextBox ID="TxtCredSalario" runat="server" Width="75px"></asp:TextBox></td>
</tr></table>
</asp:Panel>
<asp:Panel ID="PnlFiniquito" runat="server" Visible="false">
<table>
<asp:Panel ID="PnlFiniquito" runat="server" Visible="true">
<table border="0" id="TbIEPersonal" runat="server" Visible="false" >
<tr><td>Personal:</td><td><asp:DropDownList CssClass="select2me" ID="DdlNominaPersonal" DataTextField="Nombre" DataValueField="CvePersonal" runat="server" Width="200px"> </asp:DropDownList></td></tr>
</table>
<table border="0" id="TbIE" runat="server" visible="false">
<table border="0" id="TbIE" runat="server" visible="true">
<tr><td>Movimiento:</td><td><asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardar" Width="250px"></asp:DropDownList></td></tr>
<tr><td>Cuenta Bancaria:</td><td><asp:DropDownList ID="DdlCuenta" CssClass="form-control input-sm select2me" Width="250px" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" ValidationGroup="GrpGuardar"></asp:DropDownList></td></tr>
<tr><td>Folio:</td><td><asp:TextBox ID="TxtFolio" runat="server" MaxLength="14" class="form-control input-sm" Width="70px"></asp:TextBox></td></tr>

View File

@@ -51,6 +51,7 @@ Partial Class AC_RegNomina
CargaPresupuestos()
CargaMeta()
CargaCombosIE()
TxtImporte.Enabled = False
CreaDTDetalles()
BtnAgregar.Enabled = False
@@ -232,6 +233,10 @@ Partial Class AC_RegNomina
Dim total As Double = LbTotal.Text.ToDouble
LbTotal.Text = (total + dr("Importe").ToString.ToDouble).ToString.FormatoNumero
If RBLPago.selectedvalue = "1" Then
txttotal.text = LbTotal.Text.todecimal.FormatoNumero
End If
CboMeta.SelectedIndex = -1
CboUnidadAdministrativa.Items.Clear()
CboFuenteFinanciamiento.Items.Clear()
@@ -241,6 +246,8 @@ Partial Class AC_RegNomina
TxtImporte.Text = ""
TxtImporte.Enabled = False
BtnAgregar.Enabled = False
Else
Alert("El importe supera el capital disponible. Por favor de revisar y modificar", TipoMensaje.MsgAdvertencia)
End If
@@ -270,6 +277,9 @@ Partial Class AC_RegNomina
ChkDevengar.Checked = True : ChkEjercer.Checked = True : ChkPagar.Checked = True
ChkEjercer.Enabled = True : ChkPagar.Enabled = True
tbGeneral.Visible = True
TbIEPersonal.visible = False
PnlFiniquito.visible = True
CargaCombosIE()
Case "2"
PnlNomina.Visible = False : PnlFiniquito.Visible = True
ChkEjercer.Checked = False : ChkEjercer.Enabled = False
@@ -278,7 +288,7 @@ Partial Class AC_RegNomina
ChkDevengar.Checked = True
trGasto.Visible = True
tbGeneral.Visible = True
TbIEPersonal.visible = True
DdlNominaPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("IdCtaContPersonal > 0")
DdlNominaPersonal.DataBind()
TbIE.Visible = False
@@ -287,19 +297,7 @@ Partial Class AC_RegNomina
ChkDevengar.Checked = True : ChkEjercer.Checked = True : ChkPagar.Checked = True
trGasto.Visible = False
tbGeneral.Visible = False
DdlTipoTransaccion.Items.Clear()
DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros(String.Format("Tipo = '{0}'", If(RBLPago.SelectedValue = "3", "Ing", "Egs")))
DdlTipoTransaccion.DataBind()
DdlNominaPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("IdCtaContPersonal > 0")
DdlNominaPersonal.DataBind()
DdlCuenta.Items.Clear()
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("CveTipoCuenta <> 1") ' quito las cajas chicas
DdlCuenta.DataSource = dt
DdlCuenta.DataBind()
TbIE.Visible = True
CargaCombosIE()
If RBLPago.SelectedValue = "4" Then
trGasto.Visible = True
@@ -311,6 +309,23 @@ Partial Class AC_RegNomina
End Sub
Public Sub CargaCombosIE()
DdlTipoTransaccion.Items.Clear()
DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros(String.Format("Tipo = '{0}' and Estatus = 1", If(RBLPago.SelectedValue = "3", "Ing", "Egs")))
DdlTipoTransaccion.DataBind()
DdlNominaPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("IdCtaContPersonal > 0")
DdlNominaPersonal.DataBind()
DdlNominaPersonal.items.insert(0, New listitem("-", "-1"))
DdlCuenta.Items.Clear()
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("CveTipoCuenta <> 1") ' quito las cajas chicas
DdlCuenta.DataSource = dt
DdlCuenta.DataBind()
TbIE.Visible = True
End Sub
Protected Sub DdlTipoTransaccion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccion.SelectedIndexChanged
'Dim valor As Integer = DirectCast(sender, DropDownList).SelectedValue.ToEntero
'Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", DdlTipoTransaccion.SelectedValue)) 'Egs o Ing
@@ -351,6 +366,8 @@ Partial Class AC_RegNomina
Dim Total As Decimal = DtDetalle.SUMD("Importe")
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim Concepto As String = TxtConcepto.Text.Trim
Dim GeneraIE As Boolean = False
Dim IdCtaISPT As Integer = 640
Dim IdCtaCreditoSalario As Integer = 635
@@ -379,10 +396,15 @@ Partial Class AC_RegNomina
If dr IsNot Nothing Then
IdCtaPersonal = dr("IdCtaContPersonal").ToString.ToEntero
End If
Else
If Seleccion = "1" Then
CtaPuente = 0
GeneraIE = True
End If
End If
If Seleccion.Contiene("3", "4") Then
If Seleccion.Contiene("1", "3", "4") Then
Dim dr As DataRow
dr = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCuenta={0}", DdlCuenta.SelectedValue))
@@ -440,57 +462,57 @@ Partial Class AC_RegNomina
If TieneError Then MensajeError = "Error Tipo 1"
If Seleccion.Contiene("1", "2", "3") Then
'If Seleccion.Contiene("1", "2", "3") Then
Total = DtDetalle.SUMD("Importe")
If Seleccion = "3" Then Total = TxtTotal.Text.ToDecimal
Dim objACPI As New ClsAC()
' Total = DtDetalle.SUMD("Importe")
' If Seleccion = "3" Then Total = TxtTotal.Text.ToDecimal
' Dim objACPI As New ClsAC()
If objACPI.GetPresupuestoIngresos(CvePresupuestoIngreso, UsuarioActual.Empresa.EjercicioActual, True, UsuarioActual.CveEmpresa) Then
If objACPI.DtResultados.Rows.Count > 0 Then
drt = objACPI.DtResultados.Rows(0)
' If objACPI.GetPresupuestoIngresos(CvePresupuestoIngreso, UsuarioActual.Empresa.EjercicioActual, True, UsuarioActual.CveEmpresa) Then
' If objACPI.DtResultados.Rows.Count > 0 Then
' drt = objACPI.DtResultados.Rows(0)
If RBLPago.SelectedValue.Contiene("1", "2") Then
' If RBLPago.SelectedValue.Contiene("1", "2") Then
'se debe de registrar el ingreso
'DEVENGO EL INGRESO
If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaPorEjecutar").ToString.ToEntero, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' 'se debe de registrar el ingreso
' 'DEVENGO EL INGRESO
' If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaPorEjecutar").ToString.ToEntero, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
'CARGO la deuda del cliente
'If Not objAC.AddMovimiento(IDPoliza, CtaCliente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
'abono,
' 'CARGO la deuda del cliente
' 'If Not objAC.AddMovimiento(IDPoliza, CtaCliente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' 'abono,
If Not objAC.AddMovimiento(IDPoliza, CtaCliente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' If Not objAC.AddMovimiento(IDPoliza, CtaCliente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaMatriz").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaMatriz").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
End If
If RBLPago.SelectedValue.Contiene("1", "3") Then
'RECAUDO EL INGRESO
If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' End If
' If RBLPago.SelectedValue.Contiene("1", "3") Then
' 'RECAUDO EL INGRESO
' If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaRecaudado").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaRecaudado").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
If Seleccion = "1" AndAlso Not objAC.AddMovimiento(IDPoliza, CtaPuente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' If Seleccion = "1" AndAlso Not objAC.AddMovimiento(IDPoliza, CtaPuente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
If Not objAC.AddMovimiento(IDPoliza, CtaCliente, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
' If Not objAC.AddMovimiento(IDPoliza, CtaCliente, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True
End If
' End If
Else
TieneError = True
End If
Else
TieneError = True
End If
' Else
' TieneError = True
' End If
' Else
' TieneError = True
' End If
objACPI.Dispose()
' objACPI.Dispose()
End If
'End If
If IdCtaPersonal > 0 Then
@@ -499,52 +521,54 @@ Partial Class AC_RegNomina
'cuando es el pago a personal, se carga, los demas casos se abona
If Seleccion.Contiene("1", "2", "4") Then If Not objAC.AddMovimiento(IDPoliza, IdCtaPersonal, If(Seleccion = "4", False, True), Importe, "", Concepto, 0, Fecha, "") Then TieneError = True
CtaPuente = 0 ' para que no se inserte mas abajo
GeneraIE = True
End If
If Seleccion.Contiene("3", "4") Then
'registro un IE
ObjIE = New ClsBancos
ObjIE.IniciaTransacSQL()
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim CvePrePoliza = ObjMov.AddPrePolizas("Banc", 2, Importe, Importe, 1, Fecha, TxtConcepto.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim Obs As String = TxtConcepto.Text
Dim Folio As String
If Seleccion.Contiene("1", "3", "4") AndAlso GeneraIE Then
'registro un IE
ObjIE = New ClsBancos
ObjIE.IniciaTransacSQL()
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim CvePrePoliza = ObjMov.AddPrePolizas("Banc/RegNomina", 2, Importe, Importe, 1, Fecha, TxtConcepto.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim Obs As String = TxtConcepto.Text
Dim Folio As String
Folio = TxtFolio.Text.Trim
Dim CveConceptoCargo As Integer = 30
Dim CveConceptoAbono As Integer = 28
Total = TxtTotal.Text.ToDecimal
Folio = TxtFolio.Text.Trim
Dim CveConceptoCargo As Integer = 30
Dim CveConceptoAbono As Integer = 28
Total = TxtTotal.Text.ToDecimal
If Seleccion = "4" Then Total = DtDetalle.SUMD("Importe")
If Seleccion = "4" Then Total = DtDetalle.SUMD("Importe")
'cuando saco el egreso invierto los concepto
If Seleccion = "3" Then
CveConceptoCargo = 29
CveConceptoAbono = 30
End If
'cuando saco el egreso invierto los concepto
If Seleccion = "3" Then
CveConceptoCargo = 29
CveConceptoAbono = 30
ElseIf Seleccion = "1" Then
CveConceptoCargo = 95
CveConceptoAbono = 30
Obs = "NOMINA PAGADA"
End If
'lo envia como transferencia recibida
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, Folio, Obs, Total, 1, 1.0, Obs, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveIE > 0 Then
If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Total, "", CveConceptoCargo, Obs, Fecha, 0, -1, CveIE, CvePersonal:=DdlNominaPersonal.SelectedValue.ToEntero, ImporteMX:=Total) Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Total, "", CveConceptoAbono, Obs, Fecha, 0, -1, CveIE, CvePersonal:=DdlNominaPersonal.SelectedValue.ToEntero, ImporteMX:=Total) Then
MsgError = "no se pudo insertar el detalle de la póliza 2"
End If
Else
MsgError = "no se pudo insertar el detalle de la póliza"
If CveIE > 0 Then
If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Total, "", CveConceptoCargo, Obs, Fecha, 0, -1, CveIE, CvePersonal:=DdlNominaPersonal.SelectedValue.ToEntero, ImporteMX:=Total) Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Total, "", CveConceptoAbono, Obs, Fecha, 0, -1, CveIE, CvePersonal:=DdlNominaPersonal.SelectedValue.ToEntero, ImporteMX:=Total) Then
MsgError = "no se pudo insertar el detalle de la póliza 2"
End If
ObjIE.UpdateIEPrePoliza(Fecha, objAC.Folio.ToString, IDPoliza, CvePrePoliza, CveIE, -1)
Else
TieneError = True
MsgError = "no se pudo insertar el detalle de la póliza"
End If
'Registra el movimiento total
If Not objAC.AddMovimiento(IDPoliza, IdCtaBancaria, If(Seleccion = "3", False, True), Total, "", Concepto, 0, Fecha, "") Then TieneError = True
ObjIE.UpdateIEPrePoliza(Fecha, objAC.Folio.ToString, IDPoliza, CvePrePoliza, CveIE, -1)
Else
TieneError = True
End If
'Registra el movimiento total
If Not objAC.AddMovimiento(IDPoliza, IdCtaBancaria, If(Seleccion = "3", False, True), Total, "", Concepto, 0, Fecha, "") Then TieneError = True
End If
@@ -566,7 +590,6 @@ Partial Class AC_RegNomina
Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble
If Importe <> 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaDevolucionISPT, If(Importe > 0, False, True), Math.Abs(Importe), "", Concepto, 0, Fecha, "") Then TieneError = True
Else
TieneError = True
End If

View File

@@ -7307,7 +7307,7 @@ Public Class ClsContPAQi
.Add("@Periodo", SqlDbType.Int).Value = Periodo
.Add("@TipoPoliza", SqlDbType.Int).Value = TipoPoliza
.Add("@SegmentoNegocio", SqlDbType.Int).Value = SegmentoNegocio
.Add("@CveEmpresa", SqlDbType.Int).Value = SegmentoNegocio
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try

View File

@@ -171,6 +171,23 @@ Public Class ClsNominas
#End Region
#Region "ClsNominas_Nominas"
Public Function RemoveFiniquito(CvePersonal As Integer, cveEmpresa As Integer, CvePersonalAltas As Integer) As Boolean
Dim retorno As Boolean = False
DTSet = New DataSet()
DataAdapter("PA_Nom_RemoveFiniquito", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa
.Add("@CvePersonalAltas", SqlDbType.Int).Value = CvePersonalAltas
End With
Try
SqlAdapter.Fill(DTSet)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el finiquito.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function AddComprobantesEmitidos(ByVal cveEmpresa As Integer, ByVal folioFiscal As String, ByVal tipoDocto As String, ByVal importeTotal As Decimal, ByVal estatus As Integer, ByVal fecha As String, ByVal moneda As String, ByVal rFCReceptor As String, ByVal rutaXml As String, ByVal rFCEmisor As String, ByVal serie As String, ByVal folio As String) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Vta_Sat_ComprobantesAdd", CommandType.StoredProcedure)

View File

@@ -6151,7 +6151,8 @@ Public Class ClsPaginas
params.Add(New CrystalParametro("ClienteTelefono", Vta.ClienteSucursal.TelefonoSucursal))
Else
params.Add(New CrystalParametro("ClienteContactoMail", Vta.Cliente.MailCotizacion))
params.Add(New CrystalParametro("ClienteTelefono", If(Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso Vta.Cliente.RFC = "XAXX010101000", Vta.TelefonoGenerico, Vta.Cliente.Telefono)))
params.Add(New CrystalParametro("ClienteTelefono", If(Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso Vta.Cliente.Telefono.Length > 6, Vta.TelefonoGenerico, Vta.Cliente.Telefono)))
End If
If UsuarioActual.CveEmpresa.Contiene(17) Then

View File

@@ -31,7 +31,7 @@
<asp:HyperLink ID="HLModalActualizarTC" NavigateUrl="#" runat="server" Visible="false" data-toggle="modal" data-target="#ModalActualizarTC" Style="color: #686868;"><i class="fa fa-usd" style="color:#686868;"></i> Actualizar Tipo Cambio</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HpLPrePoliza" NavigateUrl="#" runat="server" Visible="false" Style="color: #686868;"><i class="fa fa-usd" style="color:#686868;"></i> PrePoliza</asp:HyperLink>
<asp:HyperLink ID="HpLPrePoliza" NavigateUrl="#" runat="server" Visible="false" Style="color: #686868;"><i class="" style="color:#686868;"></i> PrePoliza</asp:HyperLink>
</li>
<%-- <li>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -231,7 +231,10 @@
Decodes the payload and signature from the JWE parts.
</summary>
<param name="tokenParts">Parts of the JWE including the header.</param>
<remarks>Assumes Header has already been set.</remarks>
<remarks>
Assumes Header has already been set.
According to the JWE documentation (https://tools.ietf.org/html/rfc7516#section-2), it is possible for the EncryptedKey, InitializationVector, and AuthenticationTag to be empty strings.
</remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.DecodeJws(System.String[])">
<summary>
@@ -240,17 +243,41 @@
<param name="tokenParts">Parts of the JWS including the header.</param>
<remarks>Assumes Header has already been set.</remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetClaim(System.String)">
<summary>
Gets a <see cref="T:System.Security.Claims.Claim"/> representing the { key, 'value' } pair corresponding to the provided <paramref name="key"/>.
</summary>
<remarks>If the key has no corresponding value, this method will throw.</remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetPayloadValue``1(System.String)">
<summary>
Gets the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns null. </remarks>
<remarks>If the key has no corresponding value, this method will throw. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetClaim(System.String,System.Security.Claims.Claim@)">
<summary>
Tries to get the <see cref="T:System.Security.Claims.Claim"/> representing the { key, 'value' } pair corresponding to the provided <paramref name="key"/>.
</summary>
<remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetPayloadValue``1(System.String,``0@)">
<summary>
Tries to get the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetHeaderValue``1(System.String)">
<summary>
Gets the 'value' corresponding to the provided key from the JWT header { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns null. </remarks>
<remarks>If the key has no corresponding value, this method will throw. </remarks>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetHeaderValue``1(System.String,``0@)">
<summary>
Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }.
</summary>
<remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler">
<summary>
@@ -258,6 +285,13 @@
See: http://tools.ietf.org/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515.
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.Base64UrlEncodedUnsignedJWSHeader">
<summary>
Gets the Base64Url encoded string representation of the following JWT header:
{ <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.Tokens.SecurityAlgorithms.None"/> }.
</summary>
<return>The Base64Url encoded string representation of the unsigned JWT header.</return>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.TokenType">
<summary>
Gets the type of the <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
@@ -287,14 +321,64 @@
</summary>
<returns>'true', indicating this instance can validate a <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String)">
<summary>
Creates an unsigned JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates an unsigned JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials)">
<summary>
Creates a JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWS.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWS (Json Web Signature).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWS.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid"/>
<see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc"/>, and/or <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip"/>
are present inside of <paramref name="additionalHeaderClaims"/>.</exception>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor)">
<summary>
Creates a JWS(Json Web Signature).
</summary>
<param name="tokenDescriptor">A <see cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor"/> that contains details of contents of the token.</param>
<returns>A JWS in Compact Serialization Format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
<summary>
Creates a JWE (Json Web Encryption).
@@ -302,6 +386,35 @@
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid"/>
<see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc"/>, and/or <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip"/>
are present inside of <paramref name="additionalHeaderClaims"/>.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
@@ -312,6 +425,29 @@
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="compressionAlgorithm"/> is null.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWE (Json Web Encryption).
</summary>
<param name="payload">A string containing JSON which represents the JWT token payload.</param>
<param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
<param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="payload"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="signingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="compressionAlgorithm"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid"/>
<see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t"/>, <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc"/>, and/or <see cref="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip"/>
are present inside of <paramref name="additionalHeaderClaims"/>.</exception>
<returns>A JWE in compact serialization format.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CompressToken(System.String,System.String)">
@@ -319,22 +455,19 @@
Compress a JWT token string.
</summary>
<param name="token"></param>
<param name="algorithm"></param>
<exception cref="T:System.ArgumentNullException">if 'token' is null.</exception>
<exception cref="T:System.ArgumentNullException">if 'algorithm' is null.</exception>
<param name="compressionAlgorithm"></param>
<exception cref="T:System.ArgumentNullException">if <paramref name="token"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="compressionAlgorithm"/> is null.</exception>
<exception cref="T:System.NotSupportedException">if the compression algorithm is not supported.</exception>
<returns>Compressed JWT token bytes.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.DecompressToken(System.Byte[],System.String)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateClaimsIdentity(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Decompress JWT token bytes.
Creates a <see cref="T:System.Security.Claims.ClaimsIdentity"/> from a <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
</summary>
<param name="tokenBytes"></param>
<param name="algorithm"></param>
<exception cref="T:System.ArgumentNullException">if 'tokenBytes' is null.</exception>
<exception cref="T:System.ArgumentNullException">if 'algorithm' is null.</exception>
<exception cref="T:System.NotSupportedException">if the decompression algorithm is not supported.</exception>
<returns>Decompressed JWT token</returns>
<param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> to use as a <see cref="T:System.Security.Claims.Claim"/> source.</param>
<param name="validationParameters"> Contains parameters for validating the token.</param>
<returns>A <see cref="T:System.Security.Claims.ClaimsIdentity"/> containing the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Claims"/>.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.DecryptToken(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
@@ -343,21 +476,78 @@
<param name="jwtToken">the JWE that contains the cypher text.</param>
<param name="validationParameters">contains crypto material.</param>
<returns>the decoded / cleartext contents of the JWE.</returns>
<exception cref="T:System.ArgumentNullException">if 'jwtToken' is null.</exception>
<exception cref="T:System.ArgumentNullException">if 'validationParameters' is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if 'jwtToken.Enc' is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="jwtToken"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="validationParameters"/> is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if '<paramref name="jwtToken"/> .Enc' is null or empty.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecompressionFailedException">if decompression failed.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionKeyNotFoundException">if 'jwtToken.Kid' is not null AND decryption fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionKeyNotFoundException">if '<paramref name="jwtToken"/> .Kid' is not null AND decryption fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecryptionFailedException">if the JWE was not able to be decrypted.</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ResolveIssuerSigningKey(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
<summary>
Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use when validating the signature of a token.
Encrypts a JWS.
</summary>
<param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> that is being validated.</param>
<param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/> required for validation.</param>
<returns>Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use for signature validation.</returns>
<remarks>If key fails to resolve, then null is returned</remarks>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Encrypts a JWS.
</summary>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
<summary>
Encrypts a JWS.
</summary>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<param name="algorithm">Defines the compression algorithm that will be used to compress the 'innerJwt'.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null or empty.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenCompressionFailedException">if compression using <paramref name="algorithm"/> fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Encrypts a JWS.
</summary>
<param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
<param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
<param name="algorithm">Defines the compression algorithm that will be used to compress the 'innerJwt'.</param>
<param name="additionalHeaderClaims">Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header.</param>
<exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null or empty.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="additionalHeaderClaims"/> is null or empty.</exception>
<exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenCompressionFailedException">if compression using 'algorithm' fails.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ResolveTokenDecryptionKey(System.String,Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
@@ -395,14 +585,14 @@
</summary>
<param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
<param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/> required for validation.</param>
<returns>A <see cref="T:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult"/></returns>
<returns>A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationResult"/></returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Validates the JWT signature.
</summary>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.SecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Obtains a <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> and validates the signature.
</summary>
@@ -410,6 +600,7 @@
<param name="signature">Signature to compare against.</param>
<param name="key"><See cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use.</param>
<param name="algorithm">Crypto algorithm to use.</param>
<param name="securityToken">The <see cref="T:Microsoft.IdentityModel.Tokens.SecurityToken"/> being validated.</param>
<param name="validationParameters">Priority will be given to <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.CryptoProviderFactory"/> over <see cref="P:Microsoft.IdentityModel.Tokens.SecurityKey.CryptoProviderFactory"/>.</param>
<returns>'true' if signature is valid.</returns>
</member>
@@ -544,7 +735,6 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Actort">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Acr">
@@ -574,12 +764,12 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Birthdate">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.CHash">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.AtHash">
@@ -589,7 +779,7 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Email">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Exp">
@@ -599,17 +789,17 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Gender">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.FamilyName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.GivenName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Iat">
@@ -627,14 +817,18 @@
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Name">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.NameId">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Nonce">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Nbf">
@@ -642,9 +836,18 @@
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.PhoneNumber">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.PhoneNumberVerified">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Prn">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Sid">
@@ -659,17 +862,70 @@
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Typ">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://tools.ietf.org/html/rfc7519#section-5
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.UniqueName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Website">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters">
<summary>
Represents the parameters needed to decrypt a JSON Web Token
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Alg">
<summary>
Gets or sets signature algorithm that was used to create the signature.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.AuthenticationTag">
<summary>
Gets or sets the AuthenticationTag from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Ciphertext">
<summary>
Gets or sets the Ciphertext from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.DecompressionFunction">
<summary>
Gets or sets the function used to attempt decompression with.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Enc">
<summary>
Gets or sets the encryption algorithm (Enc) of the token.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.EncodedHeader">
<summary>
Gets the EncodedHeader from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.EncodedToken">
<summary>
Gets or sets the EncodedHeader from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.InitializationVector">
<summary>
Gets or sets the InitializationVector from the original raw data of this instance when it was created.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Keys">
<summary>
Gets or sets the collection of <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>s to attempt to decrypt with.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters.Zip">
<summary>
Gets or sets the 'value' of the 'zip' claim.
</summary>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities">
@@ -696,6 +952,37 @@
<returns>The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).</returns>
<exception cref="T:System.ArgumentNullException">'input' or 'signingCredentials' is null.</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,System.Boolean)">
<summary>
Produces a signature over the 'input'.
</summary>
<param name="input">String to be signed</param>
<param name="signingCredentials">The <see cref="T:Microsoft.IdentityModel.Tokens.SigningCredentials"/> that contain crypto specs used to sign the token.</param>
<param name="cacheProvider">should the <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> be cached.</param>
<returns>The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).</returns>
<exception cref="T:System.ArgumentNullException">'input' or 'signingCredentials' is null.</exception>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.DecompressToken(System.Byte[],System.String)">
<summary>
Decompress JWT token bytes.
</summary>
<param name="tokenBytes"></param>
<param name="algorithm"></param>
<exception cref="T:System.ArgumentNullException">if <paramref name="tokenBytes"/> is null.</exception>
<exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null.</exception>
<exception cref="T:System.NotSupportedException">if the decompression <paramref name="algorithm"/> is not supported.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecompressionFailedException">if decompression using <paramref name="algorithm"/> fails.</exception>
<returns>Decompressed JWT token</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.DecryptJwtToken(Microsoft.IdentityModel.Tokens.SecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters,Microsoft.IdentityModel.JsonWebTokens.JwtTokenDecryptionParameters)">
<summary>
Decrypts a Json Web Token.
</summary>
<param name="jwtToken">The Json Web Token</param>
<param name="validationParameters">The validation parameters containing cryptographic material.</param>
<param name="decryptionParameters">The decryption parameters container.</param>
<returns>The decrypted, and if the 'zip' claim is set, decompressed string representation of the token.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GenerateKeyBytes(System.Int32)">
<summary>
Generates key bytes.
@@ -706,7 +993,7 @@
Gets all decryption keys.
</summary>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GetDateTime(System.String,Newtonsoft.Json.Linq.JObject)">
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GetDateTime(System.String,Microsoft.IdentityModel.Json.Linq.JObject)">
<summary>
Gets the DateTime using the number of seconds from 1970-01-01T0:0:0Z (UTC)
</summary>
@@ -717,20 +1004,20 @@
<exception cref="T:System.FormatException">If the value of the claim cannot be parsed into a long.</exception>
<returns>The DateTime representation of a claim.</returns>
</member>
<member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.ResolveTokenSigningKey(System.String,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use when validating the signature of a token.
</summary>
<param name="kid">The <see cref="T:System.String"/> kid field of the token being validated</param>
<param name="x5t">The <see cref="T:System.String"/> x5t field of the token being validated</param>
<param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/> required for validation.</param>
<returns>Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use for signature validation.</returns>
<remarks>If key fails to resolve, then null is returned</remarks>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.LogMessages">
<summary>
Log messages and codes
</summary>
</member>
<member name="T:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult">
<summary>
A class which contains the result of a token validation operation.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.SecurityToken">
<summary>
The validated security token.
</summary>
</member>
</members>
</doc>

View File

@@ -151,6 +151,36 @@
Minimum log level to log events. Default is Warning.
</summary>
</member>
<member name="T:Microsoft.IdentityModel.Logging.IdentityModelTelemetryUtil">
<summary>
Provides a way to add and remove telemetry data.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.Logging.IdentityModelTelemetryUtil.ClientSku">
<summary>
Get the string that represents the client SKU.
</summary>
</member>
<member name="P:Microsoft.IdentityModel.Logging.IdentityModelTelemetryUtil.ClientVer">
<summary>
Get the string that represents the client version.
</summary>
</member>
<member name="M:Microsoft.IdentityModel.Logging.IdentityModelTelemetryUtil.AddTelemetryData(System.String,System.String)">
<summary>
Adds a key and its value to the collection of telemetry data.
</summary>
<param name="key"> The name of the telemetry.</param>
<param name="value"> The value of the telemetry.</param>
<returns> true if the key is successfully added; otherwise, false.</returns>
</member>
<member name="M:Microsoft.IdentityModel.Logging.IdentityModelTelemetryUtil.RemoveTelemetryData(System.String)">
<summary>
Removes a key and its value from the collection of telemetry data.
</summary>
<param name="key"> The name of the telemetry.</param>
<returns> true if the key is successfully removed; otherwise, false.</returns>
</member>
<member name="T:Microsoft.IdentityModel.Logging.LogHelper">
<summary>
Helper class for logging.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -201,6 +201,16 @@
<param name="signingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.SigningCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.SigningCredentials,System.Collections.Generic.IDictionary{System.String,System.String},System.String)">
<summary>
Initializes a new instance of <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/>.
With the Header Parameters:
<para>{ { typ, JWT }, { alg, SigningCredentials.Algorithm } }</para>
</summary>
<param name="signingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.SigningCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
<param name="tokenType"> will be added as the value for the 'typ' claim in the header. If it is null or empty <see cref="F:System.IdentityModel.Tokens.Jwt.JwtConstants.HeaderType"/> will be used as token type</param>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.String})">
<summary>
Initializes a new instance of <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/>.
@@ -209,7 +219,18 @@
</summary>
<param name="encryptingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.EncryptingCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
<exception cref="T:System.ArgumentNullException">If 'signingCredentials' is null.</exception>
<exception cref="T:System.ArgumentNullException">If 'encryptingCredentials' is null.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.String},System.String)">
<summary>
Initializes a new instance of <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/>.
With the Header Parameters:
<para>{ { typ, JWT }, { alg, SigningCredentials.Algorithm } }</para>
</summary>
<param name="encryptingCredentials"><see cref="P:System.IdentityModel.Tokens.Jwt.JwtHeader.EncryptingCredentials"/> used when creating a JWS Compact JSON.</param>
<param name="outboundAlgorithmMap">provides a mapping for the 'alg' value so that values are within the JWT namespace.</param>
<param name="tokenType"> provides the token type</param>
<exception cref="T:System.ArgumentNullException">If 'encryptingCredentials' is null.</exception>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtHeader.Alg">
<summary>
@@ -262,6 +283,18 @@
Gets the thumbprint of the certificate used to sign the token
</summary>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtHeader.X5c">
<summary>
Gets the certificate used to sign the token
</summary>
<remarks>If the 'x5c' claim is not found, null is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtHeader.Zip">
<summary>
Gets the 'value' of the 'zip' claim { zip, 'value' }.
</summary>
<remarks>If the 'zip' claim is not found, null is returned.</remarks>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtHeader.Base64UrlDeserialize(System.String)">
<summary>
Deserializes Base64UrlEncoded JSON into a <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> instance.
@@ -388,26 +421,52 @@
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> class with claims added for each parameter specified. Default string comparer <see cref="P:System.StringComparer.Ordinal"/>.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added</param>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="notBefore">If notbefore.HasValue is 'true' a { nbf, 'value' } claim is added.</param>
<param name="expires">If expires.HasValue is 'true' a { exp, 'value' } claim is added.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.</param>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.Security.Claims.Claim},System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> class with claims added for each parameter specified. Default string comparer <see cref="P:System.StringComparer.Ordinal"/>.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added</param>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="notBefore">If notbefore.HasValue is 'true' a { nbf, 'value' } claim is added.</param>
<param name="expires">If expires.HasValue is 'true' a { exp, 'value' } claim is added.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present.</param>
<remarks>Comparison is set to <see cref="P:System.StringComparer.Ordinal"/>
<para>The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precednece over <see cref="T:System.Security.Claims.Claim"/>(s) in 'claims'. The values in 'claims' will be overridden.</para></remarks>
<para>The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over <see cref="T:System.Security.Claims.Claim"/>(s) in 'claims'. The values will be overridden.</para></remarks>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notbefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.Security.Claims.Claim},System.Collections.Generic.IDictionary{System.String,System.Object},System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> class with claims added for each parameter specified. Default string comparer <see cref="P:System.StringComparer.Ordinal"/>.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="claimsCollection">If both <paramref name="claims"/> and <paramref name="claimsCollection"/> are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate
values will be overridden.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present.</param>
<remarks>Comparison is set to <see cref="P:System.StringComparer.Ordinal"/>
<para>The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over <see cref="T:System.Security.Claims.Claim"/>(s) in 'claims' and 'claimcollection'. The values will be overridden.</para></remarks>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notbefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.AddFirstPriorityClaims(System.String,System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
Adds Nbf, Exp, Iat, Iss and Aud claims to payload
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
<param name="issuedAt">If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> instance.</param>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtPayload.Actort">
<summary>
Gets the 'value' of the 'actor' claim { actort, 'value' }.
@@ -504,6 +563,12 @@
</summary>
<remarks>If the 'expiration' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtPayload.IssuedAt">
<summary>
Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
</summary>
<remarks>If the 'issued at' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtPayload.Claims">
<summary>
Gets a <see cref="T:System.Collections.Generic.IEnumerable`1"/><see cref="T:System.Security.Claims.Claim"/> for each JSON { name, value }.
@@ -526,7 +591,14 @@
<param name="claims">For each <see cref="T:System.Security.Claims.Claim"/> a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<remarks>
<para>Any <see cref="T:System.Security.Claims.Claim"/> in the <see cref="T:System.Collections.Generic.IEnumerable`1"/> that is null, will be ignored.</para></remarks>
<exception cref="T:System.ArgumentNullException">'claims' is null.</exception>
<exception cref="T:System.ArgumentNullException"><paramref name="claims"/> is null.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.AddDictionaryClaims(System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Adds claims from dictionary.
</summary>
<param name="claimsCollection"> A dictionary of claims.</param>
<remark> If a key is already present in target dictionary, its value is overridden by the value of the key in claimsCollection.</remark>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtPayload.GetDateTime(System.String)">
<summary>
@@ -577,7 +649,6 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Actort">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Acr">
@@ -607,12 +678,12 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Birthdate">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.CHash">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.AtHash">
@@ -622,7 +693,7 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Email">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Exp">
@@ -632,17 +703,17 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Gender">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.FamilyName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.GivenName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Iat">
@@ -660,14 +731,18 @@
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Name">
<summary>
https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.NameId">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Nonce">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Nbf">
@@ -677,7 +752,6 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Prn">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Sid">
@@ -692,17 +766,15 @@
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Typ">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
http://tools.ietf.org/html/rfc7519#section-5
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.UniqueName">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="F:System.IdentityModel.Tokens.Jwt.JwtRegisteredClaimNames.Website">
<summary>
http://tools.ietf.org/html/rfc7519#section-4
</summary>
</member>
<member name="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken">
@@ -768,11 +840,11 @@
<summary>
Initializes a new instance of the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/> class specifying optional parameters.
</summary>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added</param>
<param name="issuer">If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present.</param>
<param name="audience">If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present.</param>
<param name="claims">If this value is not null then for each <see cref="T:System.Security.Claims.Claim"/> a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List&lt;object&gt; } will be created to contain the duplicate values.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added.</param>
<param name="expires">If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present.</param>
<param name="notBefore">If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present.</param>
<param name="signingCredentials">The <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.SigningCredentials"/> that will be used to sign the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>. See <see cref="M:System.IdentityModel.Tokens.Jwt.JwtHeader.#ctor(Microsoft.IdentityModel.Tokens.SigningCredentials)"/> for details pertaining to the Header Parameter(s).</param>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notbefore'.</exception>
</member>
@@ -826,7 +898,7 @@
<member name="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.Payload">
<summary>
Gets the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> associated with this instance.
Note that if this JWT is nested ( <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.InnerToken"/> != null, this property represnts the payload of the most inner token.
Note that if this JWT is nested ( <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.InnerToken"/> != null, this property represents the payload of the most inner token.
This property can be null if the content type of the most inner token is unrecognized, in that case
the content of the token is the string returned by PlainText property.
</summary>
@@ -937,6 +1009,12 @@
</summary>
<remarks>If the 'expiration' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.IssuedAt">
<summary>
Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
</summary>
<remarks>If the 'issued at' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.ToString">
<summary>
Serializes the <see cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> and <see cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/>
@@ -1139,6 +1217,27 @@
<returns>A Base64UrlEncoded string in 'Compact Serialization Format'.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateEncodedJwt(System.String,System.String,System.Security.Claims.ClaimsIdentity,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a JWT in 'Compact Serialization Format'.
</summary>
<param name="issuer">The issuer of the token.</param>
<param name="audience">The audience for this token.</param>
<param name="subject">The source of the <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<param name="notBefore">Translated into 'epoch time' and assigned to 'nbf'.</param>
<param name="expires">Translated into 'epoch time' and assigned to 'exp'.</param>
<param name="issuedAt">Translated into 'epoch time' and assigned to 'iat'.</param>
<param name="signingCredentials">Contains cryptographic material for signing.</param>
<param name="encryptingCredentials">Contains cryptographic material for encrypting.</param>
<param name="claimCollection">A collection of (key,value) pairs representing <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<remarks>If <see cref="P:System.Security.Claims.ClaimsIdentity.Actor"/> is not null, then a claim { actort, 'value' } will be added to the payload. <see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateActorValue(System.Security.Claims.ClaimsIdentity)"/> for details on how the value is created.
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> for details on how the HeaderParameters are added to the header.</para>
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> for details on how the values are added to the payload.</para>
<para>Each <see cref="T:System.Security.Claims.Claim"/> in the <paramref name="subject"/> will map <see cref="P:System.Security.Claims.Claim.Type"/> by applying <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/>. Modifying <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/> could change the outbound JWT.</para>
</remarks>
<returns>A Base64UrlEncoded string in 'Compact Serialization Format'.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityToken(Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor)">
<summary>
Creates a Json Web Token (JWT).
@@ -1169,6 +1268,30 @@
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityToken(System.String,System.String,System.Security.Claims.ClaimsIdentity,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Creates a <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>
</summary>
<param name="issuer">The issuer of the token.</param>
<param name="audience">The audience for this token.</param>
<param name="subject">The source of the <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<param name="notBefore">The notbefore time for this token.</param>
<param name="expires">The expiration time for this token.</param>
<param name="issuedAt">The issue time for this token.</param>
<param name="signingCredentials">Contains cryptographic material for generating a signature.</param>
<param name="encryptingCredentials">Contains cryptographic material for encrypting the token.</param>
<param name="claimCollection">A collection of (key,value) pairs representing <see cref="T:System.Security.Claims.Claim"/>(s) for this token.</param>
<remarks>If <see cref="P:System.Security.Claims.ClaimsIdentity.Actor"/> is not null, then a claim { actort, 'value' } will be added to the payload. <see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateActorValue(System.Security.Claims.ClaimsIdentity)"/> for details on how the value is created.
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtHeader"/> for details on how the HeaderParameters are added to the header.</para>
<para>See <seealso cref="T:System.IdentityModel.Tokens.Jwt.JwtPayload"/> for details on how the values are added to the payload.</para>
<para>Each <see cref="T:System.Security.Claims.Claim"/> on the <paramref name="subject"/> added will have <see cref="P:System.Security.Claims.Claim.Type"/> translated according to the mapping found in
<see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/>. Adding and removing to <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.OutboundClaimTypeMap"/> will affect the name component of the Json claim.</para>
<para><see cref="M:Microsoft.IdentityModel.Tokens.SigningCredentials.#ctor(Microsoft.IdentityModel.Tokens.SecurityKey,System.String)"/> is used to sign <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.RawData"/>.</para>
<para><see cref="M:Microsoft.IdentityModel.Tokens.EncryptingCredentials.#ctor(Microsoft.IdentityModel.Tokens.SecurityKey,System.String,System.String)"/> is used to encrypt <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.RawData"/> or <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.RawPayload"/> .</para>
</remarks>
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>.</returns>
<exception cref="T:System.ArgumentException">If 'expires' &lt;= 'notBefore'.</exception>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityToken(System.String,System.String,System.Security.Claims.ClaimsIdentity,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Microsoft.IdentityModel.Tokens.SigningCredentials)">
<summary>
Creates a <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/>
@@ -1204,7 +1327,7 @@
<param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/></returns>
<exception cref="T:System.ArgumentNullException">'token' is null or empty.</exception>
<exception cref="T:System.ArgumentException">'token.Length' $gt; <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
<exception cref="T:System.ArgumentException">'token.Length' is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
<exception cref="T:System.ArgumentException"><see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CanReadToken(System.String)"/></exception>
<remarks><para>If the 'token' is in JWE Compact Serialization format, only the protected header will be deserialized.</para>
This method is unable to decrypt the payload. Use <see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters,Microsoft.IdentityModel.Tokens.SecurityToken@)"/>to obtain the payload.</remarks>
@@ -1239,7 +1362,7 @@
<param name="validatedToken">The <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/> that was validated.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="token"/> is null or whitespace.</exception>
<exception cref="T:System.ArgumentNullException"><paramref name="validationParameters"/> is null.</exception>
<exception cref="T:System.ArgumentException"><paramref name="token"/>.Length $gt; MamimumTokenSizeInBytes.</exception>
<exception cref="T:System.ArgumentException"><paramref name="token"/>.Length is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
<exception cref="T:System.ArgumentException"><paramref name="token"/> does not have 3 or 5 parts.</exception>
<exception cref="T:System.ArgumentException"><see cref="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CanReadToken(System.String)"/> returns false.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecryptionFailedException"><paramref name="token"/> was a JWE was not able to be decrypted.</exception>
@@ -1257,7 +1380,7 @@
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenReplayDetectedException"><paramref name="token"/> is found in the cache.</exception>
<returns> A <see cref="T:System.Security.Claims.ClaimsPrincipal"/> from the JWT. Does not include claims found in the JWT header.</returns>
<remarks>
Many of the exceptions listed above are not thrown directly from this method. See <see cref="T:Microsoft.IdentityModel.Tokens.Validators"/> to examin the call graph.
Many of the exceptions listed above are not thrown directly from this method. See <see cref="T:Microsoft.IdentityModel.Tokens.Validators"/> to examine the call graph.
</remarks>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateTokenPayload(System.IdentityModel.Tokens.Jwt.JwtSecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
@@ -1286,7 +1409,7 @@
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.InnerToken"/> is set and <see cref="P:System.IdentityModel.Tokens.Jwt.JwtSecurityToken.EncryptingCredentials"/> is not set.</exception>
<returns>A JWE or JWS in 'Compact Serialization Format'.</returns>
</member>
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<member name="M:System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.SecurityToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
<summary>
Obtains a <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> and validates the signature.
</summary>
@@ -1294,6 +1417,7 @@
<param name="signature">Signature to compare against.</param>
<param name="key"><See cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use.</param>
<param name="algorithm">Crypto algorithm to use.</param>
<param name="securityToken">The <see cref="T:Microsoft.IdentityModel.Tokens.SecurityToken"/> being validated.</param>
<param name="validationParameters">Priority will be given to <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.CryptoProviderFactory"/> over <see cref="P:Microsoft.IdentityModel.Tokens.SecurityKey.CryptoProviderFactory"/>.</param>
<returns>'true' if signature is valid.</returns>
</member>
@@ -1306,8 +1430,14 @@
<exception cref="T:System.ArgumentNullException">If 'jwt' is null or whitespace.</exception>
<exception cref="T:System.ArgumentNullException">If 'validationParameters' is null.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenValidationException">If a signature is not found and <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.RequireSignedTokens"/> is true.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException">If the 'token' has a key identifier and none of the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s) provided result in a validated signature.
This can indicate that a key refresh is required.</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException">
If the 'token' has a key identifier and none of the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s) provided result in a validated signature.
This can indicate that a key refresh is required.
</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenUnableToValidateException">
If the 'token' has a key identifier and none of the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s) provided result in a validated signature as well as the token
had validation errors or lifetime or issuer. This is not intended to be a signal to refresh keys.
</exception>
<exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException">If after trying all the <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/>(s), none result in a validated signature AND the 'token' does not have a key identifier.</exception>
<returns>A <see cref="T:System.IdentityModel.Tokens.Jwt.JwtSecurityToken"/> that has the signature validated if token was signed.</returns>
<remarks><para>If the 'token' is signed, the signature is validated even if <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.RequireSignedTokens"/> is false.</para>

View File

@@ -67,8 +67,7 @@
<asp:Label ID="LblEncabezado" runat="server" Text=" Registro de Póliza"></asp:Label>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkExcel" runat="server" Visible="true" data-target="#DivCargaExcel"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Cargar Excel</asp:LinkButton>
</li>
@@ -82,11 +81,7 @@
<asp:LinkButton ID="LnkComprobante" runat="server" Visible="false" data-toggle="modal" data-target="#ModalUpload" Style="color: #686868;"><i class="fa fa-upload" style="color:#686868;"></i> Cargar Comprobante</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkComprobante" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">

View File

@@ -1773,26 +1773,26 @@ Partial Class ContabilidadC_RegPrePoliza
Dim dt As DataTable = DtMovimientos.FiltraParametros("", "", filtro)
Dim ObjCompra As New ClsCompras
Dim ObjIE As New ClsBancos()
Dim pathPoliza As String
Dim TieneComprobante As Boolean = True
Dim pathPoliza As String = ""
Dim TieneComprobante As Boolean
Try
TieneComprobante = VerificarComprobante()
If TieneComprobante Then
Path = ImprimirPolizaPDF(IdPoliza)
pathPoliza = Path
If File.Exists(Path) Then
Pathpdf.Add(Path)
End If
Path = ImprimirPolizaPDF(IdPoliza)
pathPoliza = Path
If File.Exists(Path) Then
Pathpdf.Add(Path)
End If
For Each Row As DataRow In dt.Rows
If TieneComprobante Then
For Each Row As DataRow In dt.Rows
If Row("CveConceptoContable").ToString.ToEntero = 30 Then
If Row("CveIE").ToString.ToEntero > 0 Then
If ObjIE.GetBancosIE(Row("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjIE.DtResultados.Rows.Count > 0 Then
Path = String.Format("{0}IE\{1}", UsuarioActual.Empresa.Ruta, ObjIE.Comprobante.ToString)
If File.Exists(Path) Then
TieneComprobante = True
Dim formato As String = System.IO.Path.GetExtension(Path)
If formato.ToLower.Contiene(".jpg", ".png", ".jpeg") Then
Dim ComprobantePDF As String = String.Format("{0}\{1}\comprobante.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick)
@@ -1815,9 +1815,6 @@ Partial Class ContabilidadC_RegPrePoliza
Else
Pathpdf.Add(Path)
End If
Else
TieneComprobante = False
Exit For
End If
End If
End If
@@ -1837,10 +1834,9 @@ Partial Class ContabilidadC_RegPrePoliza
End If
End If
End If
End If
Next
Next
If TieneComprobante Then
dt = DtMovimientos.FiltraParametros("", "", filtroComplemento)
For Each Row As DataRow In dt.Rows
If ObjCompra.GetCompraComplementoPago(-1, UsuarioActual.CveEmpresa, Row("CveIE").ToString.ToEntero) Then
@@ -1865,6 +1861,7 @@ Partial Class ContabilidadC_RegPrePoliza
If File.Exists(pathPoliza) Then
Directory.Delete(String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, Tick), True)
End If
Else
Alert("No se tiene cargado comprobante de pago", TipoMensaje.MsgAdvertencia)
End If
@@ -1873,6 +1870,8 @@ Partial Class ContabilidadC_RegPrePoliza
Catch ex As Exception
Alert("Error al descargar el paquete", TipoMensaje.MsgError)
End Try
ObjCompra.Dispose()
ObjIE.Dispose()
End Sub
Private Function ImprimirPolizaPDF(IdPoliza As Integer) As String
Dim ObjConta As New ClsContabilidad
@@ -2322,5 +2321,36 @@ Partial Class ContabilidadC_RegPrePoliza
End Sub
Private Function VerificarComprobante() As Boolean
Dim filtro() As String = {"CveCompra", "CveIE", "CveConceptoContable"}
Dim Path As String
Dim dt As DataTable = DtMovimientos.FiltraParametros("", "", filtro)
Dim ObjIE As New ClsBancos()
Dim TieneComprobante As Boolean = False
For Each Row As DataRow In dt.FiltraParametros("CveConceptoContable = 30").Rows
If ObjIE.GetBancosIE(Row("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjIE.DtResultados.Rows.Count > 0 Then
Path = String.Format("{0}IE\{1}", UsuarioActual.Empresa.Ruta, ObjIE.Comprobante.ToString)
If File.Exists(Path) Then
TieneComprobante = True
Exit For
Else
TieneComprobante = False
Exit For
End If
Else
TieneComprobante = False
Exit For
End If
End If
Next
ObjIE.Dispose()
Return TieneComprobante
End Function
End Class

View File

@@ -75,7 +75,14 @@
<li>
<asp:LinkButton ID="LnkComplementoPago" runat="server" Visible="false" OnClick="LnkComplementoPago_Click" Style="color: #686868;"><i class="fa fa-money" style="color:#686868;"></i> Crear Complemento de Pago</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImprimirPDF" runat="server" Visible="false" OnClick="LnkImprimirPDF_Click" Style="color: #686868;"><i class="fa fa-file-pdf-o" style="color:#686868;"></i> Imprimir Poliza</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkComprobante" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server">
@@ -835,7 +842,7 @@
</div>
</div>
</div>
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
</asp:Content>

View File

@@ -5,7 +5,10 @@ Imports Extensiones
Imports System.Linq
Imports System.Web.Services
Imports GemBox.Spreadsheet
Imports Microsoft.Reporting.WebForms
Imports System.IO
Imports iTextSharp.text.pdf
Partial Class ContabilidadC_RegPrePolizaS
Inherits ClsPaginas
@@ -159,6 +162,40 @@ Partial Class ContabilidadC_RegPrePolizaS
ViewState("IndiceGrid") = value
End Set
End Property
Public Property IdPoliza As Integer
Get
Return CType(ViewState("IdPoliza"), Integer)
End Get
Set(value As Integer)
ViewState("IdPoliza") = value
End Set
End Property
Public Property Tick As String
Get
Return CType(ViewState("Tick"), String)
End Get
Set(value As String)
ViewState("Tick") = value
End Set
End Property
Public Property CveIE As Integer
Get
Return CType(ViewState("CveIE"), Integer)
End Get
Set(value As Integer)
ViewState("CveIE") = value
End Set
End Property
Public Property TipoPoliza As String
Get
Return CType(ViewState("TipoPoliza"), String)
End Get
Set(value As String)
ViewState("TipoPoliza") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -175,6 +212,8 @@ Partial Class ContabilidadC_RegPrePolizaS
Observaciones = "-1"
Beneficiario = "-1"
Actualizar = False
IdPoliza = -1
If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then
DivTipoGasto.Visible = True
@@ -365,7 +404,9 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlTipoPoliza.SelectedValue = dr("CveTipoPoliza")
TxtFechaDocumento.Text = dr("Fecha")
TxtConcepto.Text = dr("Concepto")
DivDatosPoliza.Visible = True
DivDatosPoliza.Visible = True
TipoPoliza = DdlTipoPoliza.SelectedItem.Text
Folio = dr("FolioPoliza").ToString
If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then
'DivAgregarConceptos.Visible = True
@@ -470,7 +511,13 @@ Partial Class ContabilidadC_RegPrePolizaS
If CveConceptoContable.Contiene(1, 2, 13, 38, 207, 203, 39, 61, 62, 63) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 234, 235, 240) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen"))
If CveConceptoContable.Contiene(30, 204) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
If CveConceptoContable.Contiene(30, 204) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
If CveConceptoContable.Contiene(30) Then
LnkImprimirPDF.Visible = True
LnkComprobante.Visible = True
CveIE = e.Row.DBCampo("CveIE").ToString.ToEntero
End If
'e.Row.FCHyperLink("HlReferencia").NavigateUrl = CveConceptoContable
@@ -689,6 +736,8 @@ Partial Class ContabilidadC_RegPrePolizaS
dr("CvePersonal") = drt("CvePersonal")
dr("CveClasificacion") = -1
dr("MultipleSubProyecto") = drt("MultipleSubProyecto")
dr("FolioPoliza") = drt("FolioPoliza")
DtMovimientos.Rows.Add(dr)
Next
@@ -1951,5 +2000,150 @@ Partial Class ContabilidadC_RegPrePolizaS
End Sub
#End Region
#Region "Paquete Egresos"
Protected Sub LnkImprimirPDF_Click(sender As Object, e As EventArgs)
Dim Pathpdf As New List(Of String)
Dim Path As String
Try
Path = ImprimirPolizaPDF(IdPoliza)
If File.Exists(Path) Then
Pathpdf.Add(Path)
End If
MergePdfFiles(Pathpdf.ToArray)
If File.Exists(Path) Then
Directory.Delete(String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, Tick), True)
End If
Catch ex As Exception
Alert("Error al descargar la poliza", TipoMensaje.MsgError)
End Try
End Sub
Private Function ImprimirPolizaPDF(IdPoliza As Integer) As String
Dim ObjConta As New ClsContabilidad
'Dim ObjPoliza As New ClsContPAQi(UsuarioActual.Empresa)
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/Polizas.rdlc", UsuarioActual.Empresa.Ruta))
Dim params As New List(Of ReportParameter)
Dim Bytes As Byte() = Nothing
'If ObjPoliza.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjPoliza.DtResultados.Rows.Count > 0 Then
If ObjConta.GetPrePolizasDetalle(CvePrePoliza) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
Dim dtVC As DataTable
Dim dr As DataRow
dtVC = ObjConta.DtResultados
dr = dtVC.Rows(0)
Dim ruta As String = ""
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
'params.Add(New ReportParameter("Nombre", dr("Cuenta").ToString))
'params.Add(New ReportParameter("Cuenta", dr("Codigo").ToString))
params.Add(New ReportParameter("Numero", dr("FolioPoliza").ToString))
params.Add(New ReportParameter("Moneda", ""))
params.Add(New ReportParameter("CodigoPostal", ""))
If UsuarioActual.CveEmpresa = 119 Then
params.Add(New ReportParameter("UsuarioRegistro", GlobalDTUsuarios(dr("CveUsuario").ToString.ToEntero).FiltroPrimeroValor("Nombre")))
End If
If Archivo.Exists Then
ruta = UsuarioActual.Empresa.Ruta & "Formatos/Polizas.rdlc"
Else
ruta = "Empresas/Grales/Formatos/Polizas.rdlc"
End If
Bytes = StreamPDF(ruta, dtVC, params, "ppoliza")
If Not File.Exists(String.Format("{0}{1}\{2}.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick, IdPoliza.ToString)) Then
DirectoryExistsCreate(String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, Tick))
File.WriteAllBytes(String.Format("{0}\{1}\{2}.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick, IdPoliza.ToString), Bytes)
End If
End If
Return String.Format("{0}\{1}\{2}.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick, IdPoliza.ToString)
ObjConta.Dispose()
End Function
Private Sub MergePdfFiles(ByVal pdfFiles() As String)
Dim result As Boolean = False
Dim pdfCount As Integer = 0
Dim f As Integer = 0
Dim fileName As String
Dim reader As iTextSharp.text.pdf.PdfReader = Nothing
Dim pageCount As Integer = 0
Dim pdfDoc As iTextSharp.text.Document = Nothing
Dim writer As PdfWriter = Nothing
Dim cb As PdfContentByte = Nothing
Dim page As PdfImportedPage = Nothing
Dim rotation As Integer = 0
Try
pdfCount = pdfFiles.Length
If pdfCount > 0 Then
fileName = pdfFiles(f)
reader = New iTextSharp.text.pdf.PdfReader(fileName)
pageCount = reader.NumberOfPages
pdfDoc = New iTextSharp.text.Document(reader.GetPageSizeWithRotation(1), 18, 18, 18, 18)
writer = PdfWriter.GetInstance(pdfDoc, New FileStream(String.Format("{0}\{1}\{2}-{3}.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick, TipoPoliza, Folio), FileMode.Create))
With pdfDoc
.Open()
End With
cb = writer.DirectContent
While f < pdfCount
Dim i As Integer = 0
While i < pageCount
i += 1
pdfDoc.SetPageSize(reader.GetPageSizeWithRotation(i))
pdfDoc.NewPage()
page = writer.GetImportedPage(reader, i)
rotation = reader.GetPageRotation(i)
If rotation = 90 Then
cb.AddTemplate(page, 0, -1.0F, 1.0F, 0, 0, reader.GetPageSizeWithRotation(i).Height)
ElseIf rotation = 270 Then
cb.AddTemplate(page, 0, 1.0F, -1.0F, 0, reader.GetPageSizeWithRotation(i).Width + 60, -30)
Else
cb.AddTemplate(page, 1.0F, 0, 0, 1.0F, 0, 0)
End If
End While
f += 1
If f < pdfCount Then
fileName = pdfFiles(f)
reader = New iTextSharp.text.pdf.PdfReader(fileName)
pageCount = reader.NumberOfPages
End If
End While
pdfDoc.Close()
Dim Archivo As New System.IO.FileInfo(String.Format("{0}\{1}\{2}-{3}.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick, TipoPoliza, Folio))
If Archivo.Exists Then
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = "application/octet-stream"
HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
HttpContext.Current.Response.TransmitFile(String.Format("{0}\{1}\{2}-{3}.pdf", AppDomain.CurrentDomain.BaseDirectory, Tick, TipoPoliza, Folio))
Response.Flush() ' send it to the client to download
HttpContext.Current.Response.SuppressContent = True
HttpContext.Current.ApplicationInstance.CompleteRequest()
End If
result = True
End If
Catch ex As Exception
End Try
End Sub
#End Region
End Class

View File

@@ -125,7 +125,7 @@
<Width>0.72729cm</Width>
</TablixColumn>
<TablixColumn>
<Width>3.00271cm</Width>
<Width>2.63229cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
@@ -2435,51 +2435,10 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>2</ColSpan>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox231">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox231</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<TopBorder>
<Color>Black</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="Textbox227">
@@ -4148,7 +4107,7 @@
<DataSetName>DataSet1</DataSetName>
<Left>0.07625cm</Left>
<Height>10.12999cm</Height>
<Width>20.53293cm</Width>
<Width>20.16251cm</Width>
<Style>
<Border>
<Style>None</Style>
@@ -4156,13 +4115,13 @@
</Style>
</Tablix>
</ReportItems>
<Height>6.69045in</Height>
<Height>4.06545in</Height>
<Style />
</Body>
<Width>8.11385in</Width>
<Width>7.96802in</Width>
<Page>
<PageFooter>
<Height>0.68792cm</Height>
<Height>0.55135cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>

View File

@@ -70,7 +70,7 @@
<asp:LinkButton ID="LnkAutorizar" Visible="false" OnClick="LnkAutorizar_Click" runat="server"><i class='material-icons'>done_all</i>Autorizar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkTimbrar" Visible="false" OnClick="LnkTimbrar_Click" runat="server"><i class="fa fa-bell"></i>Timbrar</asp:LinkButton>
<asp:LinkButton ID="LnkTimbrar" Visible="false" OnClick="LnkTimbrar_Click" runat="server"><i class="fa fa-bell"></i>Timbrar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkFormatoRenuncia" OnClick="LnkFormatoRenuncia_Click" runat="server"><i class="fa fa-bell"></i>Formato Finiquito</asp:LinkButton>
@@ -81,138 +81,139 @@
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row ">
<div class="col-sm-6 ">
<%--class="col-md-6 col-md-offset-3 col-sm-10 col-sm-offset-1"--%>
<div class="portlet light xspadding bordered" id="pnldl">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Datos del Empleado</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body dtosEmpleado">
<div class="row ">
<div class="col-sm-3">
<span class="bold">Codigo:</span>
<br />
<asp:HyperLink ID="HypCodigo" CssClass="LinkEmpleado TextLink" Text="--" runat="server"></asp:HyperLink>
<div class="row ">
<div class="col-sm-6 ">
<%--class="col-md-6 col-md-offset-3 col-sm-10 col-sm-offset-1"--%>
<div class="portlet light xspadding bordered" id="pnldl">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Datos del Empleado</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
</div>
<div class="col-sm-9">
<span class="bold">Empleado:</span>
<br />
<asp:HyperLink ID="HypEmpleado" CssClass="LinkEmpleado TextLink" Text="--" runat="server"></asp:HyperLink>
</div>
</div>
<div class="row ">
<div class="col-sm-3 ">
<span class="bold">Fecha alta:</span>
<br />
<asp:Label ID="LblFechaAlta" runat="server" Text="--"></asp:Label>
</div>
<div class="col-sm-5">
<span class="bold">Puesto:</span>
<br />
<asp:Label ID="LblPuesto" runat="server" Text="--"></asp:Label>
</div>
<div class="col-sm-4">
<span class="bold">Salario:</span>
<br />
<asp:Label ID="LblSalario" runat="server" Text="--"></asp:Label>
</div>
</div>
<div class="row ">
</div>
</div>
</div>
</div>
<div class="col-sm-6 ">
<%--class="col-md-6 col-md-offset-3 col-sm-10 col-sm-offset-1"--%>
<div class="portlet light xspadding bordered" id="pnlfiniqito">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Información finiquito</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkGuardarDatos" OnClick="LnkGuardarDatos_Click" ValidationGroup="GrpGuardar" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
<div class="portlet-body dtosEmpleado">
<div class="row ">
<div class="col-sm-3">
<span class="bold">Codigo:</span>
<br />
<asp:HyperLink ID="HypCodigo" CssClass="LinkEmpleado TextLink" Text="--" runat="server"></asp:HyperLink>
</div>
<div class="col-sm-9">
<span class="bold">Empleado:</span>
<br />
<asp:HyperLink ID="HypEmpleado" CssClass="LinkEmpleado TextLink" Text="--" runat="server"></asp:HyperLink>
</div>
</div>
<div class="row ">
<div class="col-sm-3 ">
<span class="bold">Fecha alta:</span>
<br />
<asp:Label ID="LblFechaAlta" runat="server" Text="--"></asp:Label>
</div>
<div class="col-sm-5">
<span class="bold">Puesto:</span>
<br />
<asp:Label ID="LblPuesto" runat="server" Text="--"></asp:Label>
</div>
<div class="col-sm-4">
<span class="bold">Salario:</span>
<br />
<asp:Label ID="LblSalario" runat="server" Text="--"></asp:Label>
</div>
</div>
<div class="row ">
</div>
</div>
</div>
</div>
<div class="portlet-body dtosEmpleado">
<div class="col-sm-6 ">
<%--class="col-md-6 col-md-offset-3 col-sm-10 col-sm-offset-1"--%>
<div class="portlet light xspadding bordered" id="pnlfiniqito">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Información finiquito</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkCancelar" Visible="false" OnClick="LnkGuardarDatos_Click" ValidationGroup="GrpGuardar" CssClass="btn btn-danger" runat="server">Cancelar</asp:LinkButton>
<asp:LinkButton ID="LnkGuardarDatos" OnClick="LnkGuardarDatos_Click" ValidationGroup="GrpGuardar" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body dtosEmpleado">
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMotivoBaja" runat="server" AppendDataBoundItems="True" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" Width="100%"
CssClass="form-control select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin asignar Motivo de baja" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvMotivoBaja" runat="server" ControlToValidate="DdlMotivoBaja" CssClass=" dnone" InitialValue="-1"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Seleccione el <b>''motivo''</b>."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Motivo de Baja: " AssociatedControlID="DdlMotivoBaja"></asp:Label>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMotivoBaja" runat="server" AppendDataBoundItems="True" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" Width="100%"
CssClass="form-control select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin asignar Motivo de baja" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvMotivoBaja" runat="server" ControlToValidate="DdlMotivoBaja" CssClass=" dnone" InitialValue="-1"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Seleccione el <b>''motivo''</b>."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Motivo de Baja: " AssociatedControlID="DdlMotivoBaja"></asp:Label>
</div>
<ajax:ValidatorCalloutExtender ID="vcoMotivoBaja" runat="server" HighlightCssClass="vco" TargetControlID="RfvMotivoBaja" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 120px; display: inline-block">
<asp:TextBox ID="TxtFechaBaja" runat="server" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtFechaBaja" runat="server" ControlToValidate="TxtFechaBaja" CssClass="dnone"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> es necesario "
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Fecha de Baja: " AssociatedControlID="TxtFechaBaja"></asp:Label>
<ajax:MaskedEditExtender ID="MKEFechaBaja" runat="server" TargetControlID="TxtFechaBaja" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MKEFechaBaja" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CEFechaBaja" runat="server" TargetControlID="TxtFechaBaja" PopupButtonID="ImgFechaBaja" PopupPosition="BottomRight" BehaviorID="_content_CEFechaBaja"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaBaja" runat="server" ControlToValidate="TxtFechaBaja" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar" Visible="False"></asp:CompareValidator>
</div>
<span class="input-group-btn " style="display: inline-block">
<asp:LinkButton ID="ImgFechaBaja" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:ValidatorCalloutExtender ID="vcoTxtFechaBaja" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaBaja" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-3">
¿es liquidación?<br />
<asp:CheckBox ID="ChkesLiquidacion" CssClass="chksino" Text=" " runat="server" />
</div>
<div class="col-md-1">
</div>
</div>
<ajax:ValidatorCalloutExtender ID="vcoMotivoBaja" runat="server" HighlightCssClass="vco" TargetControlID="RfvMotivoBaja" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 120px; display: inline-block">
<asp:TextBox ID="TxtFechaBaja" runat="server" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtFechaBaja" runat="server" ControlToValidate="TxtFechaBaja" CssClass="dnone"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> es necesario "
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Fecha de Baja: " AssociatedControlID="TxtFechaBaja"></asp:Label>
<ajax:MaskedEditExtender ID="MKEFechaBaja" runat="server" TargetControlID="TxtFechaBaja" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MKEFechaBaja" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CEFechaBaja" runat="server" TargetControlID="TxtFechaBaja" PopupButtonID="ImgFechaBaja" PopupPosition="BottomRight" BehaviorID="_content_CEFechaBaja"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaBaja" runat="server" ControlToValidate="TxtFechaBaja" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar" Visible="False"></asp:CompareValidator>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtAntiguedad" runat="server" Enabled="false" Text="--" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:Label runat="server" Text="Antiguedad: " AssociatedControlID="TxtAntiguedad"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDiasTransAnio" runat="server" Enabled="false" Text="--" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:Label runat="server" Text="Dias trans. en el año: " AssociatedControlID="TxtDiasTransAnio"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSalarioMinimo" runat="server" Enabled="false" Text="--" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:Label runat="server" Text="Salario minimo: " AssociatedControlID="TxtSalarioMinimo"></asp:Label>
</div>
</div>
</div>
<span class="input-group-btn " style="display: inline-block">
<asp:LinkButton ID="ImgFechaBaja" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:ValidatorCalloutExtender ID="vcoTxtFechaBaja" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaBaja" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-3">
¿es liquidación?<br />
<asp:CheckBox ID="ChkesLiquidacion" CssClass="chksino" Text=" " runat="server" />
</div>
<div class="col-md-1">
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtAntiguedad" runat="server" Enabled="false" Text="--" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:Label runat="server" Text="Antiguedad: " AssociatedControlID="TxtAntiguedad"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDiasTransAnio" runat="server" Enabled="false" Text="--" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:Label runat="server" Text="Dias trans. en el año: " AssociatedControlID="TxtDiasTransAnio"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSalarioMinimo" runat="server" Enabled="false" Text="--" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:Label runat="server" Text="Salario minimo: " AssociatedControlID="TxtSalarioMinimo"></asp:Label>
</div>
</div>
</div>
<%--<div class="form-group form-md-line-input input-iconright">
<%--<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" AppendDataBoundItems="true" Width="100%" CssClass="form-control select2me" AutoPostBack="true" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="Ordinario" Value="-1"></asp:ListItem>
<asp:ListItem Text="Extraordinario" Value="6"></asp:ListItem>
@@ -225,184 +226,229 @@
</asp:DropDownList>
<asp:Label runat="server" Text="Período:" AssociatedControlID="DdlPeriodo"></asp:Label>
</div>--%>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="portlet light xspadding bordered" id="pnlNomina">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Finiquito (Ordinario)</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<%--<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn btn-default">Imprimir</a>--%>
</div>
</div>
</div>
<div class="portlet-body ">
<asp:GridView ID="GvFinOrdinario" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD,isEditedD,isEditedP">
<Columns>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConcepto" runat="server" Text='<%# Eval("ConceptoP") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConcepto" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ConceptoP") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorP" runat="server" Text='<%# Eval("ValorP", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConceptoD" runat="server" Text='<%# Eval("ConceptoD") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConceptoD" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ConceptoD") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorD" runat="server" Text='<%# Eval("ValorD", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="SearchADHeader" />
</asp:GridView>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="portlet light xspadding bordered" id="pnlFiniquito">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Finiquito (Indemnización)</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<%--<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn btn-default">Imprimir</a>--%>
</div>
</div>
</div>
<div class="portlet-body ">
<asp:GridView ID="GVFinIndemnizacion" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD,isEditedD,isEditedP">
<Columns>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConcepto" runat="server" Text='<%# Eval("ConceptoP") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConcepto" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ConceptoP") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorP" runat="server" Text='<%# Eval("ValorP", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConceptoD" runat="server" Text='<%# Eval("ConceptoD") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConceptoD" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ConceptoD") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorD" runat="server" Text='<%# Eval("ValorD", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="SearchADHeader" />
</asp:GridView>
</div>
</div>
</div>
</div>
<div id="ModalEmpleados" class="modal ADS fade " role="dialog" data-backdrop="static" data-keyboard="false">
<div class="row">
<div class="col-sm-6">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalEmpleados" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Seleccione un empleado</h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPersonal" DataTextField="Nombre" DataValueField="CvePersonal" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Empleado: " AssociatedControlID="DdlPersonal"></asp:Label>
<div class="portlet light xspadding bordered" id="pnlNomina">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Finiquito (Ordinario)</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<%--<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn btn-default">Imprimir</a>--%>
</div>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkCampiarEmpleado" runat="server" CssClass="btn btn-primary" ValidationGroup="GrpSeleccionarEmpleado" OnClick="LnkCampiarEmpleado_Click"> Aceptar</asp:LinkButton>
<asp:Literal ID="LtlEmpleadoCancelar" Visible="false" runat="server"> <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button></asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>
<div class="portlet-body ">
<asp:GridView ID="GvFinOrdinario" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD,isEditedD,isEditedP">
<Columns>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConcepto" runat="server" Text='<%# Eval("ConceptoP") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConcepto" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ConceptoP") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorP" runat="server" Text='<%# Eval("ValorP", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
<asp:LinkButton ID="LnkImportexCalculo" OnClick="LnkImportexCalculo_Click" runat="server" CssClass="btn btn-circle btn-sm btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el importe fijo?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConceptoD" runat="server" Text='<%# Eval("ConceptoD") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConceptoD" OnClick="LnkConceptoD_Click" runat="server" Text='<%# Eval("ConceptoD") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorD" runat="server" Text='<%# Eval("ValorD", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
<asp:LinkButton ID="LnkImporteDxCalculo" OnClick="LnkImportexCalculo_Click" runat="server" CssClass="btn btn-circle btn-sm btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el importe fijo?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="SearchADHeader" />
</asp:GridView>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="portlet light xspadding bordered" id="pnlFiniquito">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Finiquito (Indemnización)</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<%--<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn btn-default">Imprimir</a>--%>
</div>
</div>
</div>
<div class="portlet-body ">
<asp:GridView ID="GVFinIndemnizacion" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD,isEditedD,isEditedP">
<Columns>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConcepto" runat="server" Text='<%# Eval("ConceptoP") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConcepto" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ConceptoP") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorP" runat="server" Text='<%# Eval("ValorP", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
<asp:LinkButton ID="LnkImportexCalculo" OnClick="LnkImportexCalculo_Click" runat="server" CssClass="btn btn-circle btn-sm btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el importe fijo?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Concepto">
<ItemTemplate>
<asp:Label ID="LtlConceptoD" runat="server" Text='<%# Eval("ConceptoD") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkConceptoD" OnClick="LnkConceptoD_Click" runat="server" Text='<%# Eval("ConceptoD") %>'></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="37%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<ItemTemplate>
<asp:Label ID="LtlValorD" runat="server" Text='<%# Eval("ValorD", "{0:##,###.##}") %>' Style="word-break: break-all;"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
<asp:LinkButton ID="LnkImporteDxCalculo" OnClick="LnkImportexCalculo_Click" runat="server" CssClass="btn btn-circle btn-sm btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el importe fijo?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="SearchADHeader" />
</asp:GridView>
</div>
</div>
</div>
</div>
<div id="ModalUpConcepto" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog " runat="server" ID="UPpanelModalUpConcepto" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Modificar o agregar concepto :
<asp:Label ID="LblConceptoMod" runat="server" Text=""></asp:Label></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlmcConceptos" Enabled="false" Text="Concepto"></asp:Label>
<asp:DropDownList ID="DdlmcConceptos" CssClass="select2me form-control" Width="100%" DataValueField="CveConcepto" DataTextField="CodigoConcepto" OnSelectedIndexChanged="DdlmcConceptos_SelectedIndexChanged" AutoPostBack=" true" runat="server">
<asp:ListItem Value="-1" Text="Seleccione"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtmcImporte" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtmcImporte" Enabled="false" Text="Importe"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtmcImporteGrabado" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtmcImporteGrabado" Enabled="false" Text="Gravado"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="Txtmcvalor" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtmcvalor" Enabled="false" Text="Valor"></asp:Label>
<i></i>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnAceptarMC" CssClass="btn btn-primary" OnClick="BtnAceptarMC_Click" runat="server" Text="Aceptar" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalEmpleados" class="modal ADS fade " role="dialog" data-backdrop="static" data-keyboard="false">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalEmpleados" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Seleccione un empleado</h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPersonal" DataTextField="Nombre" DataValueField="CvePersonal" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Empleado: " AssociatedControlID="DdlPersonal"></asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkCampiarEmpleado" runat="server" CssClass="btn btn-primary" ValidationGroup="GrpSeleccionarEmpleado" OnClick="LnkCampiarEmpleado_Click"> Aceptar</asp:LinkButton>
<asp:Literal ID="LtlEmpleadoCancelar" Visible="false" runat="server"> <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button></asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>

View File

@@ -118,6 +118,7 @@ public partial class Nomina_Finiquito : ClsPaginas
}
private void CargaPersonal()
{
LnkCancelar.Visible = false;
using (ClsRH ObjPersonal = new ClsRH())
{
if (ObjPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa) && ObjPersonal.DtResultados.Rows.Count > 0)
@@ -141,7 +142,11 @@ public partial class Nomina_Finiquito : ClsPaginas
CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero();
if (CvePeriodoIndemnizacion > 0)
{
loadsobrerecibo();
LnkCancelar.Visible = true;
using (ClsNominas onom = new ClsNominas())
{
loadsobrerecibo(onom);
}
}
}
CamposCalculados();
@@ -185,61 +190,78 @@ public partial class Nomina_Finiquito : ClsPaginas
}
return retorno;
}
protected void LnkImportexCalculo_Click(object sender, EventArgs e)
{
int SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero();
//CvePeriodoSeleccionado
//SRCvePersonal
if (SRCveConcepto > 0)
{
using (ClsNominas onom = new ClsNominas())
{
if (onom.DeleteNom_NominasDetalles(SRCveConcepto, CvePersonal, CvePeriodoIndemnizacion))
{
Alert("el importe sera tomado del calculo y no del valor fijo");
}
}
}
}
protected void LnkConcepto_Click(object sender, EventArgs e)
{
Alert("x");
//SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero();
//SRTipoConcepto = ((LinkButton)sender).CommandArgument;
//#region carga conceptos
//DataTable dtCon;
//if (SRCveConcepto > 0)
//{
// DataRow drow = dtConceptos.FiltroPrimero(string.Format("CveConcepto={0}", SRCveConcepto));
// if (drow != null)
// {
// SRTipoConcepto = drow["Tipo"].ToString();
// }
// else
// {
// SRCveConcepto = 0;
// SRTipoConcepto = "D";
// }
//}
int SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero();
string SRTipoConcepto = ((LinkButton)sender).CommandArgument;
#region carga conceptos
DataTable dtCon;
if (SRCveConcepto > 0)
{
DataRow drow = dtConceptos.FiltroPrimero(string.Format("CveConcepto={0}", SRCveConcepto));
if (drow != null)
{
SRTipoConcepto = drow["Tipo"].ToString();
}
else
{
SRCveConcepto = 0;
SRTipoConcepto = "D";
}
}
//if (SRTipoConcepto == "P")
//{
// dtCon = dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 ").Copy();
//}
//else
//{
// dtCon = dtConceptos.FiltraParametros("Tipo ='D' AND EsPadre = 1 ").Copy();
// SRTipoConcepto = "D";
//}
//dtCon.Columns.Add(new DataColumn("CodigoConcepto"));
//foreach (DataRow trow in dtCon.Rows)
//{
// trow["CodigoConcepto"] = string.Format("{0} - {1}", trow["Codigo"], trow["Concepto"]);
//}
//dtCon.AcceptChanges();
//DataRow row = dtCon.NewRow();
//row["CveConcepto"] = "-1";
//row["CodigoConcepto"] = "Seleccione";
//dtCon.Rows.InsertAt(row, 0);
//#endregion
//DdlmcConceptos.DataSource = dtCon;
//DdlmcConceptos.DataBind();
//if (SRCveConcepto > 0)
//{
// DdlmcConceptos.SelectedValueExist(SRCveConcepto);
//}
if (SRTipoConcepto == "P")
{
dtCon = dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 ").Copy(); //AND CveSistema <>12'
}
else
{
dtCon = dtConceptos.FiltraParametros("Tipo ='D' AND EsPadre = 1 ").Copy();
SRTipoConcepto = "D";
}
dtCon.Columns.Add(new DataColumn("CodigoConcepto"));
foreach (DataRow trow in dtCon.Rows)
{
trow["CodigoConcepto"] = string.Format("{0} - {1}", trow["Codigo"], trow["Concepto"]);
}
dtCon.AcceptChanges();
DataRow row = dtCon.NewRow();
row["CveConcepto"] = "-1";
row["CodigoConcepto"] = "Seleccione";
dtCon.Rows.InsertAt(row, 0);
#endregion
DdlmcConceptos.DataSource = dtCon;
DdlmcConceptos.DataBind();
if (SRCveConcepto > 0)
{
DdlmcConceptos.SelectedValueExist(SRCveConcepto);
}
//PnlConceptoPersonal.Visible = false;
//DdlmcConceptos_SelectedIndexChanged(DdlmcConceptos, null);
//RegistraScript(string.Format("$('#ModalUpConcepto').on('shown.bs.modal', function () {{$('#{0}').trigger('focus')}});$('#ModalUpConcepto').modal();", TxtmcImporte.ClientID));
//UPpanelModalUpConcepto.Update();
RegistraScript(string.Format("$('#ModalUpConcepto').on('shown.bs.modal', function () {{$('#{0}').trigger('focus')}});$('#ModalUpConcepto').modal();", TxtmcImporte.ClientID));
UPpanelModalUpConcepto.Update();
}
int CveConceptoPolgvc, CveConceptoDolgvc;
protected void GvConceptos_RowDataBound(object sender, GridViewRowEventArgs e)
{
@@ -272,6 +294,10 @@ public partial class Nomina_Finiquito : ClsPaginas
LinkButton LnkImporte = e.Row.FCLinkButton("LnkImporte");
Label LtlImporteD = e.Row.FCLabel("LtlImporteD");
LinkButton LnkImporteD = e.Row.FCLinkButton("LnkImporteD");
LinkButton LnkImportexCalculo = e.Row.FCLinkButton("LnkImportexCalculo");
LinkButton LnkImporteDxCalculo = e.Row.FCLinkButton("LnkImporteDxCalculo");
//isEditedD
if (isOnlyBisibleP == 1)
{
@@ -306,6 +332,10 @@ public partial class Nomina_Finiquito : ClsPaginas
}
LnkImporte.CommandArgument = (CveConcepto > 0 ? CveConcepto.ToString() : "P");
LnkImporteD.CommandArgument = (CveConceptoD > 0 ? CveConceptoD.ToString() : "D");
LnkImportexCalculo.CommandArgument = LnkImporte.CommandArgument;
LnkImporteDxCalculo.CommandArgument = LnkImporteD.CommandArgument;
LnkImportexCalculo.Visible = isEditedP;
LnkImporteDxCalculo.Visible = isEditedD;
LnkImporte.Text = (CveConcepto > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteP").ToDecimal()) : (CveConceptoPolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
LnkImporteD.Text = (CveConceptoD > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteD").ToDecimal()) : (CveConceptoDolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
@@ -323,14 +353,118 @@ public partial class Nomina_Finiquito : ClsPaginas
LnkImporte.Visible = !LtlImporte.Visible;
LnkImporteD.Visible = !LtlImporteD.Visible;
LinkButton LnkConceptoO = e.Row.FCLinkButton("LnkConceptoO");
LinkButton LnkImporteO = e.Row.FCLinkButton("LnkImporteO");
if (LnkConceptoO != null)
{
LnkConceptoO.Visible = false;
LnkImporteO.Visible = false;
if (e.Row.DBCampo("ImporteO").ToDecimal() == 0)
{
e.Row.FCLabel("LtlConceptoO").Visible = false;
e.Row.FCLabel("LtlImporteO").Visible = false;
if (e.Row.DataKey("isOnlyBisibleO").ToEntero() == 1)
{
e.Row.CssClass = string.Format("{0} isOnlyBisibleO", e.Row.CssClass);
}
}
}
CveConceptoPolgvc = CveConcepto;
CveConceptoDolgvc = CveConceptoD;
}
}
//int CveConceptoPolgvc, CveConceptoDolgvc;
//protected void GvConceptos_RowDataBound(object sender, GridViewRowEventArgs e)
//{
// if (e.Row.RowType == DataControlRowType.DataRow)
// {
// if (e.Row.RowIndex == 0)
// {
// CveConceptoPolgvc = 1;
// CveConceptoDolgvc = 1;
// }
// // Datakeys
// // Concepto,CveConcepto,Importe,Estatus,ConceptoD,CveConceptoD,ImporteD,EstatusD
// int CveConcepto = e.Row.DataKey("CveConceptoP").ToEntero();
// int CveConceptoD = e.Row.DataKey("CveConceptoD").ToEntero();
// // Dim Importe As Decimal = e.Row.DataKey("Importe").ToDecimal()
// // Dim ImporteD As Decimal = e.Row.DataKey("ImporteD").ToDecimal()
// int Estatus = e.Row.DataKey("EstatusP").ToEntero();
// int EstatusD = e.Row.DataKey("EstatusD").ToEntero();
// int isOnlyBisibleP = e.Row.DataKey("isOnlyBisibleP").ToEntero();
// int isOnlyBisibleD = e.Row.DataKey("isOnlyBisibleD").ToEntero();
// bool isEditedP = e.Row.DataKey("isEditedP").ToEntero() > 0;
// bool isEditedD = e.Row.DataKey("isEditedD").ToEntero() > 0;
// //isEditedD
// // Controles
// Label LtlConcepto = e.Row.FCLabel("LtlConcepto");
// LinkButton LnkConcepto = e.Row.FCLinkButton("LnkConcepto");
// Label LtlConceptoD = e.Row.FCLabel("LtlConceptoD");
// LinkButton LnkConceptoD = e.Row.FCLinkButton("LnkConceptod");
// Label LtlImporte = e.Row.FCLabel("LtlImporte");
// LinkButton LnkImporte = e.Row.FCLinkButton("LnkImporte");
// Label LtlImporteD = e.Row.FCLabel("LtlImporteD");
// LinkButton LnkImporteD = e.Row.FCLinkButton("LnkImporteD");
// //isEditedD
// if (isOnlyBisibleP == 1)
// {
// e.Row.CssClass = string.Format("{0} isOnlyBisibleP", e.Row.CssClass);
// }
// if (isOnlyBisibleD == 1)
// {
// e.Row.CssClass = string.Format("{0} isOnlyBisibleD", e.Row.CssClass);
// }
// if (isEditedP)
// {
// e.Row.CssClass = string.Format("{0} isEditedP", e.Row.CssClass);
// }
// if (isEditedD)
// {
// e.Row.CssClass = string.Format("{0} isEditedD", e.Row.CssClass);
// }
// if (Estatus == -1) { LtlConcepto.Visible = false; }
// else if (Estatus > 0) { LtlImporte.Visible = false; }
// if (EstatusD == -1) { LtlConceptoD.Visible = false; }
// else if (EstatusD > 0) { LtlImporteD.Visible = false; }
// LtlImporte.Visible = false;
// LtlImporteD.Visible = false;
// if (Estatus < -1 | EstatusD < -1)
// {
// e.Row.CssClass = "ConceptosTotales";
// LtlImporte.Visible = true;
// LtlImporteD.Visible = true;
// }
// LnkImporte.CommandArgument = (CveConcepto > 0 ? CveConcepto.ToString() : "P");
// LnkImporteD.CommandArgument = (CveConceptoD > 0 ? CveConceptoD.ToString() : "D");
// LnkImporte.Text = (CveConcepto > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteP").ToDecimal()) : (CveConceptoPolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
// LnkImporteD.Text = (CveConceptoD > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteD").ToDecimal()) : (CveConceptoDolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
// if (CveConcepto == 0 && (Estatus == 0 || Estatus == -1 || Estatus == -3)) { LtlImporte.Text = ""; }
// if (CveConceptoD == 0 && (EstatusD == 0 || EstatusD == -1)) { LtlImporteD.Text = ""; }
// LnkConcepto.Visible = !LtlConcepto.Visible;
// LnkConceptoD.Visible = !LtlConceptoD.Visible;
// LnkImporte.Visible = !LtlImporte.Visible;
// LnkImporteD.Visible = !LtlImporteD.Visible;
// CveConceptoPolgvc = CveConcepto;
// CveConceptoDolgvc = CveConceptoD;
// }
//}
protected void LnkTimbrar_Click(object sender, EventArgs e)
{
{
int CvePeriodo = CvePeriodoFiniquito;
string[] getcolumnas = new string[] { "CvePersonal", "CveMetodoPago", "CveNomina", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" };
@@ -344,14 +478,17 @@ public partial class Nomina_Finiquito : ClsPaginas
{ Alert(Msg, TipoMensaje.MsgAdvertencia); }
else
{
ClsNominas ObjPeriodo = new ClsNominas();
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
ObjPeriodo.Dispose();
using (ClsNominas ObjPeriodo = new ClsNominas())
{
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
loadsobrerecibo(ObjPeriodo);
}
//ObjPeriodo.Dispose();
//Alert("Se ha timbrado correctamente");
Alert("El finiquito se ha timbrado satisfactoriamente");
LnkTimbrar.Visible = false;
loadsobrerecibo(); UPDatos.Update();
LnkTimbrar.Visible = false; UPDatos.Update();
}
@@ -529,13 +666,14 @@ public partial class Nomina_Finiquito : ClsPaginas
{
ObjPersonal.RollBack();
}
if (continuar) { loadsobrerecibo(); }
if (continuar)
{ loadsobrerecibo(onom); }
}
}
UPDatos.Update();
}
public void loadsobrerecibo()
public void loadsobrerecibo(ClsNominas objnom)
{
List<NConcepto> finordin = null;
List<NConcepto> finindem = null;
@@ -545,36 +683,33 @@ public partial class Nomina_Finiquito : ClsPaginas
DataTable dtempleados = null;
*/
using (ClsNominas objnom = new ClsNominas())
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoIndemnizacion, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoIndemnizacion, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
dtConceptos = objnom.DTSetResultados.Tables[0];
}
if (dtConceptos != null && dtempleadosConceptos != null && dtempleados != null)
{
finindem = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
dtempleadosConceptos = null;
dtempleados = null;
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", "NomAutorizado =0") > 0);
LnkGuardarDatos.Enabled = LnkAutorizar.Visible;
LnkTimbrar.Visible = !(LnkAutorizar.Visible) && (dtempleados.COUNT("CvePersonal", "SeTimbro=0") > 0);
UpAcciones.Update();
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
dtConceptos = objnom.DTSetResultados.Tables[0];
}
if (dtConceptos != null && dtempleadosConceptos != null && dtempleados != null)
{
finordin = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
dtConceptos = objnom.DTSetResultados.Tables[0];
}
if (dtConceptos != null && dtempleadosConceptos != null && dtempleados != null)
{
finindem = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
dtempleadosConceptos = null;
dtempleados = null;
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", "NomAutorizado =0") > 0);
LnkGuardarDatos.Enabled = LnkAutorizar.Visible;
LnkTimbrar.Visible = !(LnkAutorizar.Visible) && (dtempleados.COUNT("CvePersonal", "SeTimbro=0") > 0);
UpAcciones.Update();
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
dtConceptos = objnom.DTSetResultados.Tables[0];
}
if (dtConceptos != null && dtempleadosConceptos != null && dtempleados != null)
{
finordin = cargasobrericiboconceptos(dtConceptos, dtempleadosConceptos, dtempleados);
}
GvFinOrdinario.DataSource = finordin;
GVFinIndemnizacion.DataSource = finindem;
GvFinOrdinario.DataBind();
@@ -702,7 +837,7 @@ public partial class Nomina_Finiquito : ClsPaginas
if (continuar)
{

View File

@@ -10,15 +10,28 @@
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Exporta Excel</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImpresionMasiva" OnClick="LnkImpresionMasiva_Click" runat="server"> <i class="fa fa-download" style="font-weight:bold;"></i> Descargar PDFs</asp:LinkButton>
</li>
<asp:UpdatePanel runat="server" id="UPAcciones" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Exporta Excel</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImpresionMasiva" OnClick="LnkImpresionMasiva_Click" runat="server"> <i class="fa fa-download" style="font-weight:bold;"></i> Descargar PDFs</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCambiarFecha" OnClick="LnkCambiarFecha_Click" runat="server"> <i class="fa fa-calendar" style="font-weight:bold;"></i> Cambiar Fechas</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkGuardar" runat="server" Visible="false" data-toggle="modal" data-target="#ModalUpload"> <i class="fa fa-floppy-o" style="font-weight:bold;"></i> Guardar</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkGuardar" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
@@ -108,13 +121,20 @@
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvSolicitudes.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:GridView ID="GvSolicitudes" runat="server" GridLines="None" DataKeyNames="CveOrdenCompra,Folio, RazonSocial, ImporteSol, FolioMov, Importe, Nombre"
<asp:GridView ID="GvSolicitudes" runat="server" GridLines="None" DataKeyNames="CveOrdenCompra,Folio, RazonSocial, ImporteSol, FolioMov, Importe, Nombre, CveEvento"
CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" data-footer="0" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros">
<Columns>
<asp:TemplateField Visible="false">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkOrdenCompra" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ord. Compra" ItemStyle-Width="10%">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveOrdenCompra", "/OC/OC.aspx?OC={0}")%>' Text='<%# Eval("Folio") %>'></asp:HyperLink>
<asp:HyperLink ID="HplNumFolio" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveOrdenCompra", "/OC/OC.aspx?OC={0}")%>' Text='<%# Eval("Folio") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left" />
@@ -126,7 +146,7 @@
<asp:TemplateField HeaderText="Folio Mov. Banc." ItemStyle-Width="10%" Visible="false">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveIE", "/Bancos/IE.aspx?CveIE={0}") %>' Text='<%# Eval("FolioMov") %>'></asp:HyperLink>
<asp:HyperLink ID="HplNumFolioMov" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveIE", "/Bancos/IE.aspx?CveIE={0}") %>' Text='<%# Eval("FolioMov") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
@@ -151,6 +171,59 @@
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalUpload" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Actualizar Fechas</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpFecha" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-6" style="text-align: center;">
<asp:TextBox ID="txtFechaActualizar" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="btnFechaActualizar" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaActualiar" runat="server" TargetControlID="txtFechaActualizar" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaActualiar" TargetControlID="txtFechaActualizar" PopupButtonID="btnFechaActualizar" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaActualiar" runat="server" ControlToValidate="txtFechaActualizar" Display="None" ErrorMessage="La fecha no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Actualiza"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaActualiar" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaActualiar" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-6" style="text-align: center;">
<asp:TextBox ID="txtFechaActualizarFin" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="btnFechaActualizarFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaActualiarFin" runat="server" TargetControlID="txtFechaActualizarFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaActualiarFin" TargetControlID="txtFechaActualizarFin" PopupButtonID="btnFechaActualizarFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaActualiarFin" runat="server" ControlToValidate="txtFechaActualizarFin" Display="None" ErrorMessage="La fecha no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Actualiza"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaActualiarFin" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaActualiarFin" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnGuardarArchivo" OnClick="BtnGuardarArchivo_Click" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-primary" ValidationGroup="Actualiza" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">

View File

@@ -121,20 +121,20 @@ public partial class OC_RepSolicitudesAnticipo : ClsPaginas
{
if (DdlEstatus.SelectedValue.ToEntero() == 3)
{
GvSolicitudes.Columns[5].Visible = false;
GvSolicitudes.Columns[9].Visible = false;
GvSolicitudes.Columns[6].Visible = false;
GvSolicitudes.Columns[10].Visible = false;
GvSolicitudes.Columns[6].Visible = true;
GvSolicitudes.Columns[7].Visible = true;
GvSolicitudes.Columns[8].Visible = true;
}
else
{
GvSolicitudes.Columns[5].Visible = true;
GvSolicitudes.Columns[9].Visible = true;
GvSolicitudes.Columns[6].Visible = true;
GvSolicitudes.Columns[10].Visible = true;
GvSolicitudes.Columns[6].Visible = false;
GvSolicitudes.Columns[7].Visible = false;
GvSolicitudes.Columns[8].Visible = false;
}
CargaDatos();
@@ -153,6 +153,60 @@ public partial class OC_RepSolicitudesAnticipo : ClsPaginas
{
GenerarImpresionMasiva();
}
protected void LnkCambiarFecha_Click(object sender, EventArgs e)
{
GvSolicitudes.Columns[0].Visible = true;
LnkGuardar.Visible = true;
LnkCambiarFecha.Visible = false;
UPAcciones.Update();
UPDatos.Update();
}
protected void BtnGuardarArchivo_Click(object sender, EventArgs e)
{
ActualizarFechas();
RegistraScript("$('#ModalUpload').modal('hide')", "hidemodal1");
GvSolicitudes.Columns[0].Visible = false;
LnkGuardar.Visible = false;
LnkCambiarFecha.Visible = true;
UPAcciones.Update();
UPDatos.Update();
}
private void ActualizarFechas()
{
ClsOIEventos ObjEvento = new ClsOIEventos();
DateTime FechaInicio;
DateTime FechaFin;
int CveEvento;
Boolean TieneError = true;
foreach (GridViewRow Gvr in GvSolicitudes.Rows)
{
if (Gvr.FCCheckBox("ChkOrdenCompra").Checked)
{
FechaInicio = txtFechaActualizar.Text.ToDateTime();
FechaFin = txtFechaActualizarFin.Text.ToDateTime();
CveEvento = Gvr.DataKey("CveEvento").ToEntero();
if (ObjEvento.UpdateEvento("-1", "-1", -1, -1, -1, FechaInicio, FechaFin, -1, "-1", CveEvento))
{
TieneError = false;
}
else
{
TieneError = true;
Alert("Ocurrio un error al actulizar las fechas", TipoMensaje.MsgError);
ObjEvento.RollBack();
break;
}
}
}
if (TieneError == false) {
ObjEvento.Commit();
Alert("Las Fechas se actualizaron correctamente");
}
ObjEvento.Dispose();
CargaDatos();
}
protected void GenerarPDF(String Opcion)
{

View File

@@ -106,7 +106,7 @@
<asp:GridView ID="GVRegDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros"
CssClass="ADSCROLLER2 table table-striped table-advance table-hover Widthall" data-rows="1" data-cols="3" data-heightmenos="100" data-heightfijo="600" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Numero" ItemStyle-HorizontalAlign="Left">
<asp:TemplateField HeaderText="Numero" ItemStyle-HorizontalAlign="Left" >
<ItemTemplate>
<asp:Label ID="LtlNumero" runat="server" CssClass="truncate" Width="50" Text='<%# Eval("CvePersonal") %>'> </asp:Label>
</ItemTemplate>

View File

@@ -162,7 +162,8 @@ Partial Class RH_RepChecadorPreAsistencia
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlTurno.Items.Insert(0, New ListItem("Todos", "-1"))
DdlTurno.SelectedValue = "-1"
End Sub
@@ -326,6 +327,7 @@ Partial Class RH_RepChecadorPreAsistencia
Resultados.Columns.Add("CvePersonal")
Resultados.Columns.Add("NombreCompleto")
'Resultados.Columns.Add("Codigo")
Resultados.Columns.Add("CveSubProyecto")
Resultados.Columns.Add("SalarioDiario")
Resultados.Columns.Add("CveAsistenciasInasistencias")
@@ -350,11 +352,11 @@ Partial Class RH_RepChecadorPreAsistencia
If DdlTurno.SelectedValue.ToEntero > 0 And DdlTipoPeriodo.SelectedValue.ToEntero > 0 And DdlRango.SelectedValue.ToEntero > 0 Then
Dim FiltroSubProyecto As String = ""
Dim filtroturno = If(DdlTurno.SelectedValue = "-1", "", $"AND CveTurno = { DdlTurno.SelectedValue}")
If DdlSubProyecto.SelectedIndex > 0 Then
FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } AND CveTurno = { DdlTurno.SelectedValue} AND CveSubProyecto = { DdlSubProyecto.SelectedValue.ToEntero }"
FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } {filtroturno} AND CveSubProyecto = { DdlSubProyecto.SelectedValue.ToEntero }"
Else
FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } AND CveTurno = { DdlTurno.SelectedValue} "
FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } {filtroturno} "
End If
DtPersonal = GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros(FiltroSubProyecto)
@@ -429,6 +431,7 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = "-1"
@@ -612,6 +615,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
@@ -708,6 +712,7 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
@@ -760,6 +765,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0"
ReRow("Asistio") = "False"
@@ -797,6 +803,7 @@ Partial Class RH_RepChecadorPreAsistencia
dt.Columns.Add("CvePersonal")
dt.Columns.Add("NombreCompleto")
'dt.Columns.Add("Codigo")
dt.Columns.Add("Fecha1")
dt.Columns.Add("Fecha2")
dt.Columns.Add("Fecha3")
@@ -857,8 +864,9 @@ Partial Class RH_RepChecadorPreAsistencia
For Each pRow As DataRow In DtPersonal.Rows
Dim RRow As DataRow = dt.NewRow
RRow("CvePersonal") = pRow("CvePErsonal")
RRow("CvePersonal") = pRow("CvePersonal")
RRow("NombreCompleto") = pRow("NombreCompleto")
'RRow("Codigo") = pRow("Codigo")
ColumN = 2
@@ -974,9 +982,10 @@ Partial Class RH_RepChecadorPreAsistencia
DTAsistenciasInasistencias = objRH.DtResultados
End If
DtPersonal = GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros(" CveTipoPeriodo = " & DdlTipoPeriodo.SelectedValue & " AND CveEstado = 1 AND CveTurno = " & DdlTurno.SelectedValue)
DtPersonal = GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros($" CveTipoPeriodo = { DdlTipoPeriodo.SelectedValue} AND CveEstado = 1 " & If(DdlTurno.SelectedValue = "-1", "", $" AND CveTurno = {DdlTurno.SelectedValue}"))
dt.Columns.Add("CvePersonal")
dt.Columns.Add("NombreCompleto")
'dt.Columns.Add("Codigo")
dt.Columns.Add("Fecha1")
dt.Columns.Add("Fecha2")
dt.Columns.Add("Fecha3")
@@ -1032,8 +1041,9 @@ Partial Class RH_RepChecadorPreAsistencia
For Each pRow As DataRow In DtPersonal.Rows
Dim RRow As DataRow = dt.NewRow
RRow("CvePersonal") = pRow("CvePErsonal")
RRow("CvePersonal") = pRow("CvePersonal")
RRow("NombreCompleto") = pRow("NombreCompleto")
'RRow("Codigo") = pRow("Codigo")
ColumN = 2
For Each drow As DataRow In DTFechas.Rows

View File

@@ -1,42 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AjaxControlToolkit" version="15.1.4.0" targetFramework="net4" />
<package id="AjaxControlToolkit.StaticResources" version="15.1.4.0" targetFramework="net4" />
<package id="Antlr" version="3.4.1.9004" targetFramework="net4" />
<package id="jQuery" version="1.6.4" targetFramework="net45" />
<package id="log4net" version="1.2.10" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR" version="2.4.1" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.4.1" targetFramework="net45" />
<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" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="6.7.1" targetFramework="net45" />
<package id="Microsoft.IdentityModel.Logging" version="6.7.1" targetFramework="net45" />
<package id="Microsoft.IdentityModel.Tokens" version="6.7.1" targetFramework="net45" />
<package id="Microsoft.Owin" version="4.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Owin.Security" version="4.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Jwt" version="4.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Security.OAuth" version="4.1.0" targetFramework="net45" />
<package id="Microsoft.ReportingServices.ReportViewerControl.WebForms" version="150.1358.0" targetFramework="net45" />
<package id="Microsoft.ReportViewer.2015.Runtime" version="12.0.2.2402" targetFramework="net45" />
<package id="Microsoft.ReportViewer.Common.v12" version="12.0.0.1" targetFramework="net45" />
<package id="Microsoft.ReportViewer.WebForms.v12" version="12.0.0.0" targetFramework="net45" />
<package id="Microsoft.SqlServer.Types" version="14.0.1016.290" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net4" />
<package id="Microsoft.Web.Xdt" version="1.0.0" targetFramework="net4" />
<package id="NC-OS-SessionStateProvider" version="4.4.0.0" targetFramework="net40" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net45" />
<package id="NuGet.Core" version="2.8.0" targetFramework="net4" />
<package id="Owin" version="1.0" targetFramework="net45" />
<package id="StackExchange.Redis.StrongName" version="1.0.488" targetFramework="net40" />
<package id="System.IdentityModel.Tokens.Jwt" version="6.7.1" targetFramework="net45" />
<package id="WebGrease" version="1.6.0" targetFramework="net40" />
<package id="AjaxControlToolkit" version="15.1.4.0" targetFramework="net461" />
<package id="AjaxControlToolkit.StaticResources" version="15.1.4.0" targetFramework="net461" />
<package id="Antlr" version="3.4.1.9004" targetFramework="net461" />
<package id="jQuery" version="1.6.4" targetFramework="net461" />
<package id="log4net" version="1.2.10" targetFramework="net461" />
<package id="Microsoft.AspNet.SignalR" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.6" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.6" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.Bcl" version="1.1.9" targetFramework="net461" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net461" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net461" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net461" />
<package id="Microsoft.Bcl.HashCode" version="1.1.1" targetFramework="net461" />
<package id="Microsoft.EntityFrameworkCore" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.EntityFrameworkCore.Abstractions" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.EntityFrameworkCore.Analyzers" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Caching.Abstractions" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Caching.Memory" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Configuration" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Configuration.Binder" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.DependencyInjection" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Logging" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Options" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Primitives" version="3.1.14" targetFramework="net461" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="6.11.0" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Logging" version="6.11.0" targetFramework="net461" />
<package id="Microsoft.IdentityModel.Tokens" version="6.11.0" targetFramework="net461" />
<package id="Microsoft.Owin" version="4.1.1" targetFramework="net461" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net461" />
<package id="Microsoft.Owin.Security" version="4.1.0" targetFramework="net461" />
<package id="Microsoft.Owin.Security.Jwt" version="4.1.0" targetFramework="net461" />
<package id="Microsoft.Owin.Security.OAuth" version="4.1.0" targetFramework="net461" />
<package id="Microsoft.ReportingServices.ReportViewerControl.WebForms" version="150.1358.0" targetFramework="net461" />
<package id="Microsoft.ReportViewer.2015.Runtime" version="12.0.2.2402" targetFramework="net461" />
<package id="Microsoft.ReportViewer.Common.v12" version="12.0.0.1" targetFramework="net461" />
<package id="Microsoft.ReportViewer.WebForms.v12" version="12.0.0.0" targetFramework="net461" />
<package id="Microsoft.SqlServer.Types" version="14.0.1016.290" targetFramework="net461" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<package id="Microsoft.Web.Xdt" version="1.0.0" targetFramework="net461" />
<package id="NC-OS-SessionStateProvider" version="4.4.0.0" targetFramework="net461" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net461" />
<package id="NuGet.Core" version="2.8.0" targetFramework="net461" />
<package id="Owin" version="1.0" targetFramework="net461" />
<package id="StackExchange.Redis.StrongName" version="1.0.488" targetFramework="net461" />
<package id="System.Buffers" version="4.5.1" targetFramework="net461" />
<package id="System.Collections.Immutable" version="1.7.1" targetFramework="net461" />
<package id="System.ComponentModel.Annotations" version="4.7.0" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.7.1" targetFramework="net461" />
<package id="System.IdentityModel.Tokens.Jwt" version="6.10.1" targetFramework="net461" />
<package id="System.Memory" version="4.5.4" targetFramework="net461" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net461" />
<package id="System.Text.Encodings.Web" version="5.0.1" targetFramework="net461" />
<package id="System.Text.Json" version="5.0.2" targetFramework="net461" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net461" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
<package id="WebGrease" version="1.6.0" targetFramework="net461" />
</packages>

View File

@@ -232,6 +232,10 @@