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