APLICACIÓN DE ESCRITORIO CON WPF Y WEB API (c#)

PARTE 3: Conexion y primera consulta a la Web API
Ahora veremos el resultado de la primera consulta en la Web API
Primero debemos crear la conexion

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Est_Datos.Consultas
{
 public class Conexion
 {
  #region  Singleton
  private static readonly Conexion _Instancia = new Conexion();
  public static Conexion Instancia
  {
    get {return Conexion._Instancia;}       
  }        
  #endregion Singleton    
  public SqlConnection Conectar(){
  SqlConnection cn = new SqlConnection();
  cn.ConnectionString = "Server=tcp:direccion,1433;Initial 
  Catalog=basededatos;Persist Security Info=False;User 
  ID=usuario;Password=password;MultipleActiveResultSets=False;Encrypt=True;
  TrustServerCertificate=False;Connection Timeout=30;";
   return cn;
  }
 }
}

Ahora vamos a manejar los datos en la aplicación.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Est_Datos;
using System.Data;
using Est_Datos.Consultas;
using System.Data.SqlClient;
        
namespace Est_Datos.CosultaDatos
 {
   public class dat_Usuario
   {
     #region Singleton
     private static readonly dat_Usuario _Instancia = new dat_Usuario();
     public static dat_Usuario Instancia
     {
       get{return dat_Usuario._Instancia;}
     }
     #endregion Singleton
            
     public Usuario VerificarAccesoIntranet(String usuario,String passw)
     {
     SqlCommand cmd = null;
     SqlDataReader dr =  null;
     Usuario u =  null;
     try
     {
       SqlConnection cn = Conexion.Instancia.Conectar();
       cmd = new SqlCommand("spLogin", cn);
       cmd.CommandType = CommandType.StoredProcedure;
       cmd.Parameters.AddWithValue("@Nombre", usuario);
       cmd.Parameters.AddWithValue("@pass", passw);
       cn.Open();
       dr = cmd.ExecuteReader();
       if (dr.Read())
       {
        u = new Usuario();
        u.usuarioID = Convert.ToInt32(dr["usuarioID"]);                   
       }
     }
     catch (Exception e)
     {        
      throw e;
     }
     finally { cmd.Connection.Close(); }
     return u;
    }
  }
}

Terminado todo en la capa de manejo de datos iremos a la web API. (Tenemos en cuenta que se trata de la versión 2)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Est_Datos.Consultas;
namespace Aplicacion_WebAPI.Controllers
{
   [RoutePrefix("api/public")]
   public class UsuarioController : ApiController
   {
    [Route("VerificaUsuario")]
    public HttpResponseMessage Get(String Usuario,String Passw)
    {
     var usuarior = dat_Usuario.Instancia.VerificarAccesoIntranet(Usuario,Passw);
     return Request.CreateResponse(HttpStatusCode.OK, usuarior);
    }
   }
} 

Ah! Pero antes de ejecutar el proyecto agregaremos un usuario para poder obtener los resultados

insert into  Usuario (usuarioNombre,usuarioPassw)
             values("lBurgos","123456")

Ahora si ejecutaremos el proyecto para ver si todo está bien.

Si, sale un error, PERO… que no panda el cúnico (Referencia: El chapulín colorado) porque eso es normal cuando borras los controladores que vienen por defecto al crearse el proyecto.
Lo único que debemos hacer es cambiar la URL agregandole el /help para poder ver todo lo que hemos trabajado.
Por lo que quedaría de la siguiente maner: http://localhost:54766/help

Ahora accederemos a lo que hemos creado: http://localhost:54766/api/public/VerificaUsuario?Usuario=lBurgos&Passw=123456

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *