diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index cf19cedbd..d84330e74 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5124,7 +5124,7 @@ Public Class ClsPaginas PaginaDict.Add("/Contabilidad/OCDetalleAlmacen.aspx".ToUpper(), -1) - + PaginaDict.Add("/testApi.aspx".ToUpper(), -1) 'PaginaDict.Add("/Compras/Efacturas.aspx".ToUpper(), 2007) 'PaginaDict.Add("/Compras/Compras.aspx".ToUpper(), 2008) diff --git a/App_Code/Models/Request/RequestLogin.vb b/App_Code/Models/Request/RequestLogin.vb new file mode 100644 index 000000000..b1833aaa2 --- /dev/null +++ b/App_Code/Models/Request/RequestLogin.vb @@ -0,0 +1,9 @@ +Imports Microsoft.VisualBasic + +Namespace Models.Request + Public Class RequestLogin + Public Property UserName As String + Public Property Password As String + End Class + +End Namespace diff --git a/App_Code/Models/Response/ResponseGenericModel.vb b/App_Code/Models/Response/ResponseGenericModel.vb new file mode 100644 index 000000000..e0c18e717 --- /dev/null +++ b/App_Code/Models/Response/ResponseGenericModel.vb @@ -0,0 +1,10 @@ +Imports Microsoft.VisualBasic + +Namespace Models.Response + Public Class ResponseGenericModel(Of T) + Public Property IsSuccess As Boolean + Public Property Msg As String + Public Property Result As T + End Class + +End Namespace diff --git a/App_Code/Models/Response/ResponseLogin.vb b/App_Code/Models/Response/ResponseLogin.vb new file mode 100644 index 000000000..32213c941 --- /dev/null +++ b/App_Code/Models/Response/ResponseLogin.vb @@ -0,0 +1,93 @@ +Imports Microsoft.VisualBasic +Imports Newtonsoft.Json + + +Namespace Models.Response + Public Class ResponseLogin + Public Property CveUsuario As Long + Public Property Usuario As String + Public Property Nombre As String + Public Property Correo As String + Public Property CveEmpresa As Long + Public Property Empresa As String + Public Property CvePlataforma As Long + Public Property Estatus As Boolean + Public Property CveRol As Integer + Public Property Rol As String + Public Property CveToken As Long + Public Property AccessToken As String + Public Property RefreshToken As String + Public Property UsuarioModulos As List(Of UsuarioModulo) + Public Property UsuarioEmpresas As List(Of UsuarioEmpresa) + Public Property EmpresaFuncionalidades As List(Of EmpresaFuncionalidad) + End Class + + Public Class UsuarioModulo + Public Property CveModulo As Long + Public Property Modulo As String + Public Property CveUsuario As Long + Public Property Agrupacion As String + Public Property Descripcion As String + Public Property Liga As String + Public Property CveModuloAcceso As Long + Public Property CveProcesoAcceso As Long + Public Property Permitir As Long + Public Property Estilo As String + Public Property Padre As String + Public Property CvePadre As Long + Public Property Usuario As String + Public Property CveRol As Long + Public Property Rol As String + Public Property CvePlataforma As Long + Public Property Parametros As String + End Class + + Public Class UsuarioEmpresa + Public Property Tipo_CentroCosto As Long + Public Property CveEmpresa As Long + Public Property Empresa As String + Public Property CveUsuario As Long + Public Property Usuario As String + Public Property Contraseña As String + Public Property CveCliente As Long + Public Property Cliente As String + Public Property CveProveedor As Long + Public Property Proveedor As String + Public Property FechaUltimoAcceso As DateTime + Public Property Nombre As String + Public Property CveRol As Long + Public Property Rol As String + Public Property Telefono As String + Public Property Correo As String + Public Property Estatus As Boolean + Public Property FechaIng As DateTime + Public Property EsSupervisorRH As Boolean + Public Property CveSupervisa As Long + Public Property CveAutoriza As Long + Public Property CvePersonal As Long + Public Property CveVendedor As Long + Public Property CvePlataforma As Long + Public Property ComprasProgramadas As Long + Public Property ProveedoresResponsables As Long + Public Property CveSubProyecto As Long + Public Property CveUsuarioIng As Long + Public Property CveEncuestaCRM As Long + + + Public Property EmpresaFuncionalidades As List(Of EmpresaFuncionalidad) + + Public Function Funcionalidad(ByVal CveFuncionalidad As Long) As String + Return If(EmpresaFuncionalidades IsNot Nothing AndAlso EmpresaFuncionalidades.FirstOrDefault(Function(x) x.CveFuncionalidad = CveFuncionalidad) IsNot Nothing, EmpresaFuncionalidades.FirstOrDefault(Function(x) x.CveFuncionalidad = CveFuncionalidad).Valor, "") + End Function + End Class + + Public Class EmpresaFuncionalidad + Public Property CveEmpresa As Long + Public Property CveFuncionalidad As Long + Public Property Valor As String + Public Property Descripción As String + Public Property Funcionalidad As String + End Class + +End Namespace + diff --git a/testApi.aspx b/testApi.aspx new file mode 100644 index 000000000..9f2eaae21 --- /dev/null +++ b/testApi.aspx @@ -0,0 +1,25 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="testApi.aspx.vb" Inherits="testApi" %> + + + + + + + Prueba api de Login + + + + + + + + +
+ +
+
+ + + diff --git a/testApi.aspx.vb b/testApi.aspx.vb new file mode 100644 index 000000000..c99a4091f --- /dev/null +++ b/testApi.aspx.vb @@ -0,0 +1,51 @@ +Option Strict On +Option Explicit On +Imports System.Data +Imports System.IO +Imports System.Net +Imports Extensiones +Imports Models.Request +Imports Models.Response +Imports Newtonsoft.Json + +Partial Class testApi + Inherits ClsPaginas + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + + If Not IsPostBack Then + Dim responseGenericModel = New ResponseGenericModel(Of ResponseLogin)() + Dim origResponse As HttpWebResponse + Dim origRequest As HttpWebRequest = DirectCast(HttpWebRequest.Create("http://sig.adssistemas.mx:90/api/usuario/Login"), HttpWebRequest) + 'origRequest.Headers.Add("Authorization", "Barer c3NhX2RzdDpBc3AzY3RfMTIzNA==") Esto se usara cuando se tenga que mandar el token (todos excepto el login) + origRequest.AllowAutoRedirect = False + origRequest.Method = "POST" + origRequest.ContentType = "application/json" + origRequest.Accept = "application/json" + origRequest.Expect = "application/json" + Try + Dim requestLogin = New RequestLogin() With { + .UserName = "RPimienta", + .Password = "capillafc" + } + + Dim requestJson = JsonConvert.SerializeObject(requestLogin) + + origRequest.GetRequestStream.Write(System.Text.Encoding.UTF8.GetBytes(requestJson), 0, System.Text.Encoding.UTF8.GetBytes(requestJson).Count) + origResponse = DirectCast(origRequest.GetResponse(), HttpWebResponse) + Dim Stream As Stream = origResponse.GetResponseStream() + Dim sr As New StreamReader(Stream, Encoding.GetEncoding("utf-8")) + Dim str As String = sr.ReadToEnd() + responseGenericModel = JsonConvert.DeserializeObject(Of ResponseGenericModel(Of ResponseLogin))(str) + If responseGenericModel.IsSuccess Then + LblMsg.Text = $"Bienvenido {responseGenericModel.Result.Nombre}" + End If + + Catch ex As WebException + Alert(ex.Response.ToString()) + End Try + End If + + End Sub + +End Class