Académique Documents
Professionnel Documents
Culture Documents
2-2017
Caso de estudio
Una famosa empresa que realiza anlisis de video juegos desea implementar una nueva
funcionalidad en la que los usuarios (miembros de un equipo evaluador de juegos) podrn poner una
nota a dichos juegos.
Base de datos
Usuario.- La tabla usuarios almacenara los datos de los usarios que se registren al sistema, quienes
posteriormente se identificaran solo utilizando su ci, adicionalmente los usuarios podrn almacenar
su avatar.
Analisis.- usuario almacenara el juego, el ci y la nota con la que el usuario lo haya calificado.
Los usuarios llenan todos los datos y opcionalmente suben una imagen
Se selecciona el nombre del juego y el ci del usuario para poder dar una nota al juego seleccionado.
Permite ver un listado de los juegos y notas que ha puesto segn el id especificado.
Menu (default.aspx)
Procedimiento
Crear una base de datos llamada Anlisis con las respectivas tablas descritas en la anterior pgina.
Nota: Crear la base de datos en Sql Server2008 R2 o el que tengan instalado en su equipo.
Dentro de este proyecto crear una pgina llamada usuarios.aspx, analisis.aspx, juegos.aspx,
buscarjuegos.aspx, ingresarjuegos.aspx, default.aspx
Usuarios.aspx
Label1 CI
Label2-Nick
Label3 Edad
Label4Avatar
1 botn Aceptar
Un link button que este direccionado a la pgina default.aspx, para esto cambiamos la propiedad
PostBack Url del link button y seleccionamos la pgina default.aspx.
Analisis.aspx
Juegos.aspx
Hacemos click derecho sobre nuestra solucin, luego agregar nuevo sitio web y seleccionamos
servicio web
Debemos verificar que nuestro .Net framework sea 3.5 y le cambiamos el nombre a
serviciowebjuegos
Nuestra estructura debe quedar como se muestra en la siguiente figura:
Hacemos click derecho sobre APP_Code, agregar nuevo elemento y buscamos un dataset y le
cambiamos el nombre a DSjuegos, si nos aparece la ventana del wizard le decimos Cancel.
En el explorador de servidores (cntrl + alt + s )hacemos click derecho sobre conexin de datos y
luego click en Agregar conexin.
Seguimos paso a paso el wizard. (Si tiene dudas en este punto consultar con el Docente)
Una vez que tenemos agregada nuestra base de datos desde SQL Server 2008 R2, debemos jalar las
tablas a nuestro dataset. (Simplemente haciendo click en la tabla y jalndola al dataset).
Repetimos este proceso para UsuariosTableAdapter y nuestro table adapter debera quedar asi
Para AnalisisTableAdapter es diferente porque recordemos que queremos buscar datos de esta tabla
entonces el proceso es el siguiente:
FROM anlisis
WHERE ci = @ci
Paso 1: Click derecho sobre App_Code, agregar nuevo elemento y agregamos una clase y le
cambiamos el nombre a USUARIOS.cs
Dentro de esta clase estar el mtodo que nos ayudara a ingresar a un usuario a la base de datos.
Public Boolean ingresaUsuarios(String nci, String nNick, int nEdad, String nAvatar)
{
usuariosTableAdapter usuario = new usuariosTableAdapter();
try{
usuario.Insert(nci, nNick, nEdad, Navatar);
return true;
}
Catch(Exception ex)
{
Console.Write(ex.StackTrace);
Return false
}
}
Paso 2: Click derecho sobre APP_Code, agregar nuevo elemento y agregamos una clase y le
cambiamos el nombre a JUEGOS.cs
Y tambin:
Paso 3: Click derecho sobre App_Code, agregar nuevo elemento y agregamos una clase y le
cambiamos el nombre a ANALISIS.cs
return analisis.GetDataBuscarjuegos(nci);
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
//web method para usuarios
[WebMethod]
//nuestro metodo en la clase usuarios es de tipo Boolean por lo tanto
// aca tambien tiene que ser de tipo Boolean, le damos cualquier nombre en est caso
// ingresar usuarios y pedimos todos los paramteros necesarios para
// insertar un usuario
public Boolean ingresarusuarios(string nci, string nnick, string nedad, string
navatar)
{
//Creamos una instacia (usuario)de nuestra clase usuarios
usuarios usuario = new usuarios();
//en una variable resultado de tipo boolean guardamos el resultado
// del metodo llamado ingrsarusaurios (nombr del metodo en nuestra clase
usuarios)
//el objeto usuario al invocar al metodo ingrsarusaurios debe mandarle los
parametros ncesarios
Boolean resultado = usuario.ingrsarusaurios(nci, nnick, nedad, navatar);
//retornamos resultado
return resultado;
}
//Juegos
[WebMethod]
//Crear un metodo para obtenerjuegos
public DSjuegos.juegosDataTable obtenerjuegos()
{
//Creamos una instancia de la clase juegos llamado juego
juegos juego = new juegos();
//con el objeto juego invocamos al metodo obtenerJuegos que se creo en la
clase juegos.cs
return juegos.obtenerJuegos();
}
[WebMethod]//Metodo para ingresar juegos
public Boolean ingresarjuegos (string nnombrejuego, string nempdesarrollo)
{
juegos juego = new juegos();
Boolean resultado = juego.ingresarjuegos( nnombrejuego, nempdesarrollo);
return resultado;
}
//Analisis
[WebMethod]//metodo para buscar un juego por ci
public DSjuegos.analisisDataTable obtenerjuegosporci (string nci)
{
analisis analisis = new analisis();
return analisis.obtenerjuegosporci(nci);
}
[WebMethod]//metodo para ingresar un analisis
public Boolean ingresaranalisis(string nnombrejuego,string nci, string nnota)
{
analisis analisis = new analisis();
Boolean resultado = analisis.insertaranalisis(nnombrejuego,nci,nnota);
return resultado;
}
}
Verificamos que la cadena de conexin sea la adecuada, es decir la que conecta con nuestra base de
datos.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//Debemos agregar nuestro servicio web
using serviciowebjuegos;
namespace WebApplication3
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string ci = string.Empty();
string nick = string.Empty();
int edad = 0;
string avatar = string.Empty();
ci = texbox1.text;
nick = textbox2.text;
edad = Int32.Parse(textbox3.text);
avatar = FileUpload.FileName;
//Instanciamos el servicio web (Service)
Service servicio = new Service();
// invocamos el webmethod insertar usuarios y le mandamos los parametros
adecaudos
//el resultado lo guardamos en la variable resultado
Boolean resultado = servicio.insertarusuarios(ci, nick, edad, avatar);
//el rsultado es true mostramos el mensaje de correcto
if (resultado == true)
{
labelmensaje.text = "Correcto";
}
//si el resultado es false mostramos el mensaje de incorrecto
else
{
labelmensaje.text = "error";
}
}
}
}
nombrejuego = TextBox1.Text;
empdesarrollo = TextBox2.Text;
if (resultado == true)
{
Label1.text = "Correcto";
}
else
{
Label1.text = "Incorrecto";
}
}