This commit is contained in:
2024-10-17 10:39:26 -07:00
80 changed files with 94244 additions and 20480 deletions

View File

@@ -343,6 +343,7 @@ Public Class ClsContabilidad
Public Function AddPrePolizasNegativa(CvePrePoliza As Integer, CveUsuario As Integer, Concepto As String, CveEmpresa As Integer, Fecha As Date) As Integer Public Function AddPrePolizasNegativa(CvePrePoliza As Integer, CveUsuario As Integer, Concepto As String, CveEmpresa As Integer, Fecha As Date) As Integer
Dim Retorno As Integer = -1 Dim Retorno As Integer = -1

View File

@@ -1512,6 +1512,34 @@ Public Class ClsPaginas
HttpContext.Current.Application(AppNombre) = value HttpContext.Current.Application(AppNombre) = value
End Set End Set
End Property End Property
Public Shared Property GlobalDTVentasMotivosDevolucion(CveEmpresa As Integer) As DataTable
Get
Dim AppNombre As String = $"GlobalDTVentasMotivosDevolucion-{CveEmpresa}"
'sino existe, recarga los datos
If HttpContext.Current.Application(AppNombre) Is Nothing Then
Dim ObjGral As New ClsVentas()
If ObjGral.GetMotivoDevolucion(-1, 1, CveEmpresa) Then
HttpContext.Current.Application(AppNombre) = ObjGral.DtResultados
End If
ObjGral.Dispose()
End If
If HttpContext.Current.Application(AppNombre) IsNot Nothing Then
Dim Str As New StringBuilder
Str.AppendFormat(" 1 = 1 ")
'If CveMotivoCancelacion > 0 Then Str.AppendFormat(" AND CveMotivoCancelacion = {0}", CveMotivoCancelacion)
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows)
GlobalDTVentasMotivosDevolucion = Dv.ToTable
Dv.Dispose()
Else
GlobalDTVentasMotivosDevolucion = Nothing
End If
End Get
Set(value As DataTable)
Dim AppNombre As String = $"GlobalDTVentasMotivosDevolucion-{CveEmpresa}"
HttpContext.Current.Application(AppNombre) = value
End Set
End Property
Property GlobalDTEstatusOrdenCompra() As DataTable Property GlobalDTEstatusOrdenCompra() As DataTable
Get Get
GlobalDTEstatusOrdenCompra = DirectCast(Application("GlobalDTEstatusOrdenCompra"), DataTable) GlobalDTEstatusOrdenCompra = DirectCast(Application("GlobalDTEstatusOrdenCompra"), DataTable)
@@ -11027,45 +11055,90 @@ Public Class ClsPaginas
Public Shared Sub EnviaNotificacionSMS(Tipo As Integer, tEmpresa As Empresa, CveOS As Integer, Folio As String, FechaCirugía As DateTime, Hospital As String, Medico As String, Procedimiento As String, Tecnico As String, Vendedor As String, Remision As String, ListaPS As List(Of GenericaCantidadProducto), CorreoDestino As String) Public Shared Sub EnviaNotificacionSMS(Tipo As Integer, tEmpresa As Empresa, CveOS As Integer, Folio As String, FechaCirugía As DateTime, Hospital As String, Medico As String, Procedimiento As String, Tecnico As String, Vendedor As String, Remision As String, ListaPS As List(Of GenericaCantidadProducto), CorreoDestino As String)
Dim ObjMail As New ClsSisMail() Dim ObjMail As New ClsSisMail()
Dim Asunto As String = "" Dim Asunto As String = ""
Dim OpcionNegritas As String = ""
Dim TextoFinal As String = ""
Dim Contenido As New StringBuilder Dim Contenido As New StringBuilder
Contenido.Append("<html>") Contenido.Append("<html>")
Contenido.Append("<head>") Contenido.Append("<head>")
Contenido.Append("<meta charset='UTF-8'>") Contenido.Append("<meta charset='UTF-8'>")
Contenido.Append(" <style type=""text/css""> ")
Contenido.Append(" .Negritas ")
Contenido.Append(" { ")
Contenido.Append(" font-weight:bold; ")
Contenido.Append(" font-size:19px; ")
Contenido.Append(" } ")
Contenido.Append(" </style> ")
Contenido.Append("</head>") Contenido.Append("</head>")
Contenido.Append(" <body style='width:800px'>") Contenido.Append(" <body style='width:800px'>")
'Contenido.Append("<div>") 'Contenido.Append("<div>")
'Contenido.Append($"<img src='http://sms.adssistemas.mx/Empresas/186/Logo.png' style='width:200px'></img>") 'Contenido.Append($"<img src='http://sms.adssistemas.mx/Empresas/186/Logo.png' style='width:200px'></img>")
'Contenido.Append("</div>") 'Contenido.Append("</div>")
Select Case Tipo Select Case Tipo
Case 3
Asunto = $"Nuevo Pedido:{FechaCirugía.ToString("dd/MM/yyyy HH:mm")}"
Contenido.AppendFormat("Pedido: <a href='https://sms.adssistemas.mx/Ventas/Ventas.aspx?CveVenta={0}'>{1}</a><br/>", CveOS, Folio)
OpcionNegritas = "H"
Case 4
Asunto = $"Nuevo Pedido:{Remision}"
Contenido.AppendFormat("Pedido: <a href='https://sms.adssistemas.mx/Ventas/Vetas.aspx?CveVenta={0}'>{1}</a><br/>", CveOS, Folio)
OpcionNegritas = "H"
Case 5
Asunto = "Cirugía de Urgencia"
Contenido.AppendFormat("Pedido: <a href='https://sms.adssistemas.mx/Ventas/Ventas.aspx?CveVenta={0}'>{1}</a><br/>", CveOS, Folio)
OpcionNegritas = "H"
Case 6 Case 6
Asunto = "Tu pedido ha sido entregado" Asunto = "Tu pedido ha sido entregado"
Contenido.AppendFormat(" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></p>", CveOS, Folio) Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
OpcionNegritas = "Mat"
Case 7
Asunto = $"Se te ha asignado una CX:{FechaCirugía.ToString("dd/MM/yyyy HH:mm")}"
Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
OpcionNegritas = "H"
Case 8
Asunto = "Tu CX ha sido asignada"
Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
OpcionNegritas = "T"
Case 9 Case 9
Asunto = "Material Utilizado en tu CX" Asunto = "Material Utilizado en tu CX"
Contenido.AppendFormat(" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></p>", CveOS, Folio) Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
OpcionNegritas = "Mat"
Case 10 Case 10
Asunto = "Material por recolectar; Remisión: " & Remision Asunto = "Material por recolectar; Remisión: " & Remision
Contenido.AppendFormat(" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></p>", CveOS, Folio) Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
Case 11 Case 11
Asunto = "Sin material por recolectar ; Remisión " & Remision Asunto = "Sin material por recolectar ; Remisión " & Remision
Contenido.AppendFormat(" <p style='width:100%;text-align:center;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></p>", CveOS, Folio) Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
Case 12 Case 12
Asunto = "Remisión por facturar ### (folio de Remisión)" Asunto = "Remisión por facturar:" & Folio
Contenido.AppendFormat("Remisión: <a href='https://sms.adssistemas.mx/Ventas/Vetas.aspx?CveVenta={0}'>{1}</a><br/>", CveOS, Folio) Contenido.AppendFormat(" <b>Remisión: <a href='https://sms.adssistemas.mx/Ventas/Ventas.aspx?CveVenta={0}'>{1}</a></b><br/>", CveOS, Folio)
Case 13
Asunto = "Cirugía Cancelada"
Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
OpcionNegritas = "F"
Case 14
Asunto = "Cirugía Cancelada; Remisión " & Remision
Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
OpcionNegritas = "Mat"
TextoFinal = "<b>CANCELADA</b>"
Case 15
Asunto = "Cirugía Cancelada; OS " & Folio
Contenido.AppendFormat(" <span style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:12pt'>OS: <a href='https://sms.adssistemas.mx/OS/OrdenesServicios.aspx?CveOS={0}'>{1}</a><br/></span>", CveOS, Folio)
TextoFinal = "<b>CANCELADA</b>"
End Select End Select
Contenido.AppendFormat("Fecha y hora de cx: {0}<br/>", FechaCirugía.ToString("dd/MM/yyyy HH:mm")) Contenido.AppendFormat("<span style='{1}'>Fecha y hora de cx: {0}</span><br/>", FechaCirugía.ToString("dd/MM/yyyy HH:mm"), If(OpcionNegritas = "T", "Negritas", ""))
Contenido.AppendFormat("Hospital: {0}<br/>", Hospital) Contenido.AppendFormat("Hospital: {0}<br/>", Hospital)
Contenido.AppendFormat("Médico: {0}<br/>", Medico) If Medico <> "" Then Contenido.AppendFormat("Médico: {0}<br/>", Medico)
Contenido.AppendFormat("Procedimiento: {0}<br/>", Procedimiento) If Procedimiento <> "" Then Contenido.AppendFormat("Procedimiento: {0}<br/>", Procedimiento)
If Tecnico <> "" Then Contenido.AppendFormat("Técnico: {0}<br/>", Tecnico) If Tecnico <> "" Then Contenido.AppendFormat("Técnico: {0}<br/>", If(OpcionNegritas = "T", $"<b>{Tecnico}</b>", Tecnico))
Contenido.AppendFormat("Vendedor: {0}<br/>", Vendedor) If Vendedor <> "" Then Contenido.AppendFormat("Vendedor: {0}<br/>", Vendedor)
Contenido.AppendFormat("Remisión: {0}<br/>", Remision) If Remision <> "" Then Contenido.AppendFormat("Remisión: {0}<br/>", Remision)
If ListaPS IsNot Nothing Then
If ListaPS.Count > 0 Then If ListaPS.Count > 0 Then
Contenido.Append(" <div style='width:100%;text-align:left'>") Contenido.Append(" <div style='width:100%;text-align:left;font-family:Segoe UI Semibold;font-size:10pt''>")
Contenido.Append(" <table style='width:100%;font-family:Segoe UI Semibold;font-size:12pt'>") Contenido.AppendFormat("<span>Productos.</span><br/>", Remision)
Contenido.AppendFormat("<b>Productos.</b><br/>", Remision) Contenido.Append(" <table style='width:100%;'>")
For Each ps As GenericaCantidadProducto In ListaPS For Each ps As GenericaCantidadProducto In ListaPS
Contenido.AppendFormat("<tr><td style='width:25%'>{0}</td><td style='width:75%'>{1}</td></tr>", ps.Cantidad.FormatoNumero(0), ps.Producto) Contenido.AppendFormat("<tr><td style='width:25%'>{0}</td><td style='width:75%'>{1}</td></tr>", ps.Cantidad.FormatoNumero(0), ps.Producto)
Next Next
@@ -11074,13 +11147,18 @@ Public Class ClsPaginas
Else Else
Contenido.AppendFormat("<b>Sin material sobrante.</b><br/>", Remision) Contenido.AppendFormat("<b>Sin material sobrante.</b><br/>", Remision)
End If End If
Contenido.AppendFormat("Remisión: {0}<br/>", Remision) End If
Contenido.AppendFormat("<br/> {0}<br/>", TextoFinal)
'Contenido.AppendFormat("<br/>CorreoDestino: {0}<br/>", CorreoDestino)
Contenido.Append(" </body>") Contenido.Append(" </body>")
Contenido.Append("</html>") Contenido.Append("</html>")
'CorreoDestino = "rene.molina@adssistemas.mx"
If ObjMail.SendMail(tEmpresa, CorreoDestino, Asunto, Contenido.ToString) Then If ObjMail.SendMail(tEmpresa, CorreoDestino, Asunto, Contenido.ToString) Then
End If End If
End Sub End Sub
End Class End Class

View File

@@ -3698,6 +3698,26 @@ Namespace Extensiones
Public Function FirstDayOfMonth(ByVal Fecha As Date) As Date Public Function FirstDayOfMonth(ByVal Fecha As Date) As Date
Return New DateTime(Fecha.Year, Fecha.Month, 1) Return New DateTime(Fecha.Year, Fecha.Month, 1)
End Function End Function
<Runtime.CompilerServices.Extension()>
Public Function ListaBusquedaValor(TextoArreglo As String, ValorBuscado As String, Optional Delimitador As Char = "|"c) As String
Dim Retorno As String = ""
' Separar por ";" para obtener cada par clave:valor
Dim pairs() As String = TextoArreglo.Trim.Split(Delimitador)
For Each pair As String In pairs
' Verificar que el par no esté vacío
If Not String.IsNullOrWhiteSpace(pair) Then
' Separar por ":" para obtener clave y valor
Dim columns() As String = pair.Split(":"c)
If columns.Length = 2 Then
If columns(0) = ValorBuscado Then
Retorno = columns(1)
Exit For
End If
End If
End If
Next
Return Retorno
End Function
Private ReadOnly Property ObjClsPaginas As ClsPaginas Private ReadOnly Property ObjClsPaginas As ClsPaginas
Get Get

View File

@@ -78,7 +78,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
cevent.CveOS = dr("CveOS").ToString.ToEntero cevent.CveOS = dr("CveOS").ToString.ToEntero
cevent.allDay = False cevent.allDay = False
If dr("EstatusOSGral").ToString.Contiene("Levantamiento") Then If dr("EstatusOSGral").ToString.Contiene("Levantamiento") Then
cevent.backgroundColor = "#3598dc" cevent.backgroundColor = "#5C9BD1"
ElseIf dr("EstatusOSGral").ToString.Contiene("Surtido") Then ElseIf dr("EstatusOSGral").ToString.Contiene("Surtido") Then
cevent.backgroundColor = "#002699" cevent.backgroundColor = "#002699"
ElseIf dr("EstatusOSGral").ToString.Contiene("Asignado") Then ElseIf dr("EstatusOSGral").ToString.Contiene("Asignado") Then
@@ -86,11 +86,13 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
ElseIf dr("EstatusOSGral").ToString.Contiene("Finalizado") Then ElseIf dr("EstatusOSGral").ToString.Contiene("Finalizado") Then
cevent.backgroundColor = "#26C281" cevent.backgroundColor = "#26C281"
ElseIf dr("EstatusOSGral").ToString.Contiene("Facturado") Then ElseIf dr("EstatusOSGral").ToString.Contiene("Facturado") Then
cevent.backgroundColor = "#4B77BE" cevent.backgroundColor = "#E87E04"
ElseIf dr("EstatusOSGral").ToString.Contiene("Cobrado") Then ElseIf dr("EstatusOSGral").ToString.Contiene("Cobrado") Then
cevent.backgroundColor = "#29b4b6" cevent.backgroundColor = "#c8d046"
ElseIf dr("EstatusOSGral").ToString.Contiene("Cancelado") Then ElseIf dr("EstatusOSGral").ToString.Contiene("Cancelado") Then
cevent.backgroundColor = "#e43a45" cevent.backgroundColor = "#e43a45"
Else
cevent.backgroundColor = ""
End If End If
events.Add(cevent) events.Add(cevent)
Next Next

View File

@@ -56,13 +56,16 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe
Dim Retorno As Boolean = True Dim Retorno As Boolean = True
Dim JsonRetorno As New JObject() Dim JsonRetorno As New JObject()
Dim CveEmpresa As Integer = pCveEmpresa.ToEntero() Dim CveEmpresa As Integer = pCveEmpresa.ToEntero()
GuardaLogFacturacion("- Inicio de facturación ")
If CveEmpresa > 0 Then If CveEmpresa > 0 Then
GuardaLogFacturacion($"1.10 - CveE:{CveEmpresa}")
Dim Usuario = ValidaUsuarioSistema(CveEmpresa) Dim Usuario = ValidaUsuarioSistema(CveEmpresa)
Dim FechaI, FechaF As DateTime Dim FechaI, FechaF As DateTime
'EnviarCorreoFactura(New Modelos.Factura(Usuario, 844966, 1, context.ModExtensiones.DirectorioBaseEmpresas), Usuario) 'EnviarCorreoFactura(New Modelos.Factura(Usuario, 844966, 1, context.ModExtensiones.DirectorioBaseEmpresas), Usuario)
If String.IsNullOrEmpty(pFechaI) AndAlso String.IsNullOrEmpty(pFechaF) Then If String.IsNullOrEmpty(pFechaI) AndAlso String.IsNullOrEmpty(pFechaF) Then
GuardaLogFacturacion("1.200")
Dim FechaReferencia As Date = ClsPaginas.NowADS() Dim FechaReferencia As Date = ClsPaginas.NowADS()
If FechaReferencia.DayOfWeek = DayOfWeek.Sunday Then If FechaReferencia.DayOfWeek = DayOfWeek.Sunday Then
Dim Sabado = FechaReferencia.AddDays(-1) Dim Sabado = FechaReferencia.AddDays(-1)
@@ -77,13 +80,13 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe
GuardaLogFacturacion("Ejecución no permitida, no es el dia permitido para ejecucion o no se espeficaron las fechas") GuardaLogFacturacion("Ejecución no permitida, no es el dia permitido para ejecucion o no se espeficaron las fechas")
End If End If
Else Else
GuardaLogFacturacion("1.300")
FechaI = pFechaI.ToDateTime() FechaI = pFechaI.ToDateTime()
FechaF = pFechaF.ToDateTime() FechaF = pFechaF.ToDateTime()
JsonRetorno = EjecutarFacturacionMasiva(Usuario, FechaI, FechaF, Usuario.Empresa.FacturaProduccion) JsonRetorno = EjecutarFacturacionMasiva(Usuario, FechaI, FechaF, Usuario.Empresa.FacturaProduccion)
End If End If
End If End If
GuardaLogFacturacion("Ejecución Exitosa, se generaron las siguientes facturas:") GuardaLogFacturacion("Ejecución Exitosa, se generaron las siguientes facturas:")
GuardaLogFacturacion(JsonRetorno.ToString()) GuardaLogFacturacion(JsonRetorno.ToString())

BIN
Bin/Mail.dll Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -151,6 +151,10 @@
<member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable"> <member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable">
<summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary> <summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary>
</member> </member>
<member name="M:System.Runtime.CompilerServices.ConfiguredAsyncDisposable.DisposeAsync">
<summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable" />.</summary>
<returns>A task that represents the asynchronous dispose operation.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1"> <member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1">
<summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary> <summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary>
</member> </member>
@@ -166,6 +170,10 @@
<returns>The configured enumerable.</returns> <returns>The configured enumerable.</returns>
<remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks> <remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks>
</member> </member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator">
<summary>Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.</summary>
<returns>An enumerator for the <see cref="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1" /> class.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator"> <member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator">
<summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary> <summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
</member> </member>
@@ -186,6 +194,83 @@
resetting unmanaged resources asynchronously. resetting unmanaged resources asynchronously.
</summary> </summary>
</member> </member>
<member name="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute">
<summary>Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)" />.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.EnumeratorCancellationAttribute.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute" /> class.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="T:System.Collections.Generic.IAsyncEnumerable`1"> <member name="T:System.Collections.Generic.IAsyncEnumerable`1">
<summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary> <summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
<typeparam name="T">The type of values to enumerate.</typeparam> <typeparam name="T">The type of values to enumerate.</typeparam>
@@ -219,5 +304,114 @@
resetting unmanaged resources asynchronously. resetting unmanaged resources asynchronously.
</summary> </summary>
</member> </member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members> </members>
</doc> </doc>

File diff suppressed because it is too large Load Diff

View File

@@ -1,140 +1,666 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0"?>
<doc> <doc>
<assembly> <assembly>
<name>Microsoft.Extensions.DependencyInjection</name> <name>Microsoft.Extensions.DependencyInjection</name>
</assembly> </assembly>
<members> <members>
<member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
<summary>
Pretty print a type name.
</summary>
<param name="type">The <see cref="T:System.Type"/>.</param>
<param name="fullName"><c>true</c> to print a fully qualified name.</param>
<param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
<param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
<param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
<returns>The pretty printed type name.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"> <member name="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory">
<summary>Default implementation of <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceProviderFactory`1" />.</summary> <summary>
Default implementation of <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceProviderFactory`1"/>.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor"> <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory" /> class <summary>
with default options.</summary> Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"/> class
with default options.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)"> <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)">
<summary>Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory" /> class <summary>
with the specified <paramref name="options" />.</summary> Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"/> class
with the specified <paramref name="options"/>.
</summary>
<param name="options">The options to use for this instance.</param> <param name="options">The options to use for this instance.</param>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>Creates a container builder from an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <inheritdoc />
<param name="services" />
<returns>A container builder that can be used to create an <see cref="T:System.IServiceProvider" />.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>Creates an <see cref="T:System.IServiceProvider" /> from the container builder.</summary> <inheritdoc />
<param name="containerBuilder" />
<returns>An <see cref="T:System.IServiceProvider" />.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollection">
<summary>Default implementation of <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.#ctor" />
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Clear">
<summary>Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Contains(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
<summary>Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.</summary>
<param name="item" />
<returns>
<see langword="true" /> if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, <see langword="false" />.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.CopyTo(Microsoft.Extensions.DependencyInjection.ServiceDescriptor[],System.Int32)">
<summary>Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.</summary>
<param name="array" />
<param name="arrayIndex" />
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.GetEnumerator">
<summary>Returns an enumerator that iterates through the collection.</summary>
<returns>An enumerator that can be used to iterate through the collection.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.IndexOf(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
<summary>Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.</summary>
<param name="item" />
<returns>The index of <paramref name="item" /> if found in the list; otherwise, -1.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Insert(System.Int32,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
<summary>Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.</summary>
<param name="index" />
<param name="item" />
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Remove(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
<summary>Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
<param name="item" />
<returns>
<see langword="true" /> if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.RemoveAt(System.Int32)">
<summary>Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.</summary>
<param name="index" />
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.System#Collections#Generic#ICollection{Microsoft#Extensions#DependencyInjection#ServiceDescriptor}#Add(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
<summary>Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.System#Collections#IEnumerable#GetEnumerator">
<summary>Returns an enumerator that iterates through a collection.</summary>
<returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceCollection.Count">
<summary>Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceCollection.IsReadOnly">
<summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceCollection.Item(System.Int32)">
<summary>Gets or sets the element at the specified index.</summary>
<param name="index" />
</member> </member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions"> <member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions">
<summary>Extension methods for building a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" /> from an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <summary>
Extension methods for building a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> from an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" /> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> containing service descriptors.</param> Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" />.</returns> </summary>
</member> <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)"> <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
<summary>Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" /> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> optionally enabling service-creation and scope validation.</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> containing service descriptors.</param>
<param name="options">Configures various service provider behaviors including service-creation and scope validation.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" />.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Boolean)"> <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Boolean)">
<summary>Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" /> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> <summary>
optionally enabling scope validation.</summary> Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> containing service descriptors.</param> optionally enabling scope validation.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
<param name="validateScopes"> <param name="validateScopes">
<see langword="true" /> to perform check verifying that scoped services never gets resolved from root provider; otherwise, <see langword="false" />.</param> <c>true</c> to perform check verifying that scoped services never gets resolved from root provider; otherwise <c>false</c>.
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider" />.</returns> </param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)">
<summary>
Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
optionally enabling scope validation.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
<param name="options">
Configures various service provider behaviors.
</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<summary>
Type of service being cached
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Slot">
<summary>
Reverse index of the service when resolved in <c>IEnumerable&lt;Type&gt;</c> where default instance gets slot 0.
For example for service collection
IService Impl1
IService Impl2
IService Impl3
We would get the following cache keys:
Impl1 2
Impl2 1
Impl3 0
</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</summary>
</member> </member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"> <member name="T:Microsoft.Extensions.DependencyInjection.ServiceProvider">
<summary>The default IServiceProvider.</summary> <summary>
</member> The default IServiceProvider.
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.Dispose"> </summary>
<summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.DisposeAsync">
<summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.</summary>
<returns>A task that represents the asynchronous dispose operation.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(System.Type)"> <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(System.Type)">
<summary>Gets the service object of the specified type.</summary> <summary>
Gets the service object of the specified type.
</summary>
<param name="serviceType">The type of the service to get.</param> <param name="serviceType">The type of the service to get.</param>
<returns>The service that was produced.</returns> <returns>The service that was produced.</returns>
</member> </member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions"> <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetKeyedService(System.Type,System.Object)">
<summary>Options for configuring various behaviors of the default <see cref="T:System.IServiceProvider" /> implementation.</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.#ctor" />
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateOnBuild">
<summary> <summary>
<see langword="true" /> to perform check verifying that all services can be created during <see cref="MM:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)" /> call; otherwise, <see langword="false" />. Defaults to <see langword="false" />. Gets the service object of the specified type with the specified key.
NOTE: this check doesn't verify open generics services.</summary> </summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.Dispose">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.DisposeAsync">
<inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions">
<summary>
Options for configuring various behaviors of the default <see cref="T:System.IServiceProvider"/> implementation.
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateScopes"> <member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateScopes">
<summary> <summary>
<see langword="true" /> to perform check verifying that scoped services never gets resolved from root provider; otherwise, <see langword="false" />. Defaults to <see langword="false" />.</summary> <c>true</c> to perform check verifying that scoped services never gets resolved from root provider; otherwise <c>false</c>. Defaults to <c>false</c>.
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateOnBuild">
<summary>
<c>true</c> to perform check verifying that all services can be created during <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
<summary>
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
with the specified member types.
</summary>
<param name="memberTypes">The types of members dynamically accessed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members dynamically accessed.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
<summary>
Specifies the types of members that are dynamically accessed.
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
bitwise combination of its member values.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
<summary>
Specifies no members.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
<summary>
Specifies the default, parameterless public constructor.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
<summary>
Specifies all public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
<summary>
Specifies all non-public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
<summary>
Specifies all public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
<summary>
Specifies all non-public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
<summary>
Specifies all public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
<summary>
Specifies all non-public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
<summary>
Specifies all public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
<summary>
Specifies all non-public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
<summary>
Specifies all public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
<summary>
Specifies all non-public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
<summary>
Specifies all public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
<summary>
Specifies all non-public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
<summary>
Specifies all interfaces implemented by the type.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
<summary>
Specifies all members.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
<summary>
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
</summary>
<remarks>
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
class, specifying the category of the tool and the identifier for an analysis rule.
</summary>
<param name="category">The category for the attribute.</param>
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
<summary>
Gets the category identifying the classification of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
for which a message suppression attribute applies.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
<summary>
Gets the identifier of the analysis tool rule to be suppressed.
</summary>
<remarks>
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
properties form a unique check identifier.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
<summary>
Gets or sets the scope of the code that is relevant for the attribute.
</summary>
<remarks>
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
<summary>
Gets or sets a fully qualified path that represents the target of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
<summary>
Gets or sets an optional argument expanding on exclusion criteria.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
<summary>
Gets or sets the justification for suppressing the code analysis message.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
<summary>
Indicates that the specified method requires the ability to generate new code at runtime,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of dynamic code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of dynamic code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.NoConstructorMatch">
<summary>A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.</summary>
</member>
<member name="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member> </member>
</members> </members>
</doc> </doc>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -1,287 +1,672 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0"?>
<doc> <doc>
<assembly> <assembly>
<name>Microsoft.Extensions.Logging</name> <name>Microsoft.Extensions.Logging</name>
</assembly> </assembly>
<members> <members>
<member name="T:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions"> <member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>Adds logging services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param> None of the trace context part will be included in the logging.
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> so that additional calls can be chained.</returns> </summary>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Logging.ILoggingBuilder})"> <member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>Adds logging services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param> Span Id will be included in the logging.
<param name="configure">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> configuration delegate.</param> </summary>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> so that additional calls can be chained.</returns> </member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions" />
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None" />
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId" />
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId" />
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags" />
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId" />
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState" />
<member name="T:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions"> <member name="T:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions">
<summary>Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.</summary> <summary>
</member> Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> </summary>
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="levelFilter">The filter to be added.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="categoryLevelFilter">The filter to be added.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="filter">The filter to be added.</param> <param name="filter">The filter to be added.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter to the factory.
<param name="category">The category to filter.</param> </summary>
<param name="level">The level to filter.</param> <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <param name="categoryLevelFilter">The filter to be added.</param>
</member> <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="filter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="level">The level to filter.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter to the factory.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param>
<param name="levelFilter">The filter to be added.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter to be added.</param> <param name="categoryLevelFilter">The filter to be added.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>
Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="levelFilter">The filter to be added.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>
Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="levelFilter">The filter to be added.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)">
<summary>
Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="level">The level to filter.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="category">The category to filter.</param> <param name="category">The category to filter.</param>
<param name="level">The level to filter.</param> <param name="level">The level to filter.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>
Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="category">The category to filter.</param> <param name="category">The category to filter.</param>
<param name="levelFilter">The filter function to apply.</param> <param name="levelFilter">The filter function to apply.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter to the factory.
<param name="levelFilter">The filter function to apply.</param> </summary>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <param name="filter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>
Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param> <param name="categoryLevelFilter">The filter function to apply.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns> <returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>
Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)">
<summary>
Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="category">The category to filter.</param> <param name="category">The category to filter.</param>
<param name="level">The level to filter.</param> <param name="level">The level to filter.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)">
<summary>Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" />.</summary> <summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> to add the filter to.</param> Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="level">The level to filter.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>
Adds a log filter to the factory.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> to add the filter to.</param>
<param name="category">The category to filter.</param> <param name="category">The category to filter.</param>
<param name="levelFilter">The filter function to apply.</param> <param name="levelFilter">The filter function to apply.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> which this filter will be added for.</typeparam> <returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> so that additional calls can be chained.</returns>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that additional calls can be chained.</returns>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.ILoggingBuilder"> <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>An interface for configuring logging providers.</summary> <summary>
</member> Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
<member name="P:Microsoft.Extensions.Logging.ILoggingBuilder.Services"> </summary>
<summary>Gets the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> where Logging services are configured.</summary> <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
<param name="category">The category to filter.</param>
<param name="levelFilter">The filter function to apply.</param>
<typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactory"> <member name="T:Microsoft.Extensions.Logging.LoggerFactory">
<summary>Produces instances of <see cref="T:Microsoft.Extensions.Logging.ILogger" /> classes based on the given providers.</summary> <summary>
Produces instances of <see cref="T:Microsoft.Extensions.Logging.ILogger"/> classes based on the given providers.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory" /> instance.</summary> <summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider})"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider})">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory" /> instance.</summary> <summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger" /> instances.</param> Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
</summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Logging.LoggerFilterOptions)"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Logging.LoggerFilterOptions)">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory" /> instance.</summary> <summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger" /> instances.</param> Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
</summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
<param name="filterOptions">The filter options to use.</param> <param name="filterOptions">The filter options to use.</param>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions})"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions})">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory" /> instance.</summary> <summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger" /> instances.</param> Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
</summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
<param name="filterOption">The filter option to use.</param> <param name="filterOption">The filter option to use.</param>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<param name="providers" /> <summary>
<param name="filterOption" /> Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
<param name="options" /> </summary>
<param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
<param name="filterOption">The filter option to use.</param>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.AddProvider(Microsoft.Extensions.Logging.ILoggerProvider)"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<summary>Adds the given provider to those used in creating <see cref="T:Microsoft.Extensions.Logging.ILogger" /> instances.</summary> <summary>
<param name="provider">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> to add.</param> Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
</member> </summary>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.CheckDisposed"> <param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
<summary>Check if the factory has been disposed.</summary> <param name="filterOption">The filter option to use.</param>
<returns> <param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<see langword="true" /> when <see cref="M:Microsoft.Extensions.Logging.LoggerFactory.Dispose" /> as been called</returns> <param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</param>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.Create(System.Action{Microsoft.Extensions.Logging.ILoggingBuilder})"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.Create(System.Action{Microsoft.Extensions.Logging.ILoggingBuilder})">
<summary>Creates new instance of <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory" /> configured using provided <paramref name="configure" /> delegate.</summary> <summary>
<param name="configure">A delegate to configure the <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" />.</param> Creates new instance of <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory"/> configured using provided <paramref name="configure"/> delegate.
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory" /> that was created.</returns> </summary>
<param name="configure">A delegate to configure the <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/>.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory"/> that was created.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.CreateLogger(System.String)"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.CreateLogger(System.String)">
<summary>Creates an <see cref="T:Microsoft.Extensions.Logging.ILogger" /> with the given <paramref name="categoryName" />.</summary> <summary>
Creates an <see cref="T:Microsoft.Extensions.Logging.ILogger"/> with the given <paramref name="categoryName"/>.
</summary>
<param name="categoryName">The category name for messages produced by the logger.</param> <param name="categoryName">The category name for messages produced by the logger.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILogger" /> that was created.</returns> <returns>The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that was created.</returns>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.AddProvider(Microsoft.Extensions.Logging.ILoggerProvider)">
<summary>
Adds the given provider to those used in creating <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.
</summary>
<param name="provider">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to add.</param>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.CheckDisposed">
<summary>
Check if the factory has been disposed.
</summary>
<returns>True when <see cref="M:Microsoft.Extensions.Logging.LoggerFactory.Dispose"/> as been called</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactory.Dispose"> <member name="M:Microsoft.Extensions.Logging.LoggerFactory.Dispose">
<summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary> <inheritdoc/>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryOptions" />
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor" />
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions" />
<member name="T:Microsoft.Extensions.Logging.LoggerFilterOptions"> <member name="T:Microsoft.Extensions.Logging.LoggerFilterOptions">
<summary>The options for a LoggerFilter.</summary> <summary>
The options for a LoggerFilter.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFilterOptions.#ctor"> <member name="M:Microsoft.Extensions.Logging.LoggerFilterOptions.#ctor">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions" /> instance.</summary> <summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> instance.
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.CaptureScopes"> <member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.CaptureScopes">
<summary>Gets or sets value indicating whether logging scopes are being captured. Defaults to <see langword="true" /></summary> <summary>
Gets or sets value indicating whether logging scopes are being captured. Defaults to <c>true</c>
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.MinLevel"> <member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.MinLevel">
<summary>Gets or sets the minimum level of log messages if none of the rules match.</summary> <summary>
Gets or sets the minimum level of log messages if none of the rules match.
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.Rules"> <member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.Rules">
<summary>Gets the collection of <see cref="T:Microsoft.Extensions.Logging.LoggerFilterRule" /> used for filtering log messages.</summary> <summary>
Gets the collection of <see cref="T:Microsoft.Extensions.Logging.LoggerFilterRule"/> used for filtering log messages.
</summary>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.LoggerFilterRule"> <member name="T:Microsoft.Extensions.Logging.LoggerFilterRule">
<summary>Defines a rule used to filter log messages.</summary> <summary>
Defines a rule used to filter log messages
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFilterRule.#ctor(System.String,System.String,System.Nullable{Microsoft.Extensions.Logging.LogLevel},System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})"> <member name="M:Microsoft.Extensions.Logging.LoggerFilterRule.#ctor(System.String,System.String,System.Nullable{Microsoft.Extensions.Logging.LogLevel},System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFilterRule" /> instance.</summary> <summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFilterRule"/> instance.
</summary>
<param name="providerName">The provider name to use in this filter rule.</param> <param name="providerName">The provider name to use in this filter rule.</param>
<param name="categoryName">The category name to use in this filter rule.</param> <param name="categoryName">The category name to use in this filter rule.</param>
<param name="logLevel">The <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel" /> to use in this filter rule.</param> <param name="logLevel">The <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"/> to use in this filter rule.</param>
<param name="filter">The filter to apply.</param> <param name="filter">The filter to apply.</param>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggerFilterRule.ToString" /> <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.ProviderName">
<member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.CategoryName"> <summary>
<summary>Gets the logger category this rule applies to.</summary> Gets the logger provider type or alias this rule applies to.
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.Filter"> <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.CategoryName">
<summary>Gets the filter delegate that would be applied to messages that passed the <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel" />.</summary> <summary>
Gets the logger category this rule applies to.
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"> <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel">
<summary>Gets the minimum <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel" /> of messages.</summary> <summary>
Gets the minimum <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"/> of messages.
</summary>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.ProviderName"> <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.Filter">
<summary>Gets the logger provider type or alias this rule applies to.</summary> <summary>
Gets the filter delegate that would be applied to messages that passed the <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFilterRule.ToString">
<inheritdoc/>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.LoggingBuilderExtensions"> <member name="T:Microsoft.Extensions.Logging.LoggingBuilderExtensions">
<summary>Provides extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" />.</summary> <summary>
Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" />.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.AddConfiguration(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Configuration.IConfiguration)"> <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.SetMinimumLevel(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel)">
<summary>Configures logger filter options from an instance of <see cref="T:Microsoft.Extensions.Configuration.IConfiguration" />.</summary> <summary>
<param name="builder">The logging builder to configure logger filter options for.</param> Sets a minimum <see cref="T:Microsoft.Extensions.Logging.LogLevel"/> requirement for log messages to be logged.
<param name="configuration">The filter options to add.</param> </summary>
<returns>The logging builder with filter options configured.</returns> <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to set the minimum level on.</param>
<param name="level">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/> to set as the minimum.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.AddProvider(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider)"> <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.AddProvider(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider)">
<summary>Adds the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> to the <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" /> so that calls can be chained.</summary> <summary>
<param name="builder">The logging builder to add the <paramref name="provider" /> to.</param> Adds the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to the <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/>
<param name="provider">The logger provider to add to the <paramref name="builder" />.</param> </summary>
<returns>A logging builder that you can chain additional calls to.</returns> <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the <paramref name="provider"/> to.</param>
<param name="provider">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to add to the <paramref name="builder"/>.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.ClearProviders(Microsoft.Extensions.Logging.ILoggingBuilder)"> <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.ClearProviders(Microsoft.Extensions.Logging.ILoggingBuilder)">
<summary>Removes all logger providers from <paramref name="builder" />.</summary> <summary>
<param name="builder">The logging builder to remove logging providers from.</param> Removes all <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>s from <paramref name="builder"/>.
<returns>The logging builder with logger providers removed.</returns> </summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to remove <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>s from.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure" /> <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.SetMinimumLevel(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel)"> <summary>
<summary>Sets a minimum <see cref="T:Microsoft.Extensions.Logging.LogLevel" /> requirement for log messages to be logged.</summary> Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
<param name="builder">The logging builder to set the minimum level on.</param> </summary>
<param name="level">One of the enumeration values to set as the minimum logging severity level.</param> <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<returns>The logging builder with minimum log level set.</returns> <param name="action">The action used to configure the logger factory</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
</member> </member>
<member name="T:Microsoft.Extensions.Logging.ProviderAliasAttribute"> <member name="T:Microsoft.Extensions.Logging.ProviderAliasAttribute">
<summary>Defines alias for <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider" /> implementation to be used in filtering rules.</summary> <summary>
Defines alias for <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> implementation to be used in filtering rules.
</summary>
</member> </member>
<member name="M:Microsoft.Extensions.Logging.ProviderAliasAttribute.#ctor(System.String)"> <member name="M:Microsoft.Extensions.Logging.ProviderAliasAttribute.#ctor(System.String)">
<summary>Creates a new <see cref="T:Microsoft.Extensions.Logging.ProviderAliasAttribute" /> instance.</summary> <summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.ProviderAliasAttribute"/> instance.
</summary>
<param name="alias">The alias to set.</param> <param name="alias">The alias to set.</param>
</member> </member>
<member name="P:Microsoft.Extensions.Logging.ProviderAliasAttribute.Alias"> <member name="P:Microsoft.Extensions.Logging.ProviderAliasAttribute.Alias">
<summary>The alias of the provider.</summary> <summary>
The alias of the provider.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.NullExternalScopeProvider">
<summary>
Scope provider that does nothing.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.NullExternalScopeProvider.Instance">
<summary>
Returns a cached instance of <see cref="T:Microsoft.Extensions.Logging.NullExternalScopeProvider"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.NullExternalScopeProvider.Microsoft#Extensions#Logging#IExternalScopeProvider#ForEachScope``1(System.Action{System.Object,``0},``0)">
<inheritdoc />
</member>
<member name="M:Microsoft.Extensions.Logging.NullExternalScopeProvider.Microsoft#Extensions#Logging#IExternalScopeProvider#Push(System.Object)">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.Logging.NullScope">
<summary>
An empty scope without any logic
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.NullScope.Dispose">
<inheritdoc />
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions">
<summary>
Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>
Adds logging services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Logging.ILoggingBuilder})">
<summary>
Adds logging services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
<param name="configure">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> configuration delegate.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
</member>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member> </member>
</members> </members>
</doc> </doc>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

57495
Bin/MimeKit.xml Normal file

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

BIN
Bin/System.Formats.Asn1.dll Normal file

Binary file not shown.

View File

@@ -21,6 +21,13 @@
<typeparam name="T">The type of reference.</typeparam> <typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns> <returns>A new reference that reflects the addition of offset to pointer.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.UIntPtr)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(System.Void*,System.Int32)"> <member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(System.Void*,System.Int32)">
<summary>Adds an element offset to the given void pointer.</summary> <summary>Adds an element offset to the given void pointer.</summary>
<param name="source">The void pointer to add the offset to.</param> <param name="source">The void pointer to add the offset to.</param>
@@ -35,6 +42,13 @@
<typeparam name="T">The type of reference.</typeparam> <typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns> <returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.UIntPtr)">
<summary>Adds a byte offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)"> <member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
<summary>Determines whether the specified references point to the same location.</summary> <summary>Determines whether the specified references point to the same location.</summary>
<param name="left">The first reference to compare.</param> <param name="left">The first reference to compare.</param>
@@ -158,11 +172,16 @@
<see langword="true" /> if <paramref name="left" /> is less than <paramref name="right" />; otherwise, <see langword="false" />.</returns> <see langword="true" /> if <paramref name="left" /> is less than <paramref name="right" />; otherwise, <see langword="false" />.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.IsNullRef``1(``0@)"> <member name="M:System.Runtime.CompilerServices.Unsafe.IsNullRef``1(``0@)">
<param name="source" /> <summary>Determines if a given reference to a value of type <typeparamref name="T" /> is a null reference.</summary>
<typeparam name="T" /> <param name="source">The reference to check.</param>
<typeparam name="T">The type of the reference.</typeparam>
<returns>
<see langword="true" /> if <paramref name="source" /> is a null reference; otherwise, <see langword="false" />.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.NullRef``1"> <member name="M:System.Runtime.CompilerServices.Unsafe.NullRef``1">
<typeparam name="T" /> <summary>Returns a reference to a value of type <typeparamref name="T" /> that is a null reference.</summary>
<typeparam name="T">The type of the reference.</typeparam>
<returns>A reference to a value of type <typeparamref name="T" /> that is a null reference.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)"> <member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T" /> from the given location.</summary> <summary>Reads a value of type <typeparamref name="T" /> from the given location.</summary>
@@ -206,6 +225,13 @@
<typeparam name="T">The type of reference.</typeparam> <typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subtraction of offset from pointer.</returns> <returns>A new reference that reflects the subtraction of offset from pointer.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.UIntPtr)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(System.Void*,System.Int32)"> <member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(System.Void*,System.Int32)">
<summary>Subtracts an element offset from the given void pointer.</summary> <summary>Subtracts an element offset from the given void pointer.</summary>
<param name="source">The void pointer to subtract the offset from.</param> <param name="source">The void pointer to subtract the offset from.</param>
@@ -220,6 +246,13 @@
<typeparam name="T">The type of reference.</typeparam> <typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subtraction of byte offset from pointer.</returns> <returns>A new reference that reflects the subtraction of byte offset from pointer.</returns>
</member> </member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.UIntPtr)">
<summary>Subtracts a byte offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Unbox``1(System.Object)"> <member name="M:System.Runtime.CompilerServices.Unsafe.Unbox``1(System.Object)">
<summary>Returns a <see langword="mutable ref" /> to a boxed value.</summary> <summary>Returns a <see langword="mutable ref" /> to a boxed value.</summary>
<param name="box">The value to unbox.</param> <param name="box">The value to unbox.</param>

Binary file not shown.

Binary file not shown.

View File

@@ -307,6 +307,9 @@
<summary>Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF).</summary> <summary>Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF).</summary>
<returns>The Arabic Extended-A Unicode block (U+08A0-U+08FF).</returns> <returns>The Arabic Extended-A Unicode block (U+08A0-U+08FF).</returns>
</member> </member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicExtendedB">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Arabic Extended-B' Unicode block (U+0870..U+089F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsA"> <member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsA">
<summary>Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</summary> <summary>Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</summary>
<returns>The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</returns> <returns>The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</returns>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -574,7 +574,7 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero
If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301, 3, 11) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301, 3, 11, 296, 227) 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, 205, 225, 234, 235, 237, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 237, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) 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(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen"))
If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))

View File

@@ -2870,7 +2870,7 @@ Partial Class Inventarios_EntradasSalidas
txtCantidad.Enabled = False txtCantidad.Enabled = False
'DdlClasificacion.Enabled = False 'DdlClasificacion.Enabled = False
DdlProducto2.Enabled = False DdlProducto2.Enabled = False
DdlUnidad.Enabled = False 'DdlUnidad.Enabled = False
'codigo provisional, hay entradas con productos, que al asignar serie, debe de tener e ncantidad = 1 'codigo provisional, hay entradas con productos, que al asignar serie, debe de tener e ncantidad = 1
If GvRow.DataKey("Cantidad").ToEntero() > 1 Then txtCantidad.Enabled = True If GvRow.DataKey("Cantidad").ToEntero() > 1 Then txtCantidad.Enabled = True

View File

@@ -4,12 +4,9 @@ Option Explicit On
Imports System.Data Imports System.Data
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.IO Imports System.IO
Imports System.Web.Management
Imports DocumentFormat.OpenXml.InkML
Imports Extensiones Imports Extensiones
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports MoreLinq
Imports Telerik.Web.UI
Partial Class Inventarios_EntregaAlmacen Partial Class Inventarios_EntregaAlmacen
Inherits ClsPaginas Inherits ClsPaginas
@@ -3364,7 +3361,7 @@ Partial Class Inventarios_EntregaAlmacen
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Consola</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}&Consola={1}", CveMovimiento, Consola))) Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Consola</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}&Consola={1}", CveMovimiento, Consola)))
End If End If
If CveMovimientoEntrada > 0 AndAlso Not UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then If CveMovimientoEntrada > 0 AndAlso Not UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
Msg.AppendFormat("<br/><br/> Movimiento Entrada (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada) Msg.AppendFormat("<br/><br/> Movimiento Entrada (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada)
Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
End If End If
@@ -3415,6 +3412,10 @@ Partial Class Inventarios_EntregaAlmacen
Alert(Msg.ToString(), TipoMensaje.MsgInformacion) Alert(Msg.ToString(), TipoMensaje.MsgInformacion)
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
EnviarCorreoEntregaSMS(CveVentaSurtir, UsuarioActual, CveMovimiento, Folio)
End If
Limpia() Limpia()
CargaPendientes() CargaPendientes()
LimpiaCampos() LimpiaCampos()
@@ -3958,6 +3959,48 @@ Partial Class Inventarios_EntregaAlmacen
MailCls = Nothing MailCls = Nothing
End Sub End Sub
Private Sub EnviarCorreoEntregaSMS(tCveVenta As Integer, UsuarioActual As Usuario, tCveMovimiento As Integer, FolioRemision As Integer)
'Dim Correo As New ClsSisMail
Dim SerieFolio As String = ""
Dim Destinatario As String = ""
Dim tCveVendedor As Integer
Dim ObjVentas As New ClsVentas()
Dim strBody As New StringBuilder
If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then
Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("")
tCveVendedor = dr("CveVendedor").ToString.ToEntero()
Dim CorreoVendedor As String = dr("CorreoVendedorVenta").ToString
Dim dtDetalle As New DataTable
Dim objInv As New ClsInventarios
If objInv.GetMovimientosDetalle(tCveMovimiento, UsuarioActual.CveEmpresa) Then
dtDetalle = objInv.DtResultados
End If
objInv.Dispose()
Dim ListMateriales As New List(Of GenericaCantidadProducto)
Dim DetalleTable As String = ""
For Each dRow As DataRow In dtDetalle.Rows
ListMateriales.Add(New GenericaCantidadProducto With {.Cantidad = dRow("Cantidad").ToString.ToEntero, .Producto = dRow("PS").ToString})
Next
Dim tCveOS As Integer = -1
Dim FolioOS As String = "-"
Dim objOS As New ClsOS
If objOS.GetCotizacionOS(CveVentaSurtir) Then
tCveOS = objOS.DtResultados.FiltroPrimeroValor("CveOS", "").ToEntero
FolioOS = objOS.DtResultados.FiltroPrimeroValor("Folio", "")
End If
objOS.Dispose()
' TxtObservaciones.Text = $"Dr. {drE("Medico").ToString}{vbCrLf}Cx. {drE("Procedimiento").ToString}{vbCrLf}F. Cirugía {drE("FechaParaSurtir").ToString.ToDateTime.ToString("dd/MM/yyyy HH:mm")}{vbCrLf}H. {drE("Sucursal").ToString}{vbCrLf}"
EnviaNotificacionSMS(6, UsuarioActual.Empresa, tCveOS, FolioOS, dr("FechaParaSurtir").ToString.ToDateTime, dr("ClienteNombre").ToString, dr("Medico").ToString, dr("Procedimiento").ToString, "", dr("VendedorNombre").ToString, FolioRemision.ToString, ListMateriales, CorreoVendedor)
End If
ObjVentas.Dispose()
End Sub
Private Sub Limpia() Private Sub Limpia()
'DATOS DE LA VENTA 'DATOS DE LA VENTA
@@ -4581,51 +4624,15 @@ Partial Class Inventarios_EntregaAlmacen
Dim ObjOS As New ClsOS(TransaccionSql) Dim ObjOS As New ClsOS(TransaccionSql)
Respuesta = ObjOS.UpdateOrdenesServiciosEstatus(CveOSEstatusFinalizada, UsuarioActual.CveUsuario, CveOSCerrar) Respuesta = ObjOS.UpdateOrdenesServiciosEstatus(CveOSEstatusFinalizada, UsuarioActual.CveUsuario, CveOSCerrar)
Dim cancelarPeido As Boolean = CancelarPedido(TransaccionSql, CveMovimientoGenerado, Respuesta) Dim cancelarPeido As Boolean = CancelarPedido(TransaccionSql, CveMovimientoGenerado, Respuesta)
If Respuesta Then If Respuesta Then
Dim ObjInventario As New ClsInventarios(TransaccionSql) Dim ObjInventario As New ClsInventarios(TransaccionSql)
If ObjInventario.GetMovimientosDetalle(CveMovimientoGenerado, UsuarioActual.CveEmpresa) Then If ObjInventario.GetMovimientosDetalle(CveMovimientoGenerado, UsuarioActual.CveEmpresa) Then
If Not cancelarPeido Then If Not cancelarPeido Then
'Dim DT_Ventas_Detalles As DataTable = DTSolicitudDev.FiltraParametros("", "", {"CantidadPedido", "CvePS", "CveVentaDetalle"})
'DT_Ventas_Detalles.Columns.Add("CantidadUsada", GetType(Decimal))
'DT_Ventas_Detalles.AcceptChanges()
'For Each dRow As DataRow In DT_Ventas_Detalles.Rows
' For Each gvRow As GridViewRow In GvMU.Rows
' Dim CantidadUsada As Decimal = gvRow.FCTextBox("TxtUtilizado").Text.ToDecimal
' If dRow("CvePS").ToString.ToDecimal = gvRow.DataKey("CvePS").ToDecimal AndAlso CantidadUsada > 0 Then
' dRow("CantidadUsada") = dRow("CantidadUsada").ToString.ToDecimal + CantidadUsada
' End If
' Next
'Next
'For Each dRow As DataRow In DT_Ventas_Detalles.Rows
' Dim CantidadUsada As Decimal = dRow("CantidadUsada").ToString.ToDecimal
' If dRow("CantidadUsada").ToString.ToDecimal < dRow("CantidadPedido").ToString.ToDecimal Then
' If Not ObjInventario.UpdatePedidoDetalleCantidad(dRow("CveVentaDetalle").ToString.ToEntero, CantidadUsada, 2) Then
' ProcesoOK = False
' Exit For
' End If
' End If
'Next
For Each Dr As DataRow In ObjInventario.DtResultados.Rows For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CveVentaDetalle As Integer = Dr("CveVentaDetalle").ToString().ToEntero() Dim CveVentaDetalle As Integer = Dr("CveVentaDetalle").ToString().ToEntero()
Dim Cantidad As Decimal = Dr("Cantidad").ToString().ToDecimal Dim Cantidad As Decimal = Dr("Cantidad").ToString().ToDecimal
If CveVentaDetalle > 0 Then If CveVentaDetalle > 0 Then
If Not ObjInventario.UpdatePedidoDetalleCantidad(CveVentaDetalle, Cantidad) Then If Not ObjInventario.UpdatePedidoDetalleCantidad(CveVentaDetalle, Cantidad) Then
Respuesta = False Respuesta = False
@@ -4634,11 +4641,7 @@ Partial Class Inventarios_EntregaAlmacen
Else Else
Respuesta = False Respuesta = False
End If End If
Next Next
End If End If
End If End If
End If End If

View File

@@ -7753,9 +7753,13 @@ Partial Class OC_OC
TxtRetIVA.Text = TxtRetIVA.Text.FormatoNumero TxtRetIVA.Text = TxtRetIVA.Text.FormatoNumero
HdnRetIVA.Value = TxtRetIVA.Text HdnRetIVA.Value = TxtRetIVA.Text
Dim Porcentaje As Decimal = TxtRetIVA.Text.ToDecimal / DtDetalle.SUMD("Total") Dim IvaTotal As Decimal = DtDetalle.FiltraParametros("IVA > 0").SUMD("Total")
Dim Porcentaje As Decimal = TxtRetIVA.Text.ToDecimal / IvaTotal
Dim LastDr As DataRow = Nothing Dim LastDr As DataRow = Nothing
For Each Dr As DataRow In DtDetalle.Rows For Each Dr As DataRow In DtDetalle.Rows
If Dr("IVA").ToString.ToDecimal > 0 Then
'Dr("RetIVA") = (Math.Truncate((Dr("Total").ToString.ToDecimal * Porcentaje) * 100)) / 100 'Dr("RetIVA") = (Math.Truncate((Dr("Total").ToString.ToDecimal * Porcentaje) * 100)) / 100
Dr("RetIVA") = Math.Round((Dr("Total").ToString.ToDecimal * Porcentaje), 2) Dr("RetIVA") = Math.Round((Dr("Total").ToString.ToDecimal * Porcentaje), 2)
'Dr("RetIVA") = Math.Round((Dr("Cantidad").ToString.ToDecimal * Dr("Importe").ToString.ToDecimal * Porcentaje), 2) 'Dr("RetIVA") = Math.Round((Dr("Cantidad").ToString.ToDecimal * Dr("Importe").ToString.ToDecimal * Porcentaje), 2)
@@ -7763,15 +7767,9 @@ Partial Class OC_OC
' Tipo Dato '0' es Cuando es Nuevo, '1' para editar y '2' viene de la BD ' Tipo Dato '0' es Cuando es Nuevo, '1' para editar y '2' viene de la BD
Dr("TipoDato") = If(Dr("TipoDato").ToString.ToEntero = 0, 0, 1) Dr("TipoDato") = If(Dr("TipoDato").ToString.ToEntero = 0, 0, 1)
LastDr = Dr LastDr = Dr
Next End If
'If Not IsNothing(LastDr) Then
' Dim Fdes As Decimal = TxtRetIVA.Text.ToDecimal - DtDetalle.SUM("RetIVA").ToString.ToDecimal
' If Fdes > 0 Then
' LastDr("RetIVA") = LastDr("RetIVA").ToString.ToDecimal + Fdes
' End If
'End If
'Alert(String.Format("Descuento:{0}", DtDetalle.SUM("Descuento"))) Next
CalculaGenerales() CalculaGenerales()

View File

@@ -46,8 +46,6 @@ Partial Class OS_Asignaciones
CargaClientes() CargaClientes()
CargaSubProyecto() CargaSubProyecto()
If UsuarioActual.TienePermisoProceso(171) Then If UsuarioActual.TienePermisoProceso(171) Then
CargaOrdenesServiciosAsignadasXPersona() CargaOrdenesServiciosAsignadasXPersona()
CargaOrdenesServiciosNoAsignadas() CargaOrdenesServiciosNoAsignadas()
@@ -235,7 +233,7 @@ Partial Class OS_Asignaciones
Dim TieneError As Boolean = False Dim TieneError As Boolean = False
Dim CveEstatusOS As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero Dim CveEstatusOS As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero
Dim time As DateTime Dim tFechaHoraCita As DateTime
Dim contadorOrdenesAsignadas As Integer = 0 Dim contadorOrdenesAsignadas As Integer = 0
Dim ObjOS As New ClsOS Dim ObjOS As New ClsOS
@@ -248,14 +246,14 @@ Partial Class OS_Asignaciones
Dim picker As MKB.TimePicker.TimeSelector = DirectCast(row.FindControl("TimeSelector"), MKB.TimePicker.TimeSelector) Dim picker As MKB.TimePicker.TimeSelector = DirectCast(row.FindControl("TimeSelector"), MKB.TimePicker.TimeSelector)
If row.FCCheckBox("ChbxAsignar").Checked Then If row.FCCheckBox("ChbxAsignar").Checked Then
time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, If(picker.Hour < 12, TimeSelector.AmPmSpec.AM, TimeSelector.AmPmSpec.PM))) tFechaHoraCita = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, If(picker.Hour < 12, TimeSelector.AmPmSpec.AM, TimeSelector.AmPmSpec.PM)))
contadorOrdenesAsignadas += 1 contadorOrdenesAsignadas += 1
If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
Dim subProyectoDelTecnico As DataTable Dim subProyectoDelTecnico As DataTable
subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", row.DataKey("CveSubProyecto"))) subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", row.DataKey("CveSubProyecto")))
If subProyectoDelTecnico.Rows.Count > 0 Then If subProyectoDelTecnico.Rows.Count > 0 Then
If Not ObjOS.UpdateOrdenesServiciosAsignadas(row.DataKey("CveOSDetalle").ToEntero, DdlTecnico.SelectedValue.ToEntero, row.FCTextBox("FechaOS").Text.ToDate, time, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then If Not ObjOS.UpdateOrdenesServiciosAsignadas(row.DataKey("CveOSDetalle").ToEntero, DdlTecnico.SelectedValue.ToEntero, row.FCTextBox("FechaOS").Text.ToDate, tFechaHoraCita, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
TieneError = True TieneError = True
End If End If
Else Else
@@ -274,10 +272,10 @@ Partial Class OS_Asignaciones
If Not TieneError Then If Not TieneError Then
Dim RecurrenciaTipo As Integer = 0, Frecuencia As Integer = -1, DiasSemana As String = "-1", Dias As Integer = -1, Mes As Integer = -1, RecurrenciaFin As String = "-1" Dim RecurrenciaTipo As Integer = 0, Frecuencia As Integer = -1, DiasSemana As String = "-1", Dias As Integer = -1, Mes As Integer = -1, RecurrenciaFin As String = "-1"
Dim Fecha As DateTime = time Dim Fecha As DateTime = tFechaHoraCita
OIDescripcion = $"<b><a href='/OS/OrdenesServicios.aspx?CveOS={row.DataKey("CveOS")}' target='_blank' class='Texto' >Orden de servicio {row.DataKey("Folio")} </a></b>" OIDescripcion = $"<b><a href='/OS/OrdenesServicios.aspx?CveOS={row.DataKey("CveOS")}' target='_blank' class='Texto' >Orden de servicio {row.DataKey("Folio")} </a></b>"
If Not ObjEventos.AddEventoAgenda(2, DdlTecnico.SelectedItem.Text, $"{DdlTecnico.SelectedItem.Text} {OIDescripcion}", 2, time, time.AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If Not ObjEventos.AddEventoAgenda(2, DdlTecnico.SelectedItem.Text, $"{DdlTecnico.SelectedItem.Text} {OIDescripcion}", 2, tFechaHoraCita, tFechaHoraCita.AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2, RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2,
Importe:=0, CveOS:=row.DataKey("CveOS").ToEntero, CveSubProyecto:=row.DataKey("CveSubProyecto").ToEntero) Then Importe:=0, CveOS:=row.DataKey("CveOS").ToEntero, CveSubProyecto:=row.DataKey("CveSubProyecto").ToEntero) Then
TieneError = True TieneError = True
@@ -285,14 +283,15 @@ Partial Class OS_Asignaciones
End If End If
If Not TieneError Then If Not TieneError Then
If Not AgendarCirugia(ObjEventos, row.DataKey("CveOS").ToEntero, time, DdlTecnico.SelectedValue.ToEntero(), row.DataKey("Medico"), row.DataKey("Procedimiento"), row.DataKey("Nombre"), OIDescripcion) Then If Not AgendarCirugia(ObjEventos, row.DataKey("CveOS").ToEntero, tFechaHoraCita, DdlTecnico.SelectedValue.ToEntero(), row.DataKey("Medico"), row.DataKey("Procedimiento"), row.DataKey("Nombre"), OIDescripcion) Then
TieneError = True TieneError = True
End If End If
End If End If
Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnico.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo").ToString Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnico.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo").ToString
If Not TieneError AndAlso CorreoAsignado <> "" Then If Not TieneError AndAlso CorreoAsignado <> "" Then
MandaCorreOS(row.DataKey("CveOS").ToEntero, CorreoAsignado, TrasaccionSql:=ObjOS.IniciaTransacSQL) 'MandaCorreOS(row.DataKey("CveOS").ToEntero, CorreoAsignado, TrasaccionSql:=ObjOS.IniciaTransacSQL)
MandaCorreOSSMS(row.DataKey("CveOS").ToEntero, CorreoAsignado, row.DataKey("Folio"), row.DataKey("Nombre"), row.DataKey("Procedimiento"), row.DataKey("Medico"), DdlTecnico.SelectedItem.Text, tFechaHoraCita, TransaccionSql:=ObjOS.IniciaTransacSQL)
End If End If
End If End If
End If End If
@@ -310,6 +309,7 @@ Partial Class OS_Asignaciones
Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion) Alert("Se asignaron las ordenes de servicio correctamente", TipoMensaje.MsgInformacion)
CargaOrdenesServiciosAsignadasXPersona() CargaOrdenesServiciosAsignadasXPersona()
CargaOrdenesServiciosNoAsignadas() CargaOrdenesServiciosNoAsignadas()
Else Else
ObjOS.RollBack() ObjOS.RollBack()
Alert("Ocurrió un error al asignar", TipoMensaje.MsgAdvertencia) Alert("Ocurrió un error al asignar", TipoMensaje.MsgAdvertencia)
@@ -325,6 +325,7 @@ Partial Class OS_Asignaciones
UpOS.Update() UpOS.Update()
End Sub End Sub
Protected Function AgendarCirugia(ByRef ObjEventos As ClsOIEventos, CveOS As Integer, FechaCirugia As DateTime, CveUsuarioAgendar As Integer, Medico As String, Procedimiento As String, Hospital As String, OIDescripcion As String) As Boolean Protected Function AgendarCirugia(ByRef ObjEventos As ClsOIEventos, CveOS As Integer, FechaCirugia As DateTime, CveUsuarioAgendar As Integer, Medico As String, Procedimiento As String, Hospital As String, OIDescripcion As String) As Boolean
Dim TieneError As Boolean = False Dim TieneError As Boolean = False
Try Try
@@ -363,8 +364,6 @@ Partial Class OS_Asignaciones
Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, ByRef TrasaccionSql As SqlClient.SqlTransaction) Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, ByRef TrasaccionSql As SqlClient.SqlTransaction)
Dim ObjOS As New ClsOS(TrasaccionSql) Dim ObjOS As New ClsOS(TrasaccionSql)
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
Dim CveFolio As String = "" Dim CveFolio As String = ""
@@ -501,6 +500,38 @@ Partial Class OS_Asignaciones
End Sub
Private Sub MandaCorreOSSMS(CveOS As Integer, CorreoUsuarioAsignado As String, Folio As String, NombreCliente As String, Procedimiento As String, Medico As String, Tecnico As String, FechaCirugia As DateTime, ByRef TransaccionSql As SqlClient.SqlTransaction)
Dim ObjOS As New ClsOS(TransaccionSql)
Dim FolioOS As String = ""
If ObjOS.GetOrdenesServicios(CveOS, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then
If ObjOS.DtResultados.Rows.Count > 0 Then
Dim dtOS As DataTable = ObjOS.DtResultados
Dim dr As DataRow = dtOS.Rows(0)
Dim ListMateriales As List(Of GenericaCantidadProducto) = Nothing
If ObjOS.GetDetalleMateriales(-1, CveOS) Then
ListMateriales = New List(Of GenericaCantidadProducto)
For Each dRow As DataRow In ObjOS.DtResultados.Rows
ListMateriales.Add(New GenericaCantidadProducto With {.Cantidad = dRow("CantidadSolicitada").ToString.ToEntero, .Producto = dRow("PS").ToString})
Next
End If
Dim CorreoDestino As String = CorreoUsuarioAsignado
Dim Vendedor As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor ={dr("CveVendedor")}")
'técnico
CorreoDestino = CorreoUsuarioAsignado
EnviaNotificacionSMS(7, UsuarioActual.Empresa, CveOS, Folio, FechaCirugia, NombreCliente, Medico, Procedimiento, Tecnico, Vendedor, "", ListMateriales, CorreoDestino)
'vendedor
CorreoDestino = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo", $"CveVendedor ={dr("CveVendedor")}")
EnviaNotificacionSMS(8, UsuarioActual.Empresa, CveOS, Folio, FechaCirugia, NombreCliente, Medico, Procedimiento, Tecnico, Vendedor, "", ListMateriales, CorreoDestino)
End If
End If
End Sub End Sub
Private Sub SendmailOS() Private Sub SendmailOS()

View File

@@ -5,6 +5,7 @@ Imports Extensiones
Imports System.IO Imports System.IO
Imports System.Data Imports System.Data
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports APP_Code_CSharp
Partial Class OS_OrdenesServicios Partial Class OS_OrdenesServicios
Inherits ClsPaginas Inherits ClsPaginas
@@ -34,6 +35,15 @@ Partial Class OS_OrdenesServicios
ViewState("CveFolio") = value ViewState("CveFolio") = value
End Set End Set
End Property End Property
Private Property CveVendedor As Integer
Get
Return ViewState("CveVendedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveVendedor") = value
End Set
End Property
Private Property CveSub As Integer Private Property CveSub As Integer
Get Get
Return ViewState("CveSub").ToString.ToEntero Return ViewState("CveSub").ToString.ToEntero
@@ -710,6 +720,7 @@ Partial Class OS_OrdenesServicios
TxtPaciente.Text = ObjOS.Paciente TxtPaciente.Text = ObjOS.Paciente
TxtIdentificadorCliente.Text = ObjOS.IdentificadorCliente TxtIdentificadorCliente.Text = ObjOS.IdentificadorCliente
TxtFolioAdicional.Text = ObjOS.FolioAdicional TxtFolioAdicional.Text = ObjOS.FolioAdicional
CveVendedor = ObjOS.DtResultados.FiltroPrimeroValor("CveVendedor").ToEntero
CargaEventoBitacora() CargaEventoBitacora()
CargaHistorial() CargaHistorial()
@@ -2855,7 +2866,7 @@ Partial Class OS_OrdenesServicios
Private Sub CargaTecnico() Private Sub CargaTecnico()
DdlTecnico.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlTecnico.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlTecnico.DataBind() DdlTecnico.DataBind()
DdlTecnico.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlTecnico.Items.Insert(0, New ListItem("-", "-1"))
DdlUsuarioAtendio.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlUsuarioAtendio.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlUsuarioAtendio.DataBind() DdlUsuarioAtendio.DataBind()
@@ -3101,6 +3112,10 @@ Partial Class OS_OrdenesServicios
Dim GenerarRemisionMovimientos As Boolean = False Dim GenerarRemisionMovimientos As Boolean = False
Dim AplicaDevolucion As Boolean = False Dim AplicaDevolucion As Boolean = False
Dim ListMaterialesUtil As New List(Of GenericaCantidadProducto)
Dim ListMaterialesDev As New List(Of GenericaCantidadProducto)
Dim Respuesta As New RespuestaFacturacion()
If DdlTipoVenta.SelectedValue = "5" Then 'Consignación - Uso Material If DdlTipoVenta.SelectedValue = "5" Then 'Consignación - Uso Material
'genera una salida de almacen. 'genera una salida de almacen.
Dim Fecha As DateTime = ClsPaginas.NowADS() Dim Fecha As DateTime = ClsPaginas.NowADS()
@@ -3197,6 +3212,7 @@ Partial Class OS_OrdenesServicios
If CantidadDev > 0 AndAlso CveVentaDetalle > 0 Then If CantidadDev > 0 AndAlso CveVentaDetalle > 0 Then
AplicaDevolucion = True AplicaDevolucion = True
ListMaterialesDev.Add(New GenericaCantidadProducto With {.Cantidad = CantidadDev, .Producto = GvRow.DataKey("CodigoPS")})
If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then
ProcesoOK = False ProcesoOK = False
GenerarRemisionMovimientos = False GenerarRemisionMovimientos = False
@@ -3223,7 +3239,6 @@ Partial Class OS_OrdenesServicios
End If End If
End If End If
Dim Respuesta As New RespuestaFacturacion()
Dim DtVentaDetalle As New DataTable Dim DtVentaDetalle As New DataTable
Dim CveMovimientoSalida, CveMovimientoEntrada As Integer Dim CveMovimientoSalida, CveMovimientoEntrada As Integer
Dim ImporteAlmacen As Decimal Dim ImporteAlmacen As Decimal
@@ -3268,6 +3283,7 @@ Partial Class OS_OrdenesServicios
Dim CvePS As Integer = drr("CvePS").ToString.ToEntero Dim CvePS As Integer = drr("CvePS").ToString.ToEntero
Dim CveUM As Integer = drr("CveUM").ToString.ToEntero Dim CveUM As Integer = drr("CveUM").ToString.ToEntero
Dim PU As Decimal = drr("PU").ToString.ToDecimal Dim PU As Decimal = drr("PU").ToString.ToDecimal
ListMaterialesUtil.Add(New GenericaCantidadProducto With {.Cantidad = Cantidad, .Producto = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("PSCodigo")})
If Cantidad > 0 Then If Cantidad > 0 Then
Dim CveVentaDetalle As Integer = drr("CveVentaDetalle").ToString.ToEntero 'DtVentaDetalle.FiltroPrimeroValor("CveVentaDetalle", $"CveVentaDetallePadre = {GvRow.DataKey("CveVentaDetalle")}").ToEntero Dim CveVentaDetalle As Integer = drr("CveVentaDetalle").ToString.ToEntero 'DtVentaDetalle.FiltroPrimeroValor("CveVentaDetalle", $"CveVentaDetallePadre = {GvRow.DataKey("CveVentaDetalle")}").ToEntero
@@ -3384,15 +3400,25 @@ Partial Class OS_OrdenesServicios
Alert("El material utilizado se guardó correctamente") Alert("El material utilizado se guardó correctamente")
End If End If
End If End If
Dim Contenido As String = $" OS #{LblFolio.Text}<br/> Hospital: {If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text)} <br/>Folio {LblFolio.Text}<br/>"
'genera notificación
If AplicaDevolucion Then 'notif a almacen
EnviaNotificacion("listado productos")
End If
RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');") RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');")
CargaEventoBitacora() CargaEventoBitacora()
Dim CorreoDestino As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo", $"CveVendedor ={ CveVendedor }")
Dim NombreVendedor As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor ={ CveVendedor }")
If ListMaterialesUtil.Count > 0 Then 'notif a almacen de mat utilizado
EnviaNotificacionSMS(9, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, NombreVendedor, TxtFolioRemisionModal.Text, ListMaterialesUtil, CorreoDestino)
End If
CorreoDestino = UsuarioActual.Empresa.Funcionalidad(199).ListaBusquedaValor("Almacén")
'genera notificación almacen
If AplicaDevolucion Then 'notif a almacen de devolución
EnviaNotificacionSMS(10, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, NombreVendedor, TxtFolioRemisionModal.Text, ListMaterialesDev, CorreoDestino)
Else
EnviaNotificacionSMS(11, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, NombreVendedor, TxtFolioRemisionModal.Text, ListMaterialesDev, CorreoDestino)
End If
CorreoDestino = UsuarioActual.Empresa.Funcionalidad(199).ListaBusquedaValor("Facturación")
If Respuesta IsNot Nothing AndAlso Respuesta.CveVenta > 0 Then 'notif de remisión generada
EnviaNotificacionSMS(12, UsuarioActual.Empresa, Respuesta.CveVenta, Respuesta.SerieFolio, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, NombreVendedor, TxtFolioRemisionModal.Text, ListMaterialesUtil, CorreoDestino)
End If
Else Else
ObjV.RollBack() ObjV.RollBack()
Alert("Se presento un error al guardar el material", TipoMensaje.MsgAdvertencia) Alert("Se presento un error al guardar el material", TipoMensaje.MsgAdvertencia)
@@ -3402,29 +3428,6 @@ Partial Class OS_OrdenesServicios
End If End If
End Sub End Sub
Private Sub EnviaNotificacion(Contenido As String)
Dim ObjMail As New ClsSisMail()
Dim Asunto As String = "Notificación de recolección de Producto"
Dim CorreoDestino As String = ""
If ObjMail.SendMail(UsuarioActual.Empresa, CorreoDestino, Asunto, Contenido) Then
End If
End Sub
Private Sub EnviaNotificacionSMS(Tipo As Integer, Folio As String, FechaCirugía As DateTime, Hospital As String, Medico As String, Procedimiento As String, Técnico As String, Vendedor As String, Remision As String, dtMaterial As DataTable)
Dim ObjMail As New ClsSisMail()
Dim Asunto As String = "Notificación de recolección de Producto"
Dim CorreoDestino As String = ""
If ObjMail.SendMail(UsuarioActual.Empresa, CorreoDestino, Asunto, Contenido) Then
End If
End Sub
Private Function GuardarArchivoConfirmacion(ByRef transaccion As SqlTransaction, CveOSActual As Integer, CveVentaRemisionGenerada As Integer) As Boolean Private Function GuardarArchivoConfirmacion(ByRef transaccion As SqlTransaction, CveOSActual As Integer, CveVentaRemisionGenerada As Integer) As Boolean
Dim respuesta As Boolean = False Dim respuesta As Boolean = False
@@ -3497,8 +3500,6 @@ Partial Class OS_OrdenesServicios
Dim CveSubProyectoPedido As Integer = -1 Dim CveSubProyectoPedido As Integer = -1
Dim CveMoneda As Integer = -1 Dim CveMoneda As Integer = -1
Dim tCveVendedor As Integer = -1 Dim tCveVendedor As Integer = -1
Dim CountDetalles As Integer = 0 Dim CountDetalles As Integer = 0
Dim PuEnCero As Boolean = False Dim PuEnCero As Boolean = False
@@ -3534,8 +3535,6 @@ Partial Class OS_OrdenesServicios
Return Respuesta Return Respuesta
End If End If
If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0) Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0)
CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
@@ -3732,10 +3731,37 @@ Partial Class OS_OrdenesServicios
If resp.HuboError Then If resp.HuboError Then
Alert($"Se presento un error al cancelar la orden de servicio, {resp.Mensaje}".ToString(), TipoMensaje.MsgError) Alert($"Se presento un error al cancelar la orden de servicio, {resp.Mensaje}".ToString(), TipoMensaje.MsgError)
Else Else
Alert($"la orden de servicio se cancelada correctamente, {resp.Mensaje}", resp.TipoMensaje, " location.reload(true); ") Alert($"La orden de servicio se cancelada correctamente, {resp.Mensaje}", resp.TipoMensaje, " location.reload(true); ")
Dim objGeneral As New ClsGenerales Dim objGeneral As New ClsGenerales
objGeneral.AddHistorialBitacora(256, -1, -1, -1, CveOS, -1, -1, -1, "Cancelada", DdlEstatusOS.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "") objGeneral.AddHistorialBitacora(256, -1, -1, -1, CveOS, -1, -1, -1, "Cancelada", DdlEstatusOS.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "")
objGeneral.Dispose() objGeneral.Dispose()
Dim ListMateriales As List(Of GenericaCantidadProducto) = Nothing
Dim ObjOS As New ClsOS
If ObjOS.GetDetalleMateriales(-1, CveOS) Then
ListMateriales = New List(Of GenericaCantidadProducto)
For Each dRow As DataRow In ObjOS.DtResultados.Rows
If dRow("Cantidad").ToString.ToEntero > 0 Then
ListMateriales.Add(New GenericaCantidadProducto With {.Cantidad = dRow("Cantidad").ToString.ToEntero, .Producto = dRow("PS").ToString})
End If
Next
End If
ObjOS.Dispose()
Dim Vendedor As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor ={ CveVendedor }")
Dim CorreoVendedor As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo", $"CveVendedor ={ CveVendedor }")
'vendedor
EnviaNotificacionSMS(13, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, Vendedor, TxtFolioAdicional.Text, ListMateriales, CorreoVendedor)
Dim CorreoDestino As String = ""
'almacen
CorreoDestino = UsuarioActual.Empresa.Funcionalidad(199).ListaBusquedaValor("Almacén")
EnviaNotificacionSMS(14, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, Vendedor, TxtFolioAdicional.Text, ListMateriales, CorreoDestino)
If DdlTecnico.SelectedValue.ToEntero > 0 Then
'jefe de técnicos
CorreoDestino = UsuarioActual.Empresa.Funcionalidad(199).ListaBusquedaValor("JefeTécnicos")
EnviaNotificacionSMS(15, UsuarioActual.Empresa, CveOS, LblFolio.Text, TxtFechaCita.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, DdlUsuarioAtendio.SelectedItem.Text, Vendedor, TxtFolioAdicional.Text, ListMateriales, CorreoDestino)
End If
End If End If
End If End If
Catch ex As Exception Catch ex As Exception

View File

@@ -193,7 +193,7 @@
<div class="modal-body"> <div class="modal-body">
<div class="row" id="divColores" style="color:white; width:200px;"> <div class="row" id="divColores" style="color:white; width:200px;">
<div class="col-md-12" style="background-color:#3598dc; "> <div class="col-md-12" style="background-color:#5C9BD1; ">
Levantamiento Levantamiento
</div> </div>
<div class="col-md-12" style="background-color:#002699"> <div class="col-md-12" style="background-color:#002699">
@@ -205,10 +205,10 @@
<div class="col-md-12" style="background-color:#26C281"> <div class="col-md-12" style="background-color:#26C281">
Finalizado Finalizado
</div> </div>
<div class="col-md-12" style="background-color:#4B77BE"> <div class="col-md-12" style="background-color:#E87E04">
Facturado Facturado
</div> </div>
<div class="col-md-12" style="background-color:#29b4b6"> <div class="col-md-12" style="background-color:#c8d046">
Cobrado Cobrado
</div> </div>
<div class="col-md-12" style="background-color:#e43a45"> <div class="col-md-12" style="background-color:#e43a45">

View File

@@ -10,7 +10,6 @@ Partial Class OS_RepServiciosMedicos
Inherits ClsPaginas Inherits ClsPaginas
#Region "PROPIEDADES" #Region "PROPIEDADES"
Private Property DtDatos As DataTable Private Property DtDatos As DataTable
Get Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable) DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
@@ -20,34 +19,6 @@ Partial Class OS_RepServiciosMedicos
ViewState("DtDatos") = value ViewState("DtDatos") = value
End Set End Set
End Property End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
Private Property TCEspecifico As Double
Get
Return ViewState("TCEspecifico").ToString.ToDouble
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property TipoCambio As Integer
Get
Return ViewState("TipoCambio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("TipoCambio") = value
End Set
End Property
Private Property DT_OSSubProyectos As DataTable Private Property DT_OSSubProyectos As DataTable
Get Get
@@ -304,17 +275,6 @@ Partial Class OS_RepServiciosMedicos
DdlTecnicoAsignar.Visible = True DdlTecnicoAsignar.Visible = True
DdlTecnicoAsignar.Items.Insert(0, New ListItem("-", "-1")) DdlTecnicoAsignar.Items.Insert(0, New ListItem("-", "-1"))
'Dim ObjUsuarios As New ClsSisUsuarios
'If ObjUsuarios.GetPermisosPorUsuarioProcesos(-1, -1, -1, -1, 351, UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) Then
' If UsuarioActual.CveRol = 1 Then
' DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0")
' Else
' DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0 and CveUsuario <> 100")
' End If
'End If
'ObjUsuarios.Dispose()
End Sub End Sub
#Region "CARGAS" #Region "CARGAS"

File diff suppressed because it is too large Load Diff

9046
Scripts/jquery-1.6.4.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

2670
Scripts/jquery-3.7.1.intellisense.js vendored Normal file

File diff suppressed because it is too large Load Diff

10716
Scripts/jquery-3.7.1.js vendored Normal file

File diff suppressed because it is too large Load Diff

2
Scripts/jquery-3.7.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

8617
Scripts/jquery-3.7.1.slim.js Normal file

File diff suppressed because it is too large Load Diff

2
Scripts/jquery-3.7.1.slim.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -72,7 +72,7 @@
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvEmpresas" runat="server" AutoGenerateColumns="False" DataKeyNames="CveFuncionalidad,Funcionalidad,CveEmpresa" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" GridLines="None"> <asp:GridView ID="GvEmpresas" runat="server" AutoGenerateColumns="False" DataKeyNames="CveFuncionalidad,Funcionalidad,CveEmpresa" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall mysmallbtn" GridLines="None">
<Columns> <Columns>
<%--<asp:BoundField DataField="CveFuncionalidad" ItemStyle-HorizontalAlign="Center" />--%> <%--<asp:BoundField DataField="CveFuncionalidad" ItemStyle-HorizontalAlign="Center" />--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center"> <asp:TemplateField ItemStyle-HorizontalAlign="Center">
@@ -85,17 +85,17 @@
<asp:Literal ID="LtlFuncionalidad" runat="server" Text='<%# Eval("Funcionalidad") %>'></asp:Literal> <asp:Literal ID="LtlFuncionalidad" runat="server" Text='<%# Eval("Funcionalidad") %>'></asp:Literal>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left"> <asp:TemplateField ItemStyle-Width="30%" ItemStyle-HorizontalAlign="Left">
<ItemTemplate> <ItemTemplate>
<asp:Literal ID="LtlValor" runat="server" Text='<%# Eval("Valor") %>'></asp:Literal> <asp:Literal ID="LtlValor" runat="server" Text='<%# Eval("Valor") %>'></asp:Literal>
</ItemTemplate> </ItemTemplate>
<EditItemTemplate> <EditItemTemplate>
<asp:TextBox ID="TxtValordEdit" runat="server" Width="50%" Text='<%# Eval("Valor") %>'></asp:TextBox> <asp:TextBox ID="TxtValordEdit" runat="server" Width="100%" Text='<%# Eval("Valor") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVValorEdit" runat="server" ControlToValidate="TxtValordEdit" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Valor''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpComisionEdit"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVValorEdit" runat="server" ControlToValidate="TxtValordEdit" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Valor''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpComisionEdit"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOValorEdit" runat="server" HighlightCssClass="vco" TargetControlID="RFVValorEdit" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCOValorEdit" runat="server" HighlightCssClass="vco" TargetControlID="RFVValorEdit" Width="300px"></ajax:ValidatorCalloutExtender>
</EditItemTemplate> </EditItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20%" HeaderText="Editar" ItemStyle-HorizontalAlign="Center"> <asp:TemplateField ItemStyle-Width="70px" HeaderText="Editar" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate> <EditItemTemplate>
<div style="width: 80px;"> <div style="width: 80px;">
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpLimiteEdit" /> <asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpLimiteEdit" />
@@ -107,7 +107,7 @@
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" /> CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField ItemStyle-Width="10%" HeaderText="Eliminar" ItemStyle-HorizontalAlign="Center"> <asp:TemplateField ItemStyle-Width="30px" HeaderText="Eliminar" ItemStyle-HorizontalAlign="Center">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" /> <asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</ItemTemplate> </ItemTemplate>

View File

@@ -2647,6 +2647,13 @@
</td> </td>
<td colspan="2"> <asp:Button ID="BtnEnviarMensaje" runat="server" Text="Enviar Activacion" class="btn btn-primary" OnClick="BtnEnviarMensaje_Click" /></td> <td colspan="2"> <asp:Button ID="BtnEnviarMensaje" runat="server" Text="Enviar Activacion" class="btn btn-primary" OnClick="BtnEnviarMensaje_Click" /></td>
</tr> </tr>
<tr>
<td>Enviar Mensaje:</td>
<td>
<asp:TextBox ID="TxtNotifMensaje" TextMode="Phone" CssClass="form-control input-sm" runat="server"></asp:TextBox>
</td>
<td colspan="2"> <asp:Button ID="BtnNotifEnviar" runat="server" Text="Enviar Mensaje" class="btn btn-primary green" OnClick="BtnNotifEnviar_Click" /></td>
</tr>
</table> </table>
</div> </div>
</div> </div>

View File

@@ -5102,4 +5102,8 @@ Partial Class Sistemas_UsuarioDetalle
' End Try ' End Try
' Return Retorno ' Return Retorno
'End Function 'End Function
Protected Sub BtnNotifEnviar_Click(sender As Object, e As EventArgs)
EnviarNotificacionWhatsApp($"52{TxtTelefono.Text}", TxtNotifMensaje.Text)
End Sub
End Class End Class

View File

@@ -15,10 +15,18 @@
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
/* #C_Tab_ctl00_DdlClientes #select2-C_Tab_ctl00_DdlClientes_ddlWS-container #C_Tab_ctl00_DdlClientes_ddlWS{
width:100%!important;
}
#C_Tab_ctl00_DdlClientes{
width:100%!important;
}*/
.mx-1 { .mx-1 {
margin: 0 5px 0 5px; margin: 0 5px 0 5px;
} }
.disponible { .disponible {
font-size: 10px; font-size: 10px;
display: inline-block; display: inline-block;
@@ -115,6 +123,7 @@
</div> </div>
<div class="portlet-body rowpadding"> <div class="portlet-body rowpadding">
<div class="row my-1"> <div class="row my-1">
<label class="col-md-4 bold text-primary">Folio</label> <label class="col-md-4 bold text-primary">Folio</label>
<asp:TextBox class="col-md-2" runat="server" ID="TxtFolio" Text="" MaxLength="50" style="margin-left:15px" Width="120px" Height="34px"></asp:TextBox> <asp:TextBox class="col-md-2" runat="server" ID="TxtFolio" Text="" MaxLength="50" style="margin-left:15px" Width="120px" Height="34px"></asp:TextBox>
@@ -126,20 +135,23 @@
</div> </div>
</div> </div>
<div class="row my-1"> <div class="row " style="border:0px!important">
<label class="col-md-4">Cliente</label> <label class="col-md-4">Cliente</label>
<div class="col-md-8"> <div class="col-md-7" >
<div class="input-group">
<ADS:Dropdownlost ID="DdlClientes" CssClass="form-control" data-metodo="getcliente" <ADS:Dropdownlost ID="DdlClientes" data-metodo="getcliente" style ="width:100%!important"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" Width="100%" CssStyle="width: 100%;"
UsaWebService="true" Enabled="false"></ADS:Dropdownlost> UsaWebService="true" Enabled="false">
<div class="input-group-addon" style="background-color: #428bca"> </ADS:Dropdownlost>
</div>
<div class="col-md-1">
<div class="input-group-addon" style="background-color: #428bca;width:26px!important" >
<asp:HyperLink id="HplAddCliente" runat="server" ForeColor="White" Text="<i class='fa fa-add'></i>" <asp:HyperLink id="HplAddCliente" runat="server" ForeColor="White" Text="<i class='fa fa-add'></i>"
navigateUrl="/Ventas/Clientes.aspx?CveCliente=-1"></asp:HyperLink> navigateUrl="/Ventas/Clientes.aspx?CveCliente=-1"></asp:HyperLink>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="row my-1"> <div class="row my-1">
<label class="col-md-4"> <label class="col-md-4">

View File

@@ -1,9 +1,11 @@
Option Explicit On Option Explicit On
Option Strict On Option Strict On
Imports System.Data Imports System.Data
Imports System.Data.SqlClient
Imports System.IO Imports System.IO
Imports Extensiones Imports Extensiones
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports Modelos
Partial Class RepContratoDetalle Partial Class RepContratoDetalle
@@ -98,6 +100,111 @@ Partial Class RepContratoDetalle
End Set End Set
End Property End Property
Private Property CveVentaRemision As Integer
Get
If ViewState("CveVentaRemision") Is Nothing Then
ViewState("CveVentaRemision") = -1
End If
Return ViewState("CveVentaRemision").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveVentaRemision") = value
End Set
End Property
Private Property CveSubProyectoOriginal As Integer
Get
If ViewState("CveSubProyectoOriginal") Is Nothing Then
ViewState("CveSubProyectoOriginal") = -1
End If
Return ViewState("CveSubProyectoOriginal").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveSubProyectoOriginal") = value
End Set
End Property
Private Property CveMonedaOriginal As Integer
Get
If ViewState("CveMonedaOriginal") Is Nothing Then
ViewState("CveMonedaOriginal") = -1
End If
Return ViewState("CveMonedaOriginal").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMonedaOriginal") = value
End Set
End Property
Private Property ImporteOrigial As Decimal
Get
If ViewState("ImporteOrigial") Is Nothing Then
ViewState("ImporteOrigial") = 0D
End If
Return ViewState("ImporteOrigial").ToString.ToDecimal
End Get
Set(value As Decimal)
ViewState("ImporteOrigial") = value
End Set
End Property
Private Property DescripcionOriginal As String
Get
If ViewState("DescripcionOriginal") Is Nothing Then
ViewState("DescripcionOriginal") = ""
End If
Return ViewState("DescripcionOriginal").ToString
End Get
Set(value As String)
ViewState("DescripcionOriginal") = value
End Set
End Property
Private Property TipoAFOriginal As String
Get
If ViewState("TipoAFOriginal") Is Nothing Then
ViewState("TipoAFOriginal") = ""
End If
Return ViewState("TipoAFOriginal").ToString
End Get
Set(value As String)
ViewState("TipoAFOriginal") = value
End Set
End Property
Private Property FolioOriginal As String
Get
If ViewState("FolioOriginal") Is Nothing Then
ViewState("FolioOriginal") = ""
End If
Return ViewState("FolioOriginal").ToString
End Get
Set(value As String)
ViewState("FolioOriginal") = value
End Set
End Property
#End Region #End Region
#Region "Carga Página" #Region "Carga Página"
@@ -166,9 +273,16 @@ Partial Class RepContratoDetalle
CveContratoEstatus = Contrato.Rows(0)("CveContratosEstatus").ToString.ToEntero CveContratoEstatus = Contrato.Rows(0)("CveContratosEstatus").ToString.ToEntero
DdlSubProyecto.SelectedValueExist(Contrato.Rows(0)("CveSubProyecto").ToString) DdlSubProyecto.SelectedValueExist(Contrato.Rows(0)("CveSubProyecto").ToString)
CveSubProyectoOriginal = Contrato.Rows(0)("CveSubProyecto").ToString.ToEntero
CveMonedaOriginal = Contrato.Rows(0)("CveMoneda").ToString.ToEntero
ImporteOrigial = Importe
DescripcionOriginal = Contrato.Rows(0)("DescripcionContrato").ToString
TipoAFOriginal = DdlTipoAF.SelectedItem.Text
FolioOriginal = TxtFolio.Text.Trim
CveVentaRemision = Contrato.Rows(0)("CveVentaRemision").ToString.ToEntero
HypRemision.Text = Contrato.Rows(0)("RemisionSerieFolio").ToString HypRemision.Text = Contrato.Rows(0)("RemisionSerieFolio").ToString
HypRemision.NavigateUrl = $"/Ventas/Ventas.aspx?CveVenta={ Contrato.Rows(0)("CveVentaRemision").ToString}" HypRemision.NavigateUrl = $"/Ventas/Ventas.aspx?CveVenta={ CveVentaRemision}"
If Contrato.Rows(0)("RemisionSaldo").ToString.ToDecimal > 0 Then If Contrato.Rows(0)("RemisionSaldo").ToString.ToDecimal > 0 Then
LblSaldo.Text = $"Saldo { Contrato.Rows(0)("RemisionSaldo").ToString.ToDecimal.ToString("###,###,###.00")}" LblSaldo.Text = $"Saldo { Contrato.Rows(0)("RemisionSaldo").ToString.ToDecimal.ToString("###,###,###.00")}"
@@ -285,7 +399,7 @@ Partial Class RepContratoDetalle
End Sub End Sub
Protected Sub UpdateContrato(sender As Object, e As EventArgs) Protected Sub UpdateContrato(sender As Object, e As EventArgs)
Dim ArchivoUpdate As String = "-1" Dim ArchivoUpdate As String = "-1"
Dim ErrorProceso As Boolean = False
If Session("FileExtension").ToString <> "" Then If Session("FileExtension").ToString <> "" Then
'ArchivoUpdate = $"{CveContrato.ToString}.{ Session("FileExtension")}" 'ArchivoUpdate = $"{CveContrato.ToString}.{ Session("FileExtension")}"
@@ -296,22 +410,268 @@ Partial Class RepContratoDetalle
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
ObjContratos.IniciaTransacSQL() ObjContratos.IniciaTransacSQL()
Try
If ObjContratos.UpdateContratos(CveContrato, TxtFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "",
If Not ObjContratos.UpdateContratos(CveContrato, TxtFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "",
DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, ArchivoUpdate, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, ArchivoUpdate, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal,
DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=CveContratoTipo, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveContratosEstatus:=CveContratoEstatus, Observaciones:=TxtObservaciones.Text) Then DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=CveContratoTipo, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveContratosEstatus:=CveContratoEstatus, Observaciones:=TxtObservaciones.Text) Then
Alert("Contrato actualizado correctamente") ErrorProceso = True
End If End If
If Not ErrorProceso Then
If CveSubProyectoOriginal <> DdlSubProyecto.SelectedValue.ToEntero Or CveMonedaOriginal <> DdlMoneda.SelectedValue.ToEntero Or ImporteOrigial <> TxtImporte.Text.ToDecimal Or DescripcionOriginal <> TxtDescripcion.Text Or
TipoAFOriginal <> DdlTipoAF.SelectedItem.Text Or FolioOriginal <> TxtFolio.Text.Trim Then
Dim ObsRemisionPartida As String = $"{DdlTipoAF.SelectedItem.Text}-{ TxtDescripcion.Text}-{TxtFolio.Text}"
If Not UpdateRemision(ObjContratos.IniciaTransacSQL(), DdlSubProyecto.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, TxtImporte.Text.ToDecimal, ObsRemisionPartida) Then
ErrorProceso = True
End If
End If
End If
If Not ErrorProceso Then
ObjContratos.Commit() ObjContratos.Commit()
Catch ex As Exception
Alert("Ocurrió un ocurrió un error al actualizar su boleto", TipoMensaje.MsgError)
ObjContratos.RollBack()
Finally
ObjContratos.Dispose() ObjContratos.Dispose()
AgregarABitacora($"Actualización del contrato {CveContrato}") AgregarABitacora($"Actualización del contrato {CveContrato}")
CargaDatos() CargaDatos()
End Try Alert("Contrato actualizado correctamente")
Else
Alert("Ocurrió un ocurrió un error al actualizar su boleto", TipoMensaje.MsgError)
ObjContratos.RollBack()
End If
End Sub End Sub
Private Function UpdateRemision(ByRef transaccionSql As SqlTransaction, CveSubProyectoNew As Integer, CveMonedaNew As Integer, TotalNew As Decimal, DescripcionNew As String) As Boolean
Dim Respuesta As Boolean = False
Dim TmpDT As DataTable = New DataTable
Dim OcurrioError As Boolean = False
Dim ObjVentas As New ClsVentas(transaccionSql)
Dim FechaVenta As Date = MinFecha
Dim PorcentajeIVA As Decimal = 0D
Dim IVANew As Decimal = 0D
Dim SubTotalNew As Decimal = TotalNew
Dim CvePrePoliza As Integer = -1
If ObjVentas.GetVenta(CveVentaRemision, UsuarioActual.CveEmpresa) Then
FechaVenta = ObjVentas.DtResultados(0)("Fecha").ToString.ToDate
CvePrePoliza = ObjVentas.DtResultados(0)("CvePrePoliza").ToString.ToEntero
End If
If ObjVentas.GetVentaDetalle(CveVentaRemision) Then
TmpDT = ObjVentas.DtResultados
PorcentajeIVA = ObjVentas.DtResultados.MAX("PorcentajeIVA").ToDecimal
If PorcentajeIVA > 0 Then
IVANew = (TotalNew * (PorcentajeIVA * 100)) / (100 + (PorcentajeIVA * 100))
SubTotalNew = TotalNew - IVANew
End If
End If
If TmpDT Is Nothing OrElse TmpDT.Rows.Count = 0 Or FechaVenta = MinFecha Then
Alert("Error al obtener los datos de la remisión.", TipoMensaje.MsgAdvertencia)
Return False
End If
'ObjVentas.IniciaTransacSQL()
Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
'Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
'Dim ObjCGame As New ClsCGame(ObjVentas.IniciaTransacSQL())
Dim Moneda As Integer = DdlMoneda.SelectedValue.ToEntero()
'Dim TipoCambio As Decimal = GlobalTipoCambio(FechaVenta).ToDecimal
'Dim CveClienteSucursal As Integer = -1
Dim TC As Decimal = If(CveMonedaNew = 2, GlobalTipoCambio(FechaVenta).ToDecimal, 1)
Try
''CONVERTIR REMISION - TIPO MONEDA -DOLARES A PESOS
'If DdlMoneda.SelectedValue.ToEntero() <> 2 AndAlso ChkConvertirDolares.Checked Then
' For Each Row As DataRow In TmpDT.Rows
' Row("PU") = Math.Round(Row("PU").ToString().ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, 6)
' Row("Total") = Math.Round(Row("Cantidad").ToString().ToDecimal * Row("PU").ToString().ToDecimal, NumeroDecimales)
' Row("TotalImporte") = Math.Round(Row("Cantidad").ToString().ToDecimal * Row("PU").ToString().ToDecimal, NumeroDecimales)
' Row("Descuento") = Math.Round(Row("Descuento").ToString().ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales)
' Row("ImporteIEPS") = Math.Round(Row("ImporteIEPS").ToString().ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales)
' Row("ImporteIVA") = Math.Round(Row("ImporteIVA").ToString().ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales)
' Row("ImporteRetIVA") = Math.Round(Row("ImporteRetIVA").ToString().ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales)
' Row("ImporteRetISR") = Math.Round(Row("ImporteRetISR").ToString().ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales)
' Next
' Dim ImpuestosLocales As Double = 0
' For Each gvr As GridViewRow In GvImpuestosLocales2.Rows
' If gvr.RowType = DataControlRowType.DataRow Then
' gvr.FCTextBox("TxtImpuestoLocalPS").Text = (gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble / TxtTipoCambioDlls.Text.Trim.ToDecimal).FormatoNumero
' ImpuestosLocales += Math.Round(gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales)
' End If
' Next
' TxtSubTotal.Text = TmpDT.SUM("Total").FormatoNumero
' LblDescuentos.Text = TmpDT.SUM("Descuento").FormatoNumero
' LblAmortizacion.Text = Math.Round(LblAmortizacion.Text.Trim.ToDecimal / TxtTipoCambioDlls.Text.Trim.ToDecimal, NumeroDecimales).FormatoNumero
' TxtIVA.Text = TmpDT.SUM("ImporteIVA").FormatoNumero
' TxtRetIVA.Text = TmpDT.SUM("ImporteRetIVA").FormatoNumero
' TxtRetISR.Text = TmpDT.SUM("ImporteRetISR").FormatoNumero
' TxtIEPS.Text = TmpDT.SUM("ImporteIEPS").FormatoNumero
' TxtTotal.Text = (TxtSubTotal.Text.ToDecimal - LblDescuentos.Text.ToDecimal - LblAmortizacion.Text.ToDecimal + TxtIVA.Text.ToDecimal + TxtIEPS.Text.ToDecimal - TxtRetIVA.Text.ToDecimal - TxtRetISR.Text.ToDecimal - ImpuestosLocales).ToDecimal.FormatoNumero
' TipoCambio = TxtTipoCambioDlls.Text.Trim.ToDecimal
' Moneda = 2
'End If
''CONVERTIR REMISION - TIPO MONEDA -PESO A DOLARES
'If DdlMoneda.SelectedValue.ToEntero() <> 1 AndAlso ChkConvertirDoctoPesos.Checked Then
' Dim Importe As Decimal
' For Each Row As DataRow In TmpDT.Rows
' Row("PU") = Math.Round(Row("PU").ToString().ToDecimal * TCC, 6)
' Row("Total") = Math.Round(Row("Cantidad").ToString().ToDecimal * Row("PU").ToString().ToDecimal, NumeroDecimales)
' Row("TotalImporte") = Math.Round(Row("Cantidad").ToString().ToDecimal * Row("PU").ToString().ToDecimal, NumeroDecimales)
' Row("Descuento") = Math.Round(Row("Descuento").ToString().ToDecimal * TCC, NumeroDecimales)
' Importe = Row("Total").ToString().ToDecimal - Row("Descuento").ToString().ToDecimal
' Row("ImporteIEPS") = Math.Round(Importe * Row("PorcentajeIEPS").ToString().ToDecimal, NumeroDecimales)
' Row("ImporteIVA") = Math.Round(Importe * Row("PorcentajeIVA").ToString().ToDecimal, NumeroDecimales)
' Row("ImporteRetIVA") = Math.Round(Importe * Row("PorcentajeRetIVA").ToString().ToDecimal, NumeroDecimales)
' Row("ImporteRetISR") = Math.Round(Importe * Row("PorcentajeRetISR").ToString().ToDecimal, NumeroDecimales)
' Next
' Dim ImpuestosLocales As Double = 0
' For Each gvr As GridViewRow In GvImpuestosLocales2.Rows
' If gvr.RowType = DataControlRowType.DataRow Then
' gvr.FCTextBox("TxtImpuestoLocalPS").Text = (gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble * TxtTipoCambio.Text.Trim.ToDecimal).FormatoNumero
' ImpuestosLocales += Math.Round(gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
' End If
' Next
' TxtSubTotal.Text = TmpDT.SUM("Total").FormatoNumero
' LblDescuentos.Text = TmpDT.SUM("Descuento").FormatoNumero
' LblAmortizacion.Text = Math.Round(LblAmortizacion.Text.Trim.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales).FormatoNumero
' TxtIVA.Text = TmpDT.SUM("ImporteIVA").FormatoNumero
' TxtRetIVA.Text = TmpDT.SUM("ImporteRetIVA").FormatoNumero
' TxtRetISR.Text = TmpDT.SUM("ImporteRetISR").FormatoNumero
' TxtIEPS.Text = TmpDT.SUM("ImporteIEPS").FormatoNumero
' TxtTotal.Text = (TxtSubTotal.Text.ToDecimal - LblDescuentos.Text.ToDecimal - LblAmortizacion.Text.ToDecimal + TxtIVA.Text.ToDecimal + TxtIEPS.Text.ToDecimal - TxtRetIVA.Text.ToDecimal - TxtRetISR.Text.ToDecimal - ImpuestosLocales).ToDecimal.FormatoNumero
' TipoCambio = 1
' Moneda = 1
'End If
'Dim FechaParaSurtir As DateTime = MinFecha
'If TxtFechaOS.Text.Replace(",", "").ToDateTime() > MinFecha Then
' FechaParaSurtir = TxtFechaOS.Text.Replace(",", "").ToDateTime()
'End If
If Not ObjVentas.UpdateVentas(SubTotalNew, 0, IVANew, 0, TotalNew, CveMonedaNew, TC, FechaVenta, DescripcionNew,
UsuarioActual.CveEmpresa, CveVentaRemision,
Vigencia:=FechaVenta, CondicionesPago:=-1,
PedidoContrato:="-1", AtencionA:="-1", CveMetodoPago33:=-1,
CveFormaPago33:=-1, TipoDocto:="Rem", CveCliente:=-1, CveClienteSucursal:=-1,
OrdenCompra:="-1", RetIVA:=0, RetISR:=0, Kilometraje:=0D, CveUsoCFDi:=-1,
CveVendedor:=-1, ServicioDomicilio:=False, CveMedico:=-1, CveProcedimiento:=-1,
FechaParaSurtir:=MinFecha, Paciente:="-1", Episodio:="-1", CveCondicionEntrega:=-1, FolioRemision:="-1") Then
OcurrioError = True
End If
'Cargo de nueva cuenta el detalle de Ventas (Conceptos)
If Not OcurrioError Then
Dim index As Integer = 0
For Each Row As DataRow In TmpDT.Rows
Dim CveVentaDetalle As Integer = Row("CveVentaDetalle").ToString().ToEntero()
If CveVentaDetalle > 0 Then
If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString().ToEntero(), Row("CvePS").ToString().ToEntero(), Row("Cantidad").ToString().ToDecimal, SubTotalNew, Row("ImporteIEPS").ToString().ToDecimal(), Row("PorcentajeIEPS").ToString().ToDecimal(), IVANew, PorcentajeIVA, 0, DescripcionNew, UsuarioActual.CveUsuario) Then
OcurrioError = True
End If
End If
Exit For ' solo debe de tener un detalle por eso se sale
index = index + 1
Next
End If
If Not OcurrioError Then
' Dim ObjPrePoliza As New ClsContabilidad(transaccionSql)
Dim DTPrePoliza As New DataTable
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then
DTPrePoliza = ObjConta.DtResultados
If DTPrePoliza.Rows.Count = 0 Then
OcurrioError = True
Alert("No se encontraron datos de prepoliza", TipoMensaje.MsgAdvertencia)
End If
Else
OcurrioError = True
End If
For Each dRow As DataRow In DTPrePoliza.Rows
If Not ObjConta.UpdatePrePolizasDetalle(dRow("CvePrePolizaDetalle").ToString.ToEntero, dRow("Concepto").ToString, dRow("CveSubProyecto").ToString.ToEntero, -1, Boolean.Parse(dRow("TipoMovto").ToString), ImporteMN:=(TotalNew * TC), Importe:=TotalNew, TipoCambio:=TC) Then
OcurrioError = True
Exit For
End If
Next
End If
If ObjConta.ValidacionesPrePoliza(-1, UsuarioActual, Opcion:=2, CveVenta:=CveVentaRemision) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
If ObjConta.ValorPolizaDescuadre = 2 Then
OcurrioError = True
Alert(ObjConta.MensajePolizaDescuadre, TipoMensaje.MsgError)
End If
End If
End If
Catch ex As Exception
OcurrioError = True
OnError("Ocurrió un error al actualizar la remisión", ex)
End Try
If OcurrioError Then
'Alert("Ocurrió un error al guardar los cambios. Por favor intente de nuevo.", TipoMensaje.MsgError)
Return False
Else
' Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion, JSBtnAceptar:="BtnRefrescarPagina();")
Return True
End If
End Function
Protected Sub EliminarContrato(sender As Object, e As EventArgs) Protected Sub EliminarContrato(sender As Object, e As EventArgs)
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
If (CveContratoTipo = 35) Then If (CveContratoTipo = 35) Then

View File

@@ -267,7 +267,7 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="input-group"> <div class="input-group">
<ADS:Dropdownlost ID="DdlClientes" CssClass="form-control" data-metodo="getcliente" Width="100%" CssStyle="width: 100%;" <ADS:Dropdownlost ID="DdlClientes" data-metodo="getcliente" Width="100%" CssStyle="width: 100%;"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente"
UsaWebService="true" Enabled="false"></ADS:Dropdownlost> UsaWebService="true" Enabled="false"></ADS:Dropdownlost>
<div class="input-group-addon" style="background-color: #428bca"> <div class="input-group-addon" style="background-color: #428bca">
@@ -289,9 +289,6 @@
<asp:RequiredFieldValidator ID="RfvDdlSubProyectoModal" runat="server" ControlToValidate="DdlSubProyectoModal" InitialValue="-1" ErrorMessage="Campo sub Proyecto requerido." Display="None" <asp:RequiredFieldValidator ID="RfvDdlSubProyectoModal" runat="server" ControlToValidate="DdlSubProyectoModal" InitialValue="-1" ErrorMessage="Campo sub Proyecto requerido." Display="None"
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceRfvDdlSubProyectoModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlSubProyectoModal" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VceRfvDdlSubProyectoModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlSubProyectoModal" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTipoAF" Width="400px">
</ajax:ValidatorCalloutExtender>
<%-- <div class="input-group-addon" style="background-color: #428bca"> <%-- <div class="input-group-addon" style="background-color: #428bca">
<asp:LinkButton runat="server" ForeColor="White" Text="<i class='fa fa-add'></i>" <asp:LinkButton runat="server" ForeColor="White" Text="<i class='fa fa-add'></i>"

View File

@@ -172,22 +172,24 @@ Partial Class ListadoContratos
End If End If
Anexo.Text = "" Anexo.Text = ""
'If ErrorProceso = False Then If ErrorProceso = False Then
' Dim Respuesta As New RespuestaFacturacion() Dim ObsRemisionPartida As String = $"{DdlTipoAF.SelectedItem.Text}-{ TxtDescripcion.Text}-{LbFolio.Text}"
' Dim CvePS As Integer = 907783
' Respuesta = GeneraRemision(CveContrato, LbFolio.Text, TxtImporte.Text.ToDecimal, CvePS, ObjContratos.IniciaTransacSQL)
' If Respuesta.CveVenta > 0 Then Dim Respuesta As New RespuestaFacturacion()
' CveVentaRemision = Respuesta.CveVenta Dim CvePS As Integer = 907784
' SerieFolioRemision = Respuesta.SerieFolio Respuesta = GeneraRemision(CveContrato, ObsRemisionPartida, TxtImporte.Text.ToDecimal, CvePS, ObjContratos.IniciaTransacSQL)
' ErrorProceso = False
' Else
' ErrorProceso = True
' Alert("se presento un error al generar la remisión", TipoMensaje.MsgAdvertencia)
' End If
'End If If Respuesta.CveVenta > 0 Then
CveVentaRemision = Respuesta.CveVenta
SerieFolioRemision = Respuesta.SerieFolio
ErrorProceso = False
Else
ErrorProceso = True
Alert("se presento un error al generar la remisión", TipoMensaje.MsgAdvertencia)
End If
End If
Else Else
@@ -319,7 +321,7 @@ Partial Class ListadoContratos
#Region "G E N E R A R E M I S O N" #Region "G E N E R A R E M I S O N"
Private Function GeneraRemision(CveContrato As Integer, NumContrato As String, Importe As Decimal, CvePS As Integer, ByRef TransaccionSQL As SqlClient.SqlTransaction) As RespuestaFacturacion Private Function GeneraRemision(CveContrato As Integer, ObsPartida As String, Importe As Decimal, CvePS As Integer, ByRef TransaccionSQL As SqlClient.SqlTransaction) As RespuestaFacturacion
Dim Respuesta As New RespuestaFacturacion() Dim Respuesta As New RespuestaFacturacion()
Dim CveRemisionGenerada As Integer = -1 Dim CveRemisionGenerada As Integer = -1
@@ -333,7 +335,8 @@ Partial Class ListadoContratos
If ObjFactura IsNot Nothing AndAlso ProcesoOK Then If ObjFactura IsNot Nothing AndAlso ProcesoOK Then
ObjFactura.CveContrato = CveContrato ObjFactura.CveContrato = CveContrato
ObjFactura.Observaciones = NumContrato ObjFactura.Observaciones = ObsPartida
ObjFactura.CveFormaPago33 = 20 ' por definir
Dim TmpDTMat As New DataTable Dim TmpDTMat As New DataTable
TmpDTMat.Columns.Add("Consec", GetType(Integer)) TmpDTMat.Columns.Add("Consec", GetType(Integer))
@@ -345,17 +348,12 @@ Partial Class ListadoContratos
TmpDTMat.Columns.Add("FechaCaducidad", GetType(Date)) TmpDTMat.Columns.Add("FechaCaducidad", GetType(Date))
TmpDTMat.Columns.Add("CveVentaDetalle", GetType(Integer)) TmpDTMat.Columns.Add("CveVentaDetalle", GetType(Integer))
Dim SubTotal As Decimal = (Importe / (1 + 0.16)).ToDecimal
'Dim CvePS As Integer = 907783
Dim CantidadRegistro As Decimal = 1 Dim CantidadRegistro As Decimal = 1
Dim PorcentajeIVA As Decimal = 0.16D Dim PorcentajeIVA As Decimal = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto).FiltroPrimeroValor("IVA").ToDecimal
Dim SubTotal As Decimal = (Importe / (1D + PorcentajeIVA))
Dim PU As Decimal = SubTotal Dim PU As Decimal = SubTotal
Dim Descuento As Decimal = 0 Dim Descuento As Decimal = 0
Dim Obs As String = NumContrato Dim Obs As String = ObsPartida
If CantidadRegistro > 0 Then If CantidadRegistro > 0 Then
If ObjFactura.AgregarPS(CvePS, CantidadRegistro, PU, Descuento, Obs, CveSubProyecto:=CveSubProyecto, PorcentajeIVA:=PorcentajeIVA) Then If ObjFactura.AgregarPS(CvePS, CantidadRegistro, PU, Descuento, Obs, CveSubProyecto:=CveSubProyecto, PorcentajeIVA:=PorcentajeIVA) Then
@@ -370,7 +368,6 @@ Partial Class ListadoContratos
End If End If
End If End If
If ProcesoOK Then If ProcesoOK Then
ObjFactura.CalculaTotales() ObjFactura.CalculaTotales()
Dim Resp As New Modelos.Factura.MMensajeFactura Dim Resp As New Modelos.Factura.MMensajeFactura
@@ -383,9 +380,7 @@ Partial Class ListadoContratos
Else Else
ProcesoOK = False ProcesoOK = False
End If End If
End If End If
Else Else
ProcesoOK = False ProcesoOK = False
End If End If

View File

@@ -1,28 +1,35 @@
<%@ Page Title="Transportes V&A - Calendario" Language="VB" MasterPageFile="~/Site.master" <%@ Page Title="Transportes V&A - Calendario" Language="VB" MasterPageFile="~/Site.master" EnableEventValidation="false"
AutoEventWireup="false" CodeFile="RepContratosCalendario.aspx.vb" Inherits="RepContratosCalendario" %> AutoEventWireup="false" CodeFile="RepContratosCalendario.aspx.vb" Inherits="RepContratosCalendario" %>
<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %> <%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="Css" runat="Server">
<style type="text/css"> <style type="text/css">
/* #chartdiv {
width: 100%;
height: 100%;
} */
/*
.tipo_vista { .tipo_vista {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 2rem; gap: 2rem;
} }*/
.my-1 { .my-1 {
margin-block: 1rem; margin-block: 1rem;
} }
.miGrid { /* .miGrid {
color: white; color: white;
} }*/
/*
#chartdiv { #chartdiv {
width: 100%; width: 100%;
height: 600px; height: 600px;
} }*/
.fc-month-view .fc-day { .fc-month-view .fc-day {
@@ -53,7 +60,7 @@
<style> <style>
.gantt-samples-banner_controls_bar.controls_bar { .gantt-samples-banner_controls_bar.controls_bar {
margin: 0; margin: 0;
//position: absolute; /*position: absolute;*/
top: -30px; top: -30px;
width: 100%; width: 100%;
right: 0; right: 0;
@@ -83,14 +90,24 @@
} }
#gantt_here { #gantt_here {
scroll-behavior: smooth; /* Aplica un desplazamiento suave */
overflow-y: auto; /* Asegura que el desplazamiento vertical esté activo */ width: 100%; /* El ancho será el 100% del contenedor padre */
height: 400px; /* Puedes ajustar esta altura según necesites */
border: 1px solid #ccc; /* Opcional: Un borde para visualizar mejor el área del Gantt */
box-sizing: border-box; /* Asegura que el padding y el borde no afecten el tamaño total */
}
.gantt_parent_task {
background-color: #ffcccc !important; /* Color para las tareas principales */
} }
.gantt_child_task {
background-color: #cce5ff !important; /* Color para las sub-tareas */
}
</style> </style>
<link rel="stylesheet" href="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.css" type="text/css"> <link rel="stylesheet" href="/Transportes/Gant/dhtmlxgantt.css" type="text/css">
</asp:Content> </asp:Content>
@@ -99,12 +116,21 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAcciones" UpdateMode="Conditional">
<ContentTemplate>
<li> <li>
<asp:LinkButton ID="LnkPdf" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton> <asp:LinkButton ID="LnkPdf" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li> </li>
<li> <li>
<asp:LinkButton ID="LnkExcel" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton> <asp:LinkButton ID="LnkExcel" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li> </li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkPdf" />
<asp:PostBackTrigger ControlID="LnkExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="C" runat="Server">
@@ -356,11 +382,35 @@
<ajax:TabPanel ID="TabGrantt" runat="server" HeaderText="Cronograma"> <ajax:TabPanel ID="TabGrantt" runat="server" HeaderText="Cronograma">
<ContentTemplate> <ContentTemplate>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="height: 32px;">
<label class="col-md-1 truncate">Tipo Vista:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoVistaCalendario" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoVistaCalendario_SelectedIndexChanged" CssClass="form-control select2me input-sm select2me Widthall"
Style="width: 100%;" runat="server">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Solo Viaje" Value="1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPGat" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPGat" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div> <div >
<div class="gantt-samples-banner_controls_bar controls_bar"> <div class="gantt-samples-banner_controls_bar controls_bar" style="display:none!important">
<strong>Formato: &nbsp; </strong> <strong>Formato: &nbsp; </strong>
<label> <label>
@@ -403,7 +453,7 @@
</label> </label>
</div> </div>
</div> </div>
<div id="gantt_here" style='width: 100%; height: 100vh;'></div> <div id="gantt_here"></div>
</div> </div>
@@ -412,7 +462,7 @@
<asp:UpdatePanel ID="UPPGantt" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPPGantt" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter"> <div class="portlet solid grey-cascade portlet-filter" style="display:none!important">
<div class="portlet-title portlet-filterT smalltitle"> <div class="portlet-title portlet-filterT smalltitle">
<div class="tools"> <div class="tools">
<a href="javascript:;" class="expand"></a> <a href="javascript:;" class="expand"></a>
@@ -433,6 +483,7 @@
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div id="chartdiv"></div> <div id="chartdiv"></div>
@@ -683,7 +734,8 @@
<script src="https://cdn.amcharts.com/lib/5/index.js"></script> <script src="https://cdn.amcharts.com/lib/5/index.js"></script>
<script src="https://cdn.amcharts.com/lib/5/xy.js"></script> <script src="https://cdn.amcharts.com/lib/5/xy.js"></script>
<script src="https://cdn.amcharts.com/lib/5/themes/Animated.js"></script> <script src="https://cdn.amcharts.com/lib/5/themes/Animated.js"></script>
<script src="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.js"></script> <%--<script src="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.js"></script>--%>
<script src="/Transportes/Gant/dhtmlxgantt.js"></script>
<script> <script>
// Create root element // Create root element
// https://www.amcharts.com/docs/v5/getting-started/#Root_element // https://www.amcharts.com/docs/v5/getting-started/#Root_element
@@ -716,10 +768,258 @@
"December": "Diciembre", "December": "Diciembre",
}; };
var dateAxis; let dateAxis;
let yAxis;
function cargaDiagramaGrant(data, categorias, TipoVista) { function cargaDiagramaGrant(data, categorias, TipoVista) {
am5.ready(function () {
// SI YA HAY GRÁFICA, QUITA LA ACTUAL PARA HACER UNA NUEVA
root.container.children.clear();
root.dateFormatter.setAll({
dateFormat: "yyyy-MM-dd HH:mm:ss",
dateFields: ["valueX", "openValueX"]
});
root.locale = am5locales_es_ES;
// Establecer temas
root.setThemes([
am5themes_Animated.new(root)
]);
// Crear gráfico
let chart = root.container.children.push(am5xy.XYChart.new(root, {
panX: false,
panY: false, // Habilita el desplazamiento vertical
wheelX: "none",
wheelY: "none", // Habilita el scroll vertical con la rueda del mouse
layout: root.verticalLayout,
paddingLeft: 0
}));
// Deshabilitar el enmascaramiento en el plotContainer
//chart.plotContainer.set("mask", null); // quita rendimiento
// Agregar leyenda
let legend = chart.children.push(am5.Legend.new(root, {
centerX: am5.p50,
x: am5.p50
}));
let colors = chart.get("colors");
// Definir cellSize para el tamaño fijo de cada categoría en el eje Y
let cellSize = 45;
//if (TipoVista == 1) {
// cellSize = 60;
//}
// Crear eje Y (CategoryAxis)
chart.paddingTop = 40;
yAxis = chart.yAxes.push(
am5xy.CategoryAxis.new(root, {
categoryField: "category",
renderer: am5xy.AxisRendererY.new(root, {
inversed: false,
minGridDistance: cellSize, // Asigna el tamaño fijo a cada unidad
minorGridEnabled: true,
neverHide: true,
forceHidden: false,
oversizedBehavior: "none",
location: 0.5,
fontSize: 12, // Ajusta el tamaño de fuente si es necesario
visible: true, // Asegura que las etiquetas sean visibles
minPosition: 0.001,
maxPosition: 0.999,
minGridDistance: 1, // Reduced from cellSize to 1
}),
tooltip: am5.Tooltip.new(root, {
themeTags: ["axis"],
animationDuration: 200
})
})
);
//yAxis.renderer.grid.template.disabled = !showgrid;
//yAxis.paddingLeft = 10;
//yAxis.paddingRight = 10;
//yAxis.layout = "absolute";
// Set up axis title
//yAxis.title.text = "Unidades";
//yAxis.title.rotation = 0;
//yAxis.title.align = "center";
//yAxis.title.valign = "top";
yAxis.set('strictMinMax', true);
yAxis.set('maxDeviation', 0);
yAxis.set('start', 0);
yAxis.set('end', 1);
yAxis.data.setAll(categorias);
// Asegurar que las etiquetas del eje Y siempre se muestren
//yAxis.get("renderer").labels.template.setAll({
// forceHidden: false,
// oversizedBehavior: "none",
// location: 0.5,
// fontSize: 12, // Ajusta el tamaño de fuente si es necesario
// visible: true, // Asegura que las etiquetas sean visibles
// minPosition: 0.001,
// maxPosition: 0.999
//});
// Configurar el eje Y para evitar zoom automático
// Obtener valores de las cajas de texto
let fechaI = document.getElementById('<%= txtFechaI.ClientID %>').value;
let fechaF = document.getElementById('<%= txtFechaF.ClientID %>').value;
// Convertir valores a objetos Date
let minDate = new Date(fechaI.split("/").reverse().join("-"));
let maxDate = new Date(fechaF.split("/").reverse().join("-"));
maxDate.setHours(23, 59, 59, 999);
// Crear eje X (DateAxis)
let xAxis = am5xy.DateAxis.new(root, {
baseInterval: { timeUnit: "hour", count: 1 },
renderer: am5xy.AxisRendererX.new(root, {
opposite: true,
minorGridEnabled: true,
minGridDistance: 50 // Ajusta según sea necesario para evitar superposición
}),
min: minDate.getTime(),
max: maxDate.getTime(),
groupData: false,
markUnitChange: false
});
// Agregar el eje X al contenedor superior
chart.topAxesContainer.children.push(xAxis);
// Asegurar que todas las etiquetas se muestren
xAxis.get("renderer").labels.template.setAll({
forceHidden: false,
minPosition: 0.001,
maxPosition: 0.999,
location: 0.5,
fontSize: 14, // Tamaño de fuente
fontWeight: "bold"
});
// Formatear las etiquetas de fecha
xAxis.get("renderer").labels.template.adapters.add("text", function (text, target) {
let dataItem = target.dataItem;
if (dataItem) {
let value = dataItem.get('value');
let date = new Date(value);
let day = date.getDate().toString().padStart(2, '0');
let month = (date.getMonth() + 1).toString().padStart(2, '0');
return day + '/' + month;
} else {
return text;
}
});
// Añadir la serie
let series = chart.series.push(am5xy.ColumnSeries.new(root, {
xAxis: xAxis,
yAxis: yAxis,
openValueXField: "fromDate",
valueXField: "toDate",
categoryYField: "category"
/*, sequencedInterpolation: true*/
}));
series.columns.template.setAll({
templateField: "columnSettings",
strokeOpacity: 0,
tooltipText: "UNIDAD: {category}-{unidad} \nCONTRATO: {contrato} \nDURACIÓN: {openValueX} - {valueX}"
});
series.data.processor = am5.DataProcessor.new(root, {
dateFields: ["fromDate", "toDate"],
dateFormat: "yyyy-MM-dd HH:mm:ss"
});
series.data.setAll(data);
//// Scrollbar X
//var scrollbarX = am5.Scrollbar.new(root, {
// orientation: "horizontal"
//});
//chart.set("scrollbarX", scrollbarX);
//chart.bottomAxesContainer.children.push(scrollbarX);
// Scrollbar Y
//let scrollbarY = am5.Scrollbar.new(root, {
// orientation: "vertical"
//});
//chart.set("scrollbarY", scrollbarY);
//chart.rightAxesContainer.children.push(scrollbarY);
// MOSTRAR MODAL DE CONTRATO AL HACER CLICK
series.columns.template.events.on("click", e => {
let cveContrato = e.target.dataItem.dataContext.cveContrato;
$('#<%=HdnCveContrato.ClientID%>').val(cveContrato);
let url = '/Ashx/CargaEventos.ashx?METODO=contrato_transportes';
let parametros = '&cveContrato=' + cveContrato + '&U=' + '<%= UsuarioActual.CveUsuario %>' + '&E=' + '<%= UsuarioActual.CveEmpresa %>' + '&tipoVista=' + '<%= RBTipoVista.Text %>' + '&CveUsuarioPara:' + $('#DdlTecnico').val() + '&CveSubProyecto:' + $('#DdlSubProyecto').val();
fetch(url + parametros).then(response => response.json()).then(json => {
updateEvent(json[0], null, false);
}).catch(err => console.log('Solicitud fallida', err));
});
series.events.on("datavalidated", function (ev) {
let xAxisHeight = xAxis.height();
let chartHeight = categorias.length * cellSize + xAxisHeight + chart.get("paddingTop", 0) + chart.get("paddingBottom", 0);
// Establece la altura calculada en el contenedor del gráfico
chart.root.dom.style.height = chartHeight + "px";
// Asegurar que el eje Y no esté con zoom
yAxis.zoom(0, 1);
});
// Animaciones al cargar
series.appear();
chart.appear(1000, 100);
}); // end am5.ready()
}
function zoomAxisy(inicio,fin) {
setTimeout(() => {
//yAxis.zoomToIndexes(inicio, fin);
}, 100);
}
function zoomAxis(anioI, mesI, diaI, anioF, mesF, diaF) {
setTimeout(() => {
// dateAxis.zoomToDates(new Date(anioI, mesI, diaI), new Date(anioF, mesF, diaF));
}, 1500);
}
<%--function cargaDiagramaGrant(data, categorias, TipoVista) {
am5.ready(function () { am5.ready(function () {
//SI YA HAY GRAFICA, QUITA LA ACTUAL PARA HACER UNA NUEVA //SI YA HAY GRAFICA, QUITA LA ACTUAL PARA HACER UNA NUEVA
root.container.children.clear(); root.container.children.clear();
@@ -740,10 +1040,10 @@
// Create chart // Create chart
// https://www.amcharts.com/docs/v5/charts/xy-chart/ // https://www.amcharts.com/docs/v5/charts/xy-chart/
var chart = root.container.children.push(am5xy.XYChart.new(root, { var chart = root.container.children.push(am5xy.XYChart.new(root, {
panX: true, panX: false,
panY: false, panY: false,
wheelX: "panX", wheelX: "none",
wheelY: "zoomX", wheelY: "none",
layout: root.verticalLayout, layout: root.verticalLayout,
paddingLeft: 0 paddingLeft: 0
})); }));
@@ -783,23 +1083,46 @@
var minDate = new Date(fechaI.split("/").reverse().join("-")); var minDate = new Date(fechaI.split("/").reverse().join("-"));
var maxDate = new Date(fechaF.split("/").reverse().join("-")); var maxDate = new Date(fechaF.split("/").reverse().join("-"));
dateAxis = am5xy.DateAxis.new(root, {
baseInterval: { timeUnit: "day", count: 1 },
renderer: am5xy.AxisRendererX.new(root, {
minorGridEnabled: true,
minGridDistance: 90
}),
min: minDate.getTime(),
max: maxDate.getTime()
//min: new Date(2024, 6, 15).getTime(),
//max: new Date(2024, 6, 31).getTime()
});
var xAxis = chart.xAxes.push( var xAxis = chart.xAxes.push(
dateAxis am5xy.DateAxis.new(root, {
baseInterval: { timeUnit: "day", count: 1 },
renderer: am5xy.AxisRendererX.new(root, {
opposite: true,
minorGridEnabled: true,
minGridDistance: 30 // Ajusta según sea necesario
}),
min: minDate.getTime(),
max: maxDate.getTime(),
groupData: false,
markUnitChange: false
})
); );
chart.topAxesContainer.children.push(dateAxis); // Asegurar que todas las etiquetas se muestren
xAxis.get("renderer").labels.template.setAll({
forceHidden: false,
minPosition: 0.001,
maxPosition: 0.999,
location: 0.5 // Centra las etiquetas
});
// Formatear las etiquetas de fecha
xAxis.get("renderer").labels.template.adapters.add("text", function (text, target) {
var dataItem = target.dataItem;
if (dataItem) {
var value = dataItem.get('value');
var date = new Date(value);
var day = date.getDate().toString().padStart(2, '0');
var month = (date.getMonth() + 1).toString().padStart(2, '0');
return day + '/' + month;
} else {
return text; // O puedes devolver una cadena vacía: return '';
}
});
//chart.topAxesContainer.children.push(dateAxis);
// Add series // Add series
// https://www.amcharts.com/docs/v5/charts/xy-chart/series/ // https://www.amcharts.com/docs/v5/charts/xy-chart/series/
@@ -812,6 +1135,7 @@
sequencedInterpolation: true sequencedInterpolation: true
})); }));
series.columns.template.setAll({ series.columns.template.setAll({
templateField: "columnSettings", templateField: "columnSettings",
strokeOpacity: 0, strokeOpacity: 0,
@@ -824,10 +1148,6 @@
}); });
series.data.setAll(data); series.data.setAll(data);
// Add scrollbars
//chart.set("scrollbarX", am5.Scrollbar.new(root, {
// orientation: "horizontal"
//}));
// Scrollbar X // Scrollbar X
var scrollbarX = am5.Scrollbar.new(root, { var scrollbarX = am5.Scrollbar.new(root, {
@@ -884,14 +1204,9 @@
}); // end am5.ready() }); // end am5.ready()
} }--%>
function zoomAxis(anioI, mesI, diaI, anioF, mesF, diaF) {
setTimeout(() => {
dateAxis.zoomToDates(new Date(anioI, mesI, diaI), new Date(anioF, mesF, diaF));
}, 1500);
}
var PrimeraCargaCalendario = true; var PrimeraCargaCalendario = true;
var currentUpdateEvent; var currentUpdateEvent;
@@ -1333,21 +1648,21 @@
function loadGant() { function loadGant() {
gantt.config.date_format = "%Y-%m-%d %H:%i"; gantt.config.date_format = "%Y-%m-%d %H:%i";
gantt.config.order_branch = true; gantt.config.order_branch = true;
gantt.i18n.setLocale("es"); gantt.config.order_branch_free = true;
gantt.init("gantt_here"); gantt.config.open_tree_initially = true;
gantt.config.show_tasks_outside_timescale = true;
gantt.config.drag_move = false; // Desactiva mover tareas gantt.config.drag_move = false; // Desactiva mover tareas
gantt.config.drag_resize = false; // Desactiva redimensionar tareas gantt.config.drag_resize = false; // Desactiva redimensionar tareas
gantt.config.drag_progress = false; // Desactiva mover la barra de progreso gantt.config.drag_progress = false; // Desactiva mover la barra de progreso
//gantt.config.smart_scales = false;// Desactiva el salto automático entre escalas de tiempo gantt.i18n.setLocale("es");
//gantt.config.scroll_size = 1; gantt.init("gantt_here");
// gantt.config.scroll_on_click = false; // Desactiva el scroll automático al hacer clic
//gantt.config.autosize = "xy";
//gantt.config.smart_rendering = false;
gantt.config.columns = [ gantt.config.columns = [
//{ name: "text", label: "Contrato ", width: "*", min_width: 150, tree: true, resize: true, template: function (obj) { return "<a href=\"/Transportes/RepContratoDetalle.aspx?CveContrato=" + obj.id + "\" target=\"_Blank\">" + obj.text + " </a>" } }, //{ name: "text", label: "Contrato ", width: "*", min_width: 150, tree: true, resize: true, template: function (obj) { return "<a href=\"/Transportes/RepContratoDetalle.aspx?CveContrato=" + obj.id + "\" target=\"_Blank\">" + obj.text + " </a>" } },
{ name: "codigoaf", label: "Unidad", max_width: 50, align: "left" },
//{ name: "start_date", label: "Inicio", min_width: 90, align: "center" }, //{ name: "start_date", label: "Inicio", min_width: 90, align: "center" },
//{ name: "end_date", label: "Fin", min_width: 90, align: "center" } //{ name: "end_date", label: "Fin", min_width: 90, align: "center" }
@@ -1362,6 +1677,9 @@
data: datosGant data: datosGant
}); });
// Agregar evento para hover y mostrar tooltip // Agregar evento para hover y mostrar tooltip
gantt.attachEvent("onMouseMove", function (id, e) { gantt.attachEvent("onMouseMove", function (id, e) {
if (id) { if (id) {
@@ -1401,7 +1719,8 @@
// Cancelar el comportamiento predeterminado // Cancelar el comportamiento predeterminado
return false; return false;
}); });
}
gantt.attachEvent("onBeforeTaskMove", function (id, parent, tindex) { gantt.attachEvent("onBeforeTaskMove", function (id, parent, tindex) {
console.log(tindex) console.log(tindex)
var task = gantt.getTask(id); var task = gantt.getTask(id);
@@ -1417,21 +1736,18 @@
gantt.render(); gantt.render();
}); });
gantt.attachEvent("onGanttScroll", function (left, top) { gantt.attachEvent("onTaskLoading", function (task) {
if (task.hidden) {
// var step = 50; // Define cuánto avanzar con cada paso del scroll task.$rendered = false; // Evitar que la tarea se renderice
//var newTop = top + step; // Incrementa el scroll vertical en 50 píxeles }
return true;
//gantt.scrollTo(left, newTop); // Establece el nuevo valor de scroll vertical
console.log("Scroll vertical: ", top);
return false; // Previene el scroll predeterminado para que solo se aplique el manual
//return true;
}); });
}
loadGant(); loadGant();
</script> </script>

View File

@@ -72,7 +72,8 @@ Partial Class RepContratosCalendario
CveTipoAF:=DdlTipoUnidad.SelectedValue.ToEntero, CveTipoAF:=DdlTipoUnidad.SelectedValue.ToEntero,
CveChofer:=DdlChoferFiltro.SelectedValue.ToEntero) Then CveChofer:=DdlChoferFiltro.SelectedValue.ToEntero) Then
DtAvance = ObjContratos.DtResultados.Copy() DtAvance = ObjContratos.DtResultados.Copy()
CargaCronograma(DdlTipoVista.SelectedValue.ToEntero) CargaCronograma(DdlTipoVistaCalendario.SelectedValue.ToEntero)
CargaDiagramadeGant(DdlTipoVista.SelectedValue.ToEntero)
End If End If
GvContratos.DataSource = DtAvance GvContratos.DataSource = DtAvance
DdlEstatusContrato.Enabled = UsuarioActual.TienePermisoProceso(173) DdlEstatusContrato.Enabled = UsuarioActual.TienePermisoProceso(173)
@@ -91,9 +92,9 @@ Partial Class RepContratosCalendario
Private Sub CargaCronograma(Optional TipoVista As Integer = -1) Private Sub CargaCronograma(Optional TipoVista As Integer = -1)
If DtAvance IsNot Nothing Then If DtAvance IsNot Nothing Then
Dim separator As String = "" 'Dim separator As String = ""
Dim str As New StringBuilder() 'Dim str As New StringBuilder()
str.AppendLine("datosGant=[") 'str.AppendLine("datosGant=[")
Dim StrFiltro As String = "" Dim StrFiltro As String = ""
@@ -110,30 +111,32 @@ Partial Class RepContratosCalendario
'DATOS 'DATOS
Dim strAF As New StringBuilder Dim strAF As New StringBuilder
'se quitan los estatus cancelados 'se quitan los estatus cancelados
Dim randomNumber As New Random
For Each Row As DataRow In DtAvance.FiltraParametros("CodigoAF <> '' AND TipoEstatus <> 3").Rows For Each Row As DataRow In DtAvance.FiltraParametros("CodigoAF <> '' AND TipoEstatus <> 3").Rows
Dim obj As New JObject( Dim obj As New JObject(
New JProperty("category", Row("CodigoAF")), New JProperty("category", Row("CodigoAF")),
New JProperty("fromDate", Row("FechaInicial").ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm").ToDateTime()), New JProperty("fromDate", Row("FechaInicial").ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm:ss")),
New JProperty("toDate", Row("FechaFinal").ToString().ToDateTime.ToString("dd/MM/yyyy HH:mm").ToDateTime()), New JProperty("toDate", Row("FechaFinal").ToString().ToDateTime.ToString("yyyy-MM-dd HH:mm:ss")),
New JProperty("columnSettings", New JObject( New JProperty("columnSettings", New JObject(
New JProperty("fill", String.Format("#{0:X6}", random.Next(16777216))) New JProperty("fill", String.Format("#{0:X6}", random.Next(16777216)))
)), )),
New JProperty("unidad", Row("NombreAF")), New JProperty("unidad", Row("NombreAF")),
New JProperty("cveContrato", Row("CveContrato")), New JProperty("cveContrato", Row("CveContrato")),
New JProperty("contrato", Row("NumeroContrato")), New JProperty("contrato", Row("NumeroContrato")),
New JProperty("fechaFinalViaje", Row("FechaFinal").ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm")) New JProperty("fechaFinalViaje", Row("FechaFinal").ToString().ToDateTime().ToString("yyyy-MM-dd HH:mm:ss"))
) )
jsonData.Add(obj) jsonData.Add(obj)
strAF.AppendFormat("{0},", Row("CveAF")) strAF.AppendFormat("{0},", Row("CveAF"))
'uniad contrato y duracion 'uniad contrato y duracion
Dim unidad As String = $"{Row("CodigoAF")}-{Row("NombreAF")}" 'Dim unidad As String = $"{Row("CodigoAF")}-{Row("NombreAF")}"
Dim duracion As String = $"{Row("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")} - {Row("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")}" 'Dim duracion As String = $"{Row("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")} - {Row("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")}"
str.AppendLine(String.Format("{0}{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd HH:mm}"", end_date: ""{4:yyyy/MM/dd HH:mm}"", parent: {5}, progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}""}}", 'str.AppendLine(String.Format("{0}{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd HH:mm}"", end_date: ""{4:yyyy/MM/dd HH:mm}"", parent: {5}, progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}"", color: ""{9}"",codigoaf: ""{10}""}}",
separator, Row("CveContrato"), Row("NumeroContrato").ToString().Replace("\\", "\\\\").Replace("""", "\"""), Row("FechaInicial"), Row("FechaFinal"), 0, 100, unidad, duracion)) ' separator, Row("CveContrato"), Row("NumeroContrato").ToString().Replace("\\", "\\\\").Replace("""", "\"""), Row("FechaInicial"), Row("FechaFinal"), 0, 100, unidad, duracion, ColorAleatorio(randomNumber), Row("CodigoAF").ToString))
separator = "," 'separator = ","
Next Next
@@ -151,8 +154,119 @@ Partial Class RepContratosCalendario
Dim FechaI = txtFechaI.Text.ToDateTime() Dim FechaI = txtFechaI.Text.ToDateTime()
Dim FechaF = txtFechaF.Text.ToDateTime() Dim FechaF = txtFechaF.Text.ToDateTime()
Dim ScriptZoom = $"zoomAxis({FechaI.Year},{FechaI.Month - 1},{FechaI.Day},{FechaF.Year},{FechaF.Month - 1},{FechaF.Day});" 'Dim ScriptZoomx = $"zoomAxis({FechaI.Year},{FechaI.Month - 1},{FechaI.Day},{FechaF.Year},{FechaF.Month - 1},{FechaF.Day});"
RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()},{TipoVista});{ScriptZoom}", "A1") 'Dim ScriptZoomy = $"zoomAxisy(0,{If(jsonCategorias.Count > 9, 9, jsonCategorias.Count - 1)});"
'RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()},{TipoVista});{ScriptZoomx};{ScriptZoomy};", "A1")
'RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()},{TipoVista});", "A1")
'str.AppendLine("];loadGant();")
'RegistraScript(str.ToString())
UPPGantt.Update()
UPGat.Update()
End If
End Sub
Private Sub CargaDiagramadeGant(Optional TipoVista As Integer = -1)
Dim randomNumber As New Random
If DtAvance IsNot Nothing Then
Dim str As New StringBuilder()
str.AppendLine("datosGant=[")
If TipoVista = 1 Then 'solo con viajes
Else
Dim StrFiltro As String = ""
If DdlTipoUnidad.SelectedValue.ToEntero > 0 Then StrFiltro = " AND CveTipoActivoFijo = " & DdlTipoUnidad.SelectedValue
Dim DtUnidades As DataTable = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros("Codigo <> '' AND MedidaVehicular IN (2,3) " & StrFiltro, Orderby:=" TipoActivoFijo ASC, CodigoNumeroOrden ASC", DistinctColumns:={"Codigo", "CveActivoFijo"})
Dim separator As String = ""
Dim encontrados As Integer = 0
Dim CvePadre As Integer = -1
For Each dRowUnidad As DataRow In DtUnidades.Rows
Dim CveActivoFijo As Integer = dRowUnidad("CveActivoFijo").ToString.ToEntero
Dim CodigoAF As String = dRowUnidad("Codigo").ToString
'Dim unidad As String = $"{dRowUnidad("Codigo").ToString}-{dRowUnidad("Descripcion").tostring}"
Dim SeEncontro As Boolean = False
Dim EsHijo As Boolean = False
For Each Row As DataRow In DtAvance.FiltraParametros("CodigoAF <> '' AND TipoEstatus <> 3").Rows
Dim CveActivoFijoContrato As Integer = Row("CveAF").ToString.ToEntero
'If CveActivoFijo = CveActivoFijoContrato Then
' str.AppendLine(String.Format("{0}", separator))
' SeEncontro = True
' Dim unidad As String = $"{Row("CodigoAF")}-{Row("NombreAF")}"
' Dim duracion As String = $"{Row("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")} - {Row("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")}"
' str.AppendLine(String.Format("{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd HH:mm}"", end_date: ""{4:yyyy/MM/dd HH:mm}"", parent: {5}, progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}"", color: ""{9}"",codigoaf: ""{10}""}} ",
' separator, Row("CveContrato"), Row("NumeroContrato").ToString().Replace("\\", "\\\\").Replace("""", "\"""), Row("FechaInicial"), Row("FechaFinal"), 0, 100, unidad, duracion, ColorAleatorio(randomNumber), Row("CodigoAF").ToString))
' separator = ","
' encontrados = encontrados + 1
'End If
If CveActivoFijo = CveActivoFijoContrato Then
str.AppendLine(String.Format("{0}", separator))
SeEncontro = True
Dim unidad As String = $"{Row("CodigoAF")}-{Row("NombreAF")}"
Dim duracion As String = $"{Row("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")} - {Row("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")}"
If EsHijo Then
str.AppendLine(String.Format("{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd HH:mm}"", end_date: ""{4:yyyy/MM/dd HH:mm}"", progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}"", color: ""{9}"",codigoaf: ""{10}"", cvecontrato: ""{11}"", parent: {12} }} ",
separator, Row("CveContrato").ToString, Row("NumeroContrato").ToString().Replace("\\", "\\\\").Replace("""", "\"""), Row("FechaInicial"), Row("FechaFinal"), 0, 100, unidad, duracion, ColorAleatorio(randomNumber), Row("CodigoAF").ToString, Row("CveContrato").ToString, CvePadre)
)
Else
str.AppendLine(String.Format("{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd HH:mm}"", end_date: ""{4:yyyy/MM/dd HH:mm}"", progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}"", color: ""{9}"",codigoaf: ""{10}"", cvecontrato: ""{11}"",parent: 0 }} ",
separator, Row("CveContrato").ToString, Row("NumeroContrato").ToString().Replace("\\", "\\\\").Replace("""", "\"""), Row("FechaInicial"), Row("FechaFinal"), 0, 100, unidad, duracion, ColorAleatorio(randomNumber), Row("CodigoAF").ToString, Row("CveContrato").ToString)
)
End If
If Not EsHijo Then
CvePadre = Row("CveContrato").ToString.ToEntero
EsHijo = True
End If
separator = ","
encontrados = encontrados + 1
Else
EsHijo = False
End If
Next
If Not SeEncontro Then
If encontrados > 0 Then
separator = ","
End If
str.AppendLine(String.Format("{0}", separator))
str.AppendLine(String.Format("{{id: {1}, text: ""{2}"", start_date: ""{3}"", end_date: ""{4}"", parent: {5}, progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}"", color: ""{9}"",codigoaf: ""{10}"", hidden: true}} ",
"", CveActivoFijo, -1, txtFechaF.Text.ToDate.ToString("yyyy/MM/dd HH:mm"), txtFechaF.Text.ToDate.ToString("yyyy/MM/dd HH:mm"), 0, 100, "", "", ColorAleatorio(randomNumber), CodigoAF))
separator = ","
End If
'str.AppendLine(String.Format("}"))
Next
End If
str.AppendLine("];loadGant();") str.AppendLine("];loadGant();")
@@ -163,6 +277,65 @@ Partial Class RepContratosCalendario
End If End If
End Sub End Sub
Private Function ColorAleatorio(randomNumber As Random) As String
Dim listaColores As New List(Of String)
listaColores.Add("#94f35a")
listaColores.Add("#1989a9")
listaColores.Add("#5a3c98")
listaColores.Add("#556855")
listaColores.Add("#e199cf")
listaColores.Add("#50cc77")
listaColores.Add("#559f9d")
listaColores.Add("#ede805")
listaColores.Add("#f1e489")
listaColores.Add("#c381f6")
listaColores.Add("#f2496b")
listaColores.Add("#c4d7dc")
listaColores.Add("#f3f9f9")
listaColores.Add("#fd8ffe")
listaColores.Add("#f2496b")
listaColores.Add("#5a8f9c")
listaColores.Add("#87bfbd")
listaColores.Add("#fb01fd")
listaColores.Add("#6836dc")
listaColores.Add("#67627e")
listaColores.Add("#1b9f44")
listaColores.Add("#3a54dc")
listaColores.Add("#fb66f1")
listaColores.Add("#24f6b4")
listaColores.Add("#60feee")
listaColores.Add("#82a199")
listaColores.Add("#93a9e1")
listaColores.Add("#ff8809")
listaColores.Add("#8379ba")
listaColores.Add("#f62ea2")
listaColores.Add("#41cf69")
listaColores.Add("#8624b2")
listaColores.Add("#f4948a")
listaColores.Add("#205da6")
listaColores.Add("#9f38b6")
listaColores.Add("#540466")
listaColores.Add("#7a4e49")
listaColores.Add("#bd22ce")
listaColores.Add("#6d89a0")
listaColores.Add("#7e6d8c")
listaColores.Add("#124a70")
listaColores.Add("#c3d2c2")
listaColores.Add("#506702")
listaColores.Add("#058106")
listaColores.Add("#0485f2")
listaColores.Add("#401685")
Dim ranNumber As Integer = randomNumber.Next(0, listaColores.Count - 1)
Return listaColores(ranNumber)
End Function
'Public Sub loadEvento() 'Public Sub loadEvento()
' Dim separator As String = "" ' Dim separator As String = ""
' Dim str As New StringBuilder() ' Dim str As New StringBuilder()
@@ -488,15 +661,46 @@ Partial Class RepContratosCalendario
End Sub End Sub
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString)
Dim SubProyecto As String = ""
SubProyecto = DdlSubProyectos.SelectedItem.Text
Dim SbFiltros As New StringBuilder()
SbFiltros.AppendFormat($"Fecha Inicio: {txtFechaI.Text} Fecha Fin: {txtFechaF.Text}|")
SbFiltros.AppendFormat("SubProyecto: {0}|", SubProyecto)
GvContratos.ExportToExcelGembox($"Reporte_Contratos_{NowADS.ToString("yyyyMMddHHmmss")}", UsuarioActual, "Reporte Contratos", DatoTituloExtra:=$"", DatosFiltros:=SbFiltros.ToString())
End Sub End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
' Esto es necesario para permitir la renderización del control fuera de un formulario servidor
' No se requiere implementación específica, solo la anulación.
End Sub
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click Protected Sub LnkPDF_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
ImprimirReporte()
End Sub
Private Sub ImprimirReporte(Optional Formato As String = "PDF")
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
Dim DTDatos As New DataTable
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=2) Then If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=2) Then
DTDatos = ObjContratos.DtResultados
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
ObjContratos.Dispose()
If DTDatos IsNot Nothing Then
Dim Imagen As New IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim Imagen As New IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
Dim logouri As String = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim logouri As String = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim Cliente As String = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b>&nbsp;{DdlClientes.SelectedText}") Dim Cliente As String = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b>&nbsp;{DdlClientes.SelectedText}")
Dim dt As DataTable = ObjContratos.DtResultados
Dim params As New List(Of ReportParameter) From { Dim params As New List(Of ReportParameter) From {
New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa), New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa),
New ReportParameter("FechaInicio", "-1"), New ReportParameter("FechaInicio", "-1"),
@@ -506,23 +710,25 @@ Partial Class RepContratosCalendario
New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString), New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString),
New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")) New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))
} }
ImprimirPDF("Empresas/Grales/Formatos/RepContratos.rdlc", dt, params, NombreArchivo:="Reporte Contratos") ImprimirPDF("Empresas/Grales/Formatos/RepContratos.rdlc", DTDatos, params, NombreArchivo:="Reporte Contratos", Formato:=Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If End If
ObjContratos.Dispose()
End Sub End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos() CargaDatos()
End Sub End Sub
Protected Sub RBTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub RBTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs)
InicializaCalendar() InicializaCalendar()
CargaCronograma() CargaCronograma()
CargaDiagramadeGant()
End Sub End Sub
Protected Sub DdlTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaCronograma(DdlTipoVista.SelectedValue.ToEntero)
CargaDiagramadeGant(DdlTipoVista.SelectedValue.ToEntero)
End Sub End Sub
@@ -537,4 +743,8 @@ Partial Class RepContratosCalendario
End Sub End Sub
Protected Sub DdlTipoVistaCalendario_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaCronograma(DdlTipoVistaCalendario.SelectedValue.ToEntero)
End Sub
End Class End Class

View File

@@ -158,7 +158,7 @@ Partial Class Ventas_Promociones
PermisoAutorizPromocionPorcentaje = UsuarioActual.TienePermisoProceso(386) PermisoAutorizPromocionPorcentaje = UsuarioActual.TienePermisoProceso(386)
EmpresaGrupoDiaz = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) 'Grupo díaz EmpresaGrupoDiaz = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) 'Grupo díaz
'EmpresaGrupoDiaz = True ''Para pruebas EmpresaGrupoDiaz = True ''Para pruebas
If EmpresaGrupoDiaz Then If EmpresaGrupoDiaz Then
DVModalClasificacion.Visible = False DVModalClasificacion.Visible = False

View File

@@ -7063,14 +7063,14 @@ Partial Class Ventas
End If End If
'funcionalidad EnviarSMSTimbrado 'funcionalidad EnviarSMSTimbrado
If CveVenta <= 0 And UsuarioActual.Empresa.Funcionalidad(152) <> "" And DdlTipoComprobante.SelectedValue = "Ing" Then 'If CveVenta <= 0 And UsuarioActual.Empresa.Funcionalidad(152) <> "" And DdlTipoComprobante.SelectedValue = "Ing" Then
If ObjCliente.CobranzaTelefono <> "" Then ' If ObjCliente.CobranzaTelefono <> "" Then
LblMensaje.Text = $"Se enviará mensaje SMS a {ObjCliente.CobranzaTelefono}" ' LblMensaje.Text = $"Se enviará mensaje SMS a {ObjCliente.CobranzaTelefono}"
Else ' Else
LblMensaje.Text = $"El Cliente no tiene teléfono para envío SMS " ' LblMensaje.Text = $"El Cliente no tiene teléfono para envío SMS "
End If ' End If
LblMensaje.Visible = True ' LblMensaje.Visible = True
End If 'End If
'If Not ObjCliente.RFC = "XAXX010101000" Then 'If Not ObjCliente.RFC = "XAXX010101000" Then
' TxtNumCtaPago.Text = ObjCliente.NumCtaPago ' TxtNumCtaPago.Text = ObjCliente.NumCtaPago
@@ -11139,9 +11139,9 @@ Partial Class Ventas
End If End If
If SeTimbro AndAlso ObjFactura.TipoDocto.Contiene("Ing") Then 'If SeTimbro AndAlso ObjFactura.TipoDocto.Contiene("Ing") Then
EstatusSMS = EnviarSMSTimbrado(ObjEventos) ' EstatusSMS = EnviarSMSTimbrado(ObjEventos)
End If ' End If
'If Not SeTimbro Then 'If Not SeTimbro Then
' Alert(MsgErrorTimbrado, TipoMensaje.MsgError) ' Alert(MsgErrorTimbrado, TipoMensaje.MsgError)
@@ -11355,17 +11355,31 @@ Partial Class Ventas
MensajeAlert.Append("Ocurrió un error al generar el PDF. Por favor vuelva a entrar a la factura para imprimir el PDF. ") MensajeAlert.Append("Ocurrió un error al generar el PDF. Por favor vuelva a entrar a la factura para imprimir el PDF. ")
End If End If
End If End If
GeneraPDFCotizacion(ChkEnviarFactura.Checked) ' MANDA CORREO GeneraPDFCotizacion(ChkEnviarFactura.Checked) ' MANDA CORREO
End If End If
End If End If
End If End If
'ENVIAR NOTIFICACION DE SMS
'ENVIA CORREO CON DETALLE DEL CONTRATO If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
If DdlTipoComprobante.SelectedValue.Contiene("DPe", "Ped") Then If DdlTipoComprobante.SelectedValue.Contiene("Ped") Then
If Not String.IsNullOrEmpty(CorreoNotificacionPedDev) Then Dim CorreoDestino As String
EnviarCorreoDevPed() CorreoDestino = UsuarioActual.Empresa.Funcionalidad(199).ListaBusquedaValor("Almacén")
If RBLTipoVenta.SelectedValue.Contiene("1", "2") Then
Dim ListMateriales As New List(Of GenericaCantidadProducto)
Dim DetalleTable As String = ""
For Each dRow As DataRow In TmpDT.Rows
ListMateriales.Add(New GenericaCantidadProducto With {.Cantidad = dRow("Cantidad").ToString.ToEntero, .Producto = dRow("PS").ToString})
Next
EnviaNotificacionSMS(3, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", ListMateriales, CorreoDestino)
Else
EnviaNotificacionSMS(4, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", Nothing, CorreoDestino)
End If
'cirugía en el mismo día o si es despues de las 9 y requiere técnico, 'jefe de técnicos
If TxtFechaOS.Text.ToDate.ToShortDateString = NowADS.ToShortDateString OrElse (NowADS.Hour > 21 And NowADS.AddDays(1).ToShortDateString = TxtFechaOS.Text.ToDate.ToShortDateString AndAlso ChkRequiereTecnicoModal.Checked) Then
CorreoDestino = UsuarioActual.Empresa.Funcionalidad(199).ListaBusquedaValor("JefeTécnicos")
EnviaNotificacionSMS(5, UsuarioActual.Empresa, CveVenta, TxtFolio.Text, TxtFechaOS.Text.ToDateTime, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedItem.Text, LblCliente.Text), DdlMedico.SelectedItem.Text, DdlProcedimiento.SelectedItem.Text, "", DdlVendedor.SelectedItem.Text, "", Nothing, CorreoDestino)
End If
End If End If
End If End If
@@ -17927,20 +17941,20 @@ Partial Class Ventas
'NOTIFICACION DE SMS 'NOTIFICACION DE SMS
Dim EstatusSMS As Integer = 0 'Dim EstatusSMS As Integer = 0
If ObjFactura.TipoDocto = "Ing" Then 'If ObjFactura.TipoDocto = "Ing" Then
Dim ObjEventos As New ClsOIEventos ' Dim ObjEventos As New ClsOIEventos
EnviarSMSTimbrado(ObjEventos) ' EnviarSMSTimbrado(ObjEventos)
ObjEventos.Dispose() ' ObjEventos.Dispose()
End If 'End If
Select Case EstatusSMS 'Select Case EstatusSMS
Case 1 ' Case 1
MensajeAlert.AppendFormat("<b>Notificación SMS:</b> enviado con éxito al cliente al celular: <b>{0}</b>", ObjFactura.Cliente.CobranzaTelefono) ' MensajeAlert.AppendFormat("<b>Notificación SMS:</b> enviado con éxito al cliente al celular: <b>{0}</b>", ObjFactura.Cliente.CobranzaTelefono)
Case 2 ' Case 2
MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. Ocurrió un error en el envío, por favor verifique la información del cliente.") ' MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. Ocurrió un error en el envío, por favor verifique la información del cliente.")
Case 3 ' Case 3
MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. No se pudo cargar el celular del cliente, por favor verifique la información del cliente.") ' MensajeAlert.AppendFormat("<b>Notificación SMS:</b> sin enviar. No se pudo cargar el celular del cliente, por favor verifique la información del cliente.")
End Select 'End Select
'MUESTA Alert OK 'MUESTA Alert OK
'MensajeAlert.Append("El Documento se generó correctamente") 'MensajeAlert.Append("El Documento se generó correctamente")
@@ -27907,49 +27921,49 @@ Partial Class Ventas
#End Region #End Region
#Region " ENVIAR SMS - CONFIRMACION DE TIMBRADO " #Region " ENVIAR SMS - CONFIRMACION DE TIMBRADO "
Private Function EnviarSMSTimbrado(ByRef ObjEventos As ClsOIEventos) As Integer 'Private Function EnviarSMSTimbrado(ByRef ObjEventos As ClsOIEventos) As Integer
'NOTA: ' 'NOTA:
'0 = NO APLICA ' '0 = NO APLICA
'1 = TODO FINO ' '1 = TODO FINO
'2 = ERROR ' '2 = ERROR
'3 = SIN CELULAR - PROBLEMA CON EL CELULAR ' '3 = SIN CELULAR - PROBLEMA CON EL CELULAR
Try ' Try
Dim Mensaje As String = UsuarioActual.Empresa.Funcionalidad(152) ' Dim Mensaje As String = UsuarioActual.Empresa.Funcionalidad(152)
If Mensaje = "" Then Return 0 ' If Mensaje = "" Then Return 0
Dim Celular As String = "" ' Dim Celular As String = ""
Try ' Try
Celular = ObjFactura.Cliente.CobranzaTelefono ' Celular = ObjFactura.Cliente.CobranzaTelefono
Catch ex As Exception ' Catch ex As Exception
End Try ' End Try
If Celular.Length <> 10 Then Return 3 ' If Celular.Length <> 10 Then Return 3
'ARMA MENSAJE ' 'ARMA MENSAJE
'4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto} ' '4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto}
Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio) ' Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio)
Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", "")) ' Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero) ' Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero)
Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", "")) ' Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto) ' Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto)
If Mensaje = "" Then Return 2 ' If Mensaje = "" Then Return 2
Dim ObjMensaje As New ClsTecnoMovil ' Dim ObjMensaje As New ClsTecnoMovil
If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then ' If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then
If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then ' If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then
End If ' End If
Return 1 ' Return 1
Else ' Else
Return 2 ' Return 2
End If ' End If
Catch ex As Exception ' Catch ex As Exception
OnError("Ocurrió un error al generar el SMS", ex) ' OnError("Ocurrió un error al generar el SMS", ex)
Return 0 ' Return 0
End Try ' End Try
End Function 'End Function
#End Region #End Region
#Region " COMPLEMENTOS PAGO " #Region " COMPLEMENTOS PAGO "
@@ -38240,10 +38254,14 @@ Partial Class Ventas
Protected Sub LBAplicaDevolucion_Click(sender As Object, e As EventArgs) Protected Sub LBAplicaDevolucion_Click(sender As Object, e As EventArgs)
Dim SaldoAlmacen As Decimal = 0 Dim SaldoAlmacen As Decimal = 0
Dim PermiteCancelar As Boolean = True Dim PermiteCancelar As Boolean = True
Dim tCveVentaDevolucion As Integer = CveVenta
If CveVentaPadre > 0 Then
tCveVentaDevolucion = CveVentaPadre
DevolucionAlmacen = 0
End If
Using ObjVentas As New ClsVentas Using ObjVentas As New ClsVentas
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) Then If ObjVentas.GetVenta(tCveVentaDevolucion, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then If ObjVentas.DtResultados.Rows.Count > 0 Then
Dim RowVenta As DataRow = ObjVentas.DtResultados.Rows(0) Dim RowVenta As DataRow = ObjVentas.DtResultados.Rows(0)
SaldoAlmacen = RowVenta("SaldoAlmacen").ToString().ToDecimal() SaldoAlmacen = RowVenta("SaldoAlmacen").ToString().ToDecimal()
@@ -38267,19 +38285,12 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
DivMotivoDevolucion.Visible = True DivMotivoDevolucion.Visible = True
DdlMotivoDevolucion.DataSource = GlobalDTVentasMotivosDevolucion(UsuarioActual.CveEmpresa)
Using ObjVenta As New ClsVentas
If ObjVenta.GetMotivoDevolucion(-1, 1, UsuarioActual.CveEmpresa) Then
DdlMotivoDevolucion.DataSource = ObjVenta.DtResultados.Copy()
End If
DdlMotivoDevolucion.DataBind() DdlMotivoDevolucion.DataBind()
DdlMotivoDevolucion.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMotivoDevolucion.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Using
UpDevolucion.Update() UpDevolucion.Update()
End If End If
RegistraScript("$('#DivAplicaDevolucion').modal('show');") RegistraScript("$('#DivAplicaDevolucion').modal('show');")
End If End If

View File

@@ -5,6 +5,7 @@
<package id="Antlr" version="3.4.1.9004" targetFramework="net481" /> <package id="Antlr" version="3.4.1.9004" targetFramework="net481" />
<package id="BarcodeLib" version="2.4.0" targetFramework="net481" /> <package id="BarcodeLib" version="2.4.0" targetFramework="net481" />
<package id="BouncyCastle" version="1.8.9" targetFramework="net481" /> <package id="BouncyCastle" version="1.8.9" targetFramework="net481" />
<package id="BouncyCastle.Cryptography" version="2.4.0" targetFramework="net48" />
<package id="ClosedXML" version="0.95.4" targetFramework="net481" /> <package id="ClosedXML" version="0.95.4" targetFramework="net481" />
<package id="DocumentFormat.OpenXml" version="2.7.2" targetFramework="net481" /> <package id="DocumentFormat.OpenXml" version="2.7.2" targetFramework="net481" />
<package id="ExcelNumberFormat" version="1.0.10" targetFramework="net481" /> <package id="ExcelNumberFormat" version="1.0.10" targetFramework="net481" />
@@ -13,8 +14,9 @@
<package id="itext7.pdfhtml" version="4.0.4" targetFramework="net481" /> <package id="itext7.pdfhtml" version="4.0.4" targetFramework="net481" />
<package id="iTextSharp" version="5.5.13.3" targetFramework="net481" /> <package id="iTextSharp" version="5.5.13.3" targetFramework="net481" />
<package id="itextsharp.xtra" version="5.5.13.3" targetFramework="net481" /> <package id="itextsharp.xtra" version="5.5.13.3" targetFramework="net481" />
<package id="jQuery" version="1.6.4" targetFramework="net481" /> <package id="jQuery" version="3.7.1" targetFramework="net48" />
<package id="log4net" version="1.2.10" targetFramework="net481" /> <package id="log4net" version="1.2.10" targetFramework="net481" />
<package id="MailKit" version="4.7.1.1" targetFramework="net48" />
<package id="Microsoft.AspNet.SignalR" version="2.4.1" targetFramework="net481" /> <package id="Microsoft.AspNet.SignalR" version="2.4.1" targetFramework="net481" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.4.1" targetFramework="net481" /> <package id="Microsoft.AspNet.SignalR.Core" version="2.4.1" targetFramework="net481" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.4.1" targetFramework="net481" /> <package id="Microsoft.AspNet.SignalR.JS" version="2.4.1" targetFramework="net481" />
@@ -26,7 +28,7 @@
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net481" /> <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net481" />
<package id="Microsoft.Bcl" version="1.1.9" targetFramework="net481" /> <package id="Microsoft.Bcl" version="1.1.9" targetFramework="net481" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net481" /> <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net481" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net481" /> <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net481" />
<package id="Microsoft.Bcl.HashCode" version="1.1.1" targetFramework="net481" /> <package id="Microsoft.Bcl.HashCode" version="1.1.1" targetFramework="net481" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="3.6.0" targetFramework="net481" /> <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="3.6.0" targetFramework="net481" />
@@ -39,12 +41,12 @@
<package id="Microsoft.Extensions.Configuration" version="3.1.14" targetFramework="net481" /> <package id="Microsoft.Extensions.Configuration" version="3.1.14" targetFramework="net481" />
<package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.14" targetFramework="net481" /> <package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.14" targetFramework="net481" />
<package id="Microsoft.Extensions.Configuration.Binder" version="3.1.14" targetFramework="net481" /> <package id="Microsoft.Extensions.Configuration.Binder" version="3.1.14" targetFramework="net481" />
<package id="Microsoft.Extensions.DependencyInjection" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Extensions.DependencyInjection" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Extensions.Logging" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Extensions.Logging" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Extensions.Options" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Extensions.Options" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Extensions.Primitives" version="5.0.0" targetFramework="net481" /> <package id="Microsoft.Extensions.Primitives" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.IdentityModel.JsonWebTokens" version="6.11.0" targetFramework="net481" /> <package id="Microsoft.IdentityModel.JsonWebTokens" version="6.11.0" targetFramework="net481" />
<package id="Microsoft.IdentityModel.Logging" version="6.11.0" targetFramework="net481" /> <package id="Microsoft.IdentityModel.Logging" version="6.11.0" targetFramework="net481" />
<package id="Microsoft.IdentityModel.Tokens" version="6.11.0" targetFramework="net481" /> <package id="Microsoft.IdentityModel.Tokens" version="6.11.0" targetFramework="net481" />
@@ -57,6 +59,7 @@
<package id="Microsoft.SqlServer.Types" version="14.0.1016.290" targetFramework="net481" /> <package id="Microsoft.SqlServer.Types" version="14.0.1016.290" targetFramework="net481" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net481" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net481" />
<package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net481" /> <package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net481" />
<package id="MimeKit" version="4.7.1" targetFramework="net48" />
<package id="morelinq" version="3.3.2" targetFramework="net481" /> <package id="morelinq" version="3.3.2" targetFramework="net481" />
<package id="NC-OS-SessionStateProvider" version="4.4.0.0" targetFramework="net481" /> <package id="NC-OS-SessionStateProvider" version="4.4.0.0" targetFramework="net481" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net481" /> <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net481" />
@@ -68,17 +71,18 @@
<package id="System.Buffers" version="4.5.1" targetFramework="net481" /> <package id="System.Buffers" version="4.5.1" targetFramework="net481" />
<package id="System.Collections.Immutable" version="1.7.1" targetFramework="net481" /> <package id="System.Collections.Immutable" version="1.7.1" targetFramework="net481" />
<package id="System.ComponentModel.Annotations" version="4.7.0" targetFramework="net481" /> <package id="System.ComponentModel.Annotations" version="4.7.0" targetFramework="net481" />
<package id="System.Data.SqlClient" version="4.8.2" targetFramework="net481" /> <package id="System.Data.SqlClient" version="4.8.6" targetFramework="net48" />
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net481" /> <package id="System.Diagnostics.DiagnosticSource" version="8.0.0" targetFramework="net48" />
<package id="System.Drawing.Common" version="5.0.2" targetFramework="net481" /> <package id="System.Drawing.Common" version="5.0.2" targetFramework="net481" />
<package id="System.Formats.Asn1" version="8.0.1" targetFramework="net48" />
<package id="System.IdentityModel.Tokens.Jwt" version="6.11.0" targetFramework="net481" /> <package id="System.IdentityModel.Tokens.Jwt" version="6.11.0" targetFramework="net481" />
<package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="net481" /> <package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="net481" />
<package id="System.IO.Packaging" version="4.0.0" targetFramework="net481" /> <package id="System.IO.Packaging" version="4.0.0" targetFramework="net481" />
<package id="System.Memory" version="4.5.4" targetFramework="net481" /> <package id="System.Memory" version="4.5.5" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net481" /> <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net481" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net481" /> <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
<package id="System.Text.Encodings.Web" version="5.0.1" targetFramework="net481" /> <package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net48" />
<package id="System.Text.Json" version="5.0.2" targetFramework="net481" /> <package id="System.Text.Json" version="8.0.4" targetFramework="net48" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net481" /> <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net481" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net481" /> <package id="System.ValueTuple" version="4.5.0" targetFramework="net481" />
<package id="WebGrease" version="1.6.0" targetFramework="net481" /> <package id="WebGrease" version="1.6.0" targetFramework="net481" />