Professional Documents
Culture Documents
TEMA:
SISTEMA BIBLIOTECARIO PARA PRESTAMO, RESERVACION Y
CONSULTA DE LIBROS
(WEB SERVICES)
ASIGNATURA:
SISTEMAS OPERATIVOS DISTRIBUIDOS
INTEGRANTES:
MARIA VICTORIA LAZO CHIRIGUAYO
OSCAR RENE ORTIZ SALTOS
PROFESOR:
ING. JAVIER GONZALEZ
PARALELO:
S7K
CICLO I 2014
El trabajo que planteamos hacer fue crear una plataforma en linea por el
cual por medio de Servicios Web consulte a una base de datos los libros
que se encuentran disponibles y los que se podran reservar o prestar en una
biblioteca.
El esquema propuesto fue el siguiente:
ServicioWeb.asmx
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Data;
System.Web.Services;
ServicioBiblioteca.Clases;
ServicioBiblioteca.Entidades;
namespace ServicioBiblioteca
{
/// <summary>
/// Descripcin breve de Service1
/// </summary>
[WebService(Namespace =
"http://localhost/",Name="OROMAR",Description="Proyecto de SOD S7K 2014")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Para permitir que se llame a este servicio Web desde un script, usando ASP.NET
AJAX, quite la marca de comentario de la lnea siguiente.
// [System.Web.Script.Services.ScriptService]
public class ServicioWeb : System.Web.Services.WebService
{
/*TRANSACCIONES LIBROS*/
[WebMethod]
public DataTable ConsultaBaseLibros()
{
string error;
DataTable dtable=null;
try
{
LibrosDAO lDao = new LibrosDAO();
dtable = lDao.ConsultaBaseLibros();
}
catch (Exception ex) { error = ex.Message; }
return dtable;
[WebMethod]
public DataTable ConsultaLibro(string id_libro)
{
string error;
DataTable dtable = null;
try
{
LibrosDAO ldao = new LibrosDAO();
dtable = ldao.ConsultaLibro(id_libro);
}
catch (Exception ex) { error = ex.Message; }
return dtable;
}
[WebMethod]
public int IngresaLibro(string titulo,string autor, string editorial, int edicion)
{
LibrosDAO lDao = new LibrosDAO();
EntidadLibros eL = new EntidadLibros(titulo, autor, editorial, edicion);
int d = lDao.IngresaLibro(eL);
return d;
}
[WebMethod]
public int EliminaLibro(string id_libro)
{
LibrosDAO ldao = new LibrosDAO();
int d = ldao.EliminaLibro(id_libro);
return d;
}
[WebMethod]
public int ActualizaLibro(string id_libro,string titulo, string autor, string editorial, int
edicion)
{
LibrosDAO lDao = new LibrosDAO();
EntidadLibros eL = new EntidadLibros(id_libro,titulo, autor, editorial, edicion);
int d = lDao.ActualizaLibro(eL);
return d;
}
/*TRANSACCIONES USUARIOS*/
[WebMethod]
public DataTable ConsultaBaseUsuarios()
{
string error;
DataTable dtable = null;
try
{
UsuariosDAO uDao = new UsuariosDAO();
dtable = uDao.ConsultaBaseUsuarios();
}
catch (Exception ex) { error = ex.Message; }
return dtable;
}
[WebMethod]
public DataTable ConsultaUsuario(string id_usuario)
{
string error;
DataTable dtable = null;
try
{
UsuariosDAO uDao = new UsuariosDAO();
dtable = uDao.ConsultaUsuario(id_usuario);
}
catch (Exception ex) { error = ex.Message; }
}
return dtable;
[WebMethod]
public int IngresaUsuario(string id_usuario,string nombre, string apellido, string
ciudad, string fechaNacim)
{
UsuariosDAO uDao = new UsuariosDAO();
EntidadUsuarios eU = new EntidadUsuarios(id_usuario,nombre, apellido, ciudad,
DateTime.Parse(fechaNacim));
int d = uDao.IngresaUsuario(eU);
return d;
}
[WebMethod]
public int EliminaUsuario(string id_usuario)
{
UsuariosDAO uDao = new UsuariosDAO();
int d = uDao.EliminaUsuario(id_usuario);
return d;
}
[WebMethod]
public int ActualizaUsuario(string id_usuario, string nombre, string apellido, string
ciudad, string fechaNacim)
{
UsuariosDAO uDao = new UsuariosDAO();
EntidadUsuarios eU = new EntidadUsuarios(id_usuario, nombre, apellido, ciudad,
DateTime.Parse(fechaNacim));
int d = uDao.ActualizaUsuario(eU);
return d;
}
[WebMethod]
public DataTable ConsultaTransaccionLibros()
{
TransaccionesLibrosDAO uDao = new TransaccionesLibrosDAO();
DataTable dtable = new DataTable();
dtable = uDao.ConsultaTransaccionLibros();
return dtable;
}
[WebMethod]
public int ReservaLibros(string id_libro,string id_usuario)
{
TransaccionesLibrosDAO uDao = new TransaccionesLibrosDAO();
return uDao.ReservaLibros(id_libro, id_usuario);
}
}
ConexionBase.cs
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Data.SqlClient;
System.Configuration;
namespace ServicioBiblioteca.Conexion
{
public class ConexionBase
{
public SqlConnection conectar()
{
SqlConnection conexion= new
SqlConnection(ConfigurationManager.ConnectionStrings["CadenaConexion"].Connection
String);
return conexion;
}
}
}
LibrosDAO.cs
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Data.SqlClient;
using ServicioBiblioteca.Conexion;
using ServicioBiblioteca.Entidades;
using System.Data;
namespace ServicioBiblioteca.Clases
{
public class LibrosDAO
{
ConexionBase cb = new ConexionBase();
public DataTable ConsultaBaseLibros()
{
SqlConnection con = cb.conectar();
DataTable dtable= new DataTable();
SqlDataReader reader;
SqlCommand command = new SqlCommand("ConsultaLibros", con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@pv_error", SqlDbType.VarChar,100).Direction =
ParameterDirection.Output;
con.Open();
reader = command.ExecuteReader();
dtable.TableName = "Libros";
dtable.Load(reader);
con.Close();
return dtable;
}
public DataTable ConsultaLibro(string id_libro)
{
SqlConnection con = cb.conectar();
DataTable dtable = new DataTable();
SqlDataReader reader;
SqlCommand command = new SqlCommand("ConsultaLibro", con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@pv_identificador", id_libro);
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
reader = command.ExecuteReader();
dtable.TableName = "Libros";
dtable.Load(reader);
con.Close();
return dtable;
}
public int IngresaLibro(EntidadLibros eL)
{
int r;
SqlConnection con = cb.conectar();
SqlCommand command = new SqlCommand("InsertaLibro", con);
command.CommandType = CommandType.StoredProcedure;
//command.Parameters.Add("@tramite", SqlDbType.VarChar, 100);
command.Parameters.AddWithValue("@pv_titulo",eL.Titulo);
command.Parameters.AddWithValue("@pv_autor", eL.Autor);
command.Parameters.AddWithValue("@pv_editorial", eL.Editorial);
command.Parameters.AddWithValue("@pn_edicion", eL.Edicion);
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
r=command.ExecuteNonQuery();
con.Close();
return r;
}
public int EliminaLibro(string id_libro)
{
int r;
SqlConnection con = cb.conectar();
SqlCommand command = new SqlCommand("delete from Libros where id_libro=
@id_libro", con);
command.Parameters.AddWithValue("@id_libro",id_libro);
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
r = command.ExecuteNonQuery();
con.Close();
return r;
}
public int ActualizaLibro(EntidadLibros eL)
{
int r=0;
try
{
SqlConnection con = cb.conectar();
SqlCommand command = new SqlCommand("ActualizaLibro", con);
command.CommandType = CommandType.StoredProcedure;
//command.Parameters.Add("@tramite", SqlDbType.VarChar, 100);
command.Parameters.AddWithValue("@pv_titulo", eL.Titulo);
command.Parameters.AddWithValue("@pv_autor", eL.Autor);
command.Parameters.AddWithValue("@pv_editorial", eL.Editorial);
command.Parameters.AddWithValue("@pn_edicion", eL.Edicion);
command.Parameters.AddWithValue("@pv_identificador", eL.Id_libro);
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
r = command.ExecuteNonQuery();
con.Close();
}
catch (Exception e) {
r = 0;
}
return r;
}
TransaccionesLibrosDAO.cs
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Data;
using System.Data.SqlClient;
using ServicioBiblioteca.Conexion;
using System.Collections;
namespace ServicioBiblioteca.Clases
{
public class TransaccionesLibrosDAO
{
ConexionBase cb = new ConexionBase();
public DataTable PrestamoLibros(String libro)
{
SqlConnection con = cb.conectar();
DataTable dtable = new DataTable();
SqlDataReader reader;
SqlCommand command = new SqlCommand("select * from cantidad_libros
where id_libro=@libro", con);
command.Parameters.AddWithValue("@libro", libro);
con.Open();
reader = command.ExecuteReader();
dtable.TableName = "Bitacora";
dtable.Load(reader);
con.Close();
return dtable;
con.Open();
reader = command.ExecuteReader();
con1.Open();
reader2 = command1.ExecuteReader();
if (reader.HasRows && reader2.HasRows)
{
con2.Open();
num=command2.ExecuteNonQuery();
con2.Close();
}
reader.Close();
reader2.Close();
con.Close();
con1.Close();
return num;
}
public DataTable ConsultaTransaccionLibros()
{
SqlConnection con = cb.conectar();
DataTable dtable = new DataTable();
SqlDataReader reader;
SqlCommand command = new SqlCommand("select * from bitacora_libros",
con);
con.Open();
reader = command.ExecuteReader();
dtable.TableName = "Bitacora";
dtable.Load(reader);
con.Close();
return dtable;
}
using System;
using
using
using
using
using
using
using
UsuariosDAO.cs
System.Collections.Generic;
System.Linq;
System.Web;
System.Data.SqlClient;
ServicioBiblioteca.Conexion;
System.Data;
ServicioBiblioteca.Entidades;
namespace ServicioBiblioteca.Clases
{
public class UsuariosDAO
{
ConexionBase cb = new ConexionBase();
public DataTable ConsultaBaseUsuarios()
{
SqlConnection con = cb.conectar();
DataTable dtable = new DataTable();
SqlDataReader reader;
SqlCommand command = new SqlCommand("ConsultaUsuarios", con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
reader = command.ExecuteReader();
dtable.TableName = "Usuarios";
dtable.Load(reader);
con.Close();
return dtable;
}
catch (Exception e) { }
finally { con.Close(); }
return dtable;
}
catch (Exception e) { r = 0; }
finally { con.Close(); }
return r;
{
int r=0;
SqlConnection con = cb.conectar();
try
{
SqlCommand command = new SqlCommand("delete from Usuarios where
id_usuario= @id_usuario", con);
command.Parameters.AddWithValue("@id_usuario", id_usuario);
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
r = command.ExecuteNonQuery();
}
catch (Exception e) { r = 0; }
finally { con.Close(); }
return r;
}
public int ActualizaUsuario(EntidadUsuarios eU)
{
int r = 0;
try
{
SqlConnection con = cb.conectar();
SqlCommand command = new SqlCommand("ActualizaUsuario", con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@pv_nombre", eU.Nombre);
command.Parameters.AddWithValue("@pv_apellido", eU.Apellido);
command.Parameters.AddWithValue("@pv_ciudad", eU.Ciudad);
command.Parameters.AddWithValue("@pd_fecha_nacim", eU.FechaNacim);
command.Parameters.AddWithValue("@pv_identificador", eU.Id_usuario);
command.Parameters.Add("@pv_error", SqlDbType.VarChar, 100).Direction =
ParameterDirection.Output;
con.Open();
r = command.ExecuteNonQuery();
con.Close();
}
catch (Exception e)
{
r = 0;
}
return r;
}
Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="CadenaConexion" connectionString="workstation
id=BibliotecaSOD.mssql.somee.com;packet size=4096;user
id=myo;pwd=91979996;data source=BibliotecaSOD.mssql.somee.com;persist security
info=False;initial catalog=BibliotecaSOD" />
</connectionStrings>
<system.web>
<compilation debug="true" >
<assemblies>