Sie sind auf Seite 1von 68

PROYECTO DEL HOTEL

PRIMS
Laboratorio de Programacin III

Introduccin
El presente proyecto del curso corresponde a un Sistema para automatizar el
proceso de gestin de alquiler de habitaciones del Prims hotel, cuyo propsito
es permitir automatizar estos procesos.

Se introduce con un estudio terico sobre las herramientas a utilizar y la


metodologa de desarrollo que va a ser aplicada. Conociendo la evolucin de
esta herramienta, enfatizando sus principales caractersticas reconociendo su
utilidad.

Basndose en la estructura de las aplicaciones cliente servidor, se ha


producido el sistema utilizando un Lenguaje de programacin de N_Capas en
visual.net y NetBeans, para detallar el anlisis, diseo e implementacin. Con
este sistema se logra demostrar las funcionalidades bsicas de los procesos de
alquiler de habitaciones.

Para finalizar el proyecto se realiza el plan de pruebas y evaluacin de las


mismas, con el fin de verificar el correcto funcionamiento del sistema y el
cumplimiento de los requerimientos, tambin se presentan las conclusiones y
recomendaciones de acuerdo a los resultados obtenidos durante el desarrollo
del proyecto.

Marco Aurelio Porro Chulli


1
Laboratorio de Programacin III

Dedicatoria

Marco Aurelio Porro Chulli


2
Laboratorio de Programacin III

AGRADECIMIENTO

Agradecer a Dios por habernos


Guiado por el camino de la felicidad
hasta ahora; a cada uno
de los que son parte de nuestra
familia por siempre habernos dado
su fuerza y apoyo incondicional
que nos han ayudado y llevado
Hasta donde estamos ahora,
Tambin, a nuestro profesor
Marco Aurelio Porro Chull por
brindarnos sus conocimientos da a da.

Marco Aurelio Porro Chulli


3
Laboratorio de Programacin III

NDICE
I. Anlisis y Diagnstico de la Empresa ............................................................................. 5
1. Descripcin de la Empresa........................................................................................ 5
2. Estructura Orgnica de la Empresa ........................................................................ 6
3. Visin............................................................................................................................... 6
4. Misin .............................................................................................................................. 6
5. Objetivos......................................................................................................................... 6
5.1. General........................................................................................................................ 6
5.2. Especfico................................................................................................................... 7
6. Breve descripcin de los procesos Involucrados .......................................................... 7
6.1. Descripcin de los procesos: ............................................................................... 7
6.2. Descripcin de los documentos: ....................................................................... 10
7. Metodologa de Desarrollo de software RUP -lenguaje UML.................................... 11
7.1. Anlisis de requerimientos(Modelos de casos de uso del negocio,
modelo de objetos del negocio y modelo del dominio) ........................................... 11
Modelo de casos de Uso del Negocio .......................................................................... 11
7.2. Diagrama de casos de uso de Requerimientos de Alquiler de
Habitaciones........................................................................................................................ 13
7.3. Diagrama de clases................................................................................................ 13
7.4. Diagrama de componentes.................................................................................. 14
................................................................................................................................................. 14
7.5. Diagrama de despliegue....................................................................................... 14
................................................................................................................................................. 14
8. Estimacin de costos (COCOMO-Bsico) ........................................................... 14
9. Cronograma de Actividades(Diagrama de Gantt).............................................. 15
II. Diseo Orientado a Objetos............................................................................................ 16
1. Diseo de la base de Datos ..................................................................................... 16
1.1. Modelo E-R............................................................................................................... 16
1.2. Diseo Lgico ......................................................................................................... 17
1.3. Diseo Fsico........................................................................................................... 17
1.4. Diseo e implementacin de Base de Datos (Procedimientos
Almacenados, Vistas) ....................................................................................................... 18
2. Diseo del sitema....................................................................................................... 27
V. CONCLUSIONES......................................................................................................... 62
VI. RECOMENDACIONES ........................................................................................... 63
VII. GLOSARIO DE TERMINOS................................................................................... 64
VIII. LINKOGRAFA ......................................................................................................... 65

Marco Aurelio Porro Chulli


4
Laboratorio de Programacin III

IX. ANEXOS.................................................................................................................... 66

I. Anlisis y Diagnstico de la Empresa


1. Descripcin de la Empresa
El Prims Hotel, estratgicamente
ubicado a una cuadra del centro de la
ciudad de Jan, nos ofrece el
ambiente y servicios apropiados para
que nuestra estada sea grata,
cmoda y segura.

Restaurant&Piscina
Dicho restaurant, nos ofrece los ms
exquisitos platos regionales,
nacionales e internacionales, todo ello en un grato ambiente con acceso a la
piscina.
WI-FI(Internet Inalmbrico)
Cuentan con una amplia red de internet inalmbrica (WI-FI), mediante el cual
podremos conectarse al mundo, desde nuestra computadora porttil. Este
servicio se ofrece de manera gratuita, simplemente debe solicitar su clave de
acceso inalmbrico en recepcin.

Aire acondicionado
Habitaciones dobles triples y Queen totalmente equipadas.
TV. Cable
Cancha deportiva
Amplia playa de estacionamiento

Marco Aurelio Porro Chulli


5
Laboratorio de Programacin III

2. Estructura Orgnica de la Empresa


La organizacin de la empresa est constituida por:

DIRECTOR DE DIRECTOR DE DIRECTOR DIRECTOR


DIRECTOR DE DE
ADMINISTRACIN MARKETING DE DIRECTOR DE
HABITACIONES COMPRAS
INGENIERA RESTAURANT
E
Encargado Encargada de Encargado de Encargado de
de Encargado
Limpieza/Lavanderia Eventos/Canch Internet Wifi
Contabilidad a deportiva
de JEFE DE
Compras JEFE DE FRO
RESTAURANTE BAR
Encargado de
Encargad Recepcin/Reservas Mercadeo
o de y
Tesorera Publicidad Chef Barman
Encargado de
Seguridad

Cocineros Meseros
Encargado de
Piscina
Lava
Platos

Meseros

3. Visin
Al 2020 aspiran Ser una empresa lder cuya imagen sea sinnimo de la
mejor calidad a precios razonables, por la venta de servicios hoteleros
personalizados, procurando el desarrollo personal, profesional de sus
trabajadores y contribuyendo al desarrollo social, econmico, cultural y
turstico de su provincia.
4. Misin

Somos una empresa hotelera en la ciudad de jan que brinda un servicio


de estada y confort a turistas a nivel local a travs de un servicio integral
y atencin personalizada.
5. Objetivos
5.1. General

Marco Aurelio Porro Chulli


6
Laboratorio de Programacin III

Brindar un buen servicio de alquiler de habitaciones y buena atencin a todos


sus clientes y visitantes que llegan de otros lugares a hospedarse.
5.2. Especfico
Elevar los estndares de calidad de los servicios que se ofrecen en alquiler de
habitaciones.
Trabajar para renovar y mejorar la atencin y el servicio.
Contar con la tecnologa (sistemas de informacin) adecuada para la
administracin del hotel, de esa manera tomar decisiones ms adecuadas y
mejorar el servicio de nuestro Hotel Prims.
6. Breve descripcin de los procesos Involucrados
6.1. Descripcin de los procesos:
En este punto se define a todos los actores del negocio: Cliente, recepcionista,
proveedor, Administrador; la descripcin detallada de los casos de usos del
negocio, el diagrama de Casos de uso del negocio;

ACTORES FUNCIONES

Persona que alquila la habitacin y tambin adquiere


Cliente
productos para su consumo.

Recepcionista Persona que est implicada ante todo en el proceso


personal de asistir y/o de persuadir a los clientes para el
alquiler de habitaciones.

Proveedor Persona o empresa encargada de abastecer el almacn


mediante la venta de sus productos.

Administrador Persona que supervisa el buen funcionamiento del alquiler


de habitacin y tambin gestiona todas las operaciones del
hotel.

Marco Aurelio Porro Chulli


7
Laboratorio de Programacin III

PROCESO 01 COMPRAS
Este proceso permite poder realizar las compras de
productos a los proveedores directos de la empresa para
Descripcin
mantener en stock los productos cierta cantidad de productos
que luego puedan ser derivador al cliente.
1. Este CUN se inicia, cuando el recepcionista realiza el
control del stock de los productos.
2. El recepcionista realiza un informe reportando la
necesidad de adquirir nuevas reservas.
3. El recepcionista revisa el informe y autoriza la compra de
productos.
Secuencia Normal
4. El recepcionista monitoriza el ingreso de los productos
derivados por el Proveedor.
5. El recepcionista realiza acta de ingreso de nuevos
productos y lo archiva.

6. El proveedor recibe el pago por la mercanca y una copia


del acta de ingreso de nuevos productos.

PROCESO 02 ALQUILER DE HABITACIONES


Este proceso permite registrar el alquiler de habitaciones que
ofrece el Hotel, donde se genera un comprobante de pago
Descripcin
que registra informacin de la habitacin, cliente, fecha del
alquiler y valor de venta.
1. Este CUN se inicia, cuando el cliente solicita una
habitacin
2. El recepcionista consulta las habitaciones disponibles con
sus respectivos precios
3. el cliente verifica que tipos de habitaciones tiene
Secuencia Normal
4. el recepcionista confirma que tiene diferentes tipo de
habitaciones con sus respectivos precios
5. el cliente confirma el n de la habitacin
6. El recepcionista pide el DNI para obtener sus datos
personales y lugar de residencia

Marco Aurelio Porro Chulli


8
Laboratorio de Programacin III

7. el recepcionista pregunta la cantidad de das a hospedarse

8. El recepcionista realiza un registro del alquiler de


habitacin

9. El cliente realiza su pago en efectivo

10. El recepcionista realiza la entrega las llaves y control de


la habitacin alquilada

11. El cliente elige un producto para consumir en la habitacin

12. El recepcionista solicita el pago del producto al cliente.

13. El cliente realiza su pago en efectivo

14. el cliente termina su alquiler de habitacin

15. el recepcionista emite comprobante de pago y entrega


DNI y comprobante

16. el cliente realiza la entrega de llaves y control

17. el recepcionista realiza la limpieza de la habitacin


alquilada

PROCESO 03 VENTAS
Este proceso permite registrar las operaciones de la venta de
los productos que ofrece el negocio, donde se genera un
Descripcin
comprobante de pago que registra informacin del producto,
cliente, vendedor, fecha de la venta y valor de venta.

1. El cliente elige un producto.

2. El cliente consulta el producto al vendedor.

3. El cliente informa al recepcionista que realizara la compra.

4. El recepcionista realiza un registro con los datos del


producto a vender.
Secuencia Normal
5. El recepcionista solicita el pago del producto al cliente.

6. El cliente realiza su pago en efectivo

7. El recepcionista entrega al cliente el producto

8. El cliente recibe el producto, se va a la habitacin.

Marco Aurelio Porro Chulli


9
Laboratorio de Programacin III

6.2.Descripcin de los documentos:


Los documentos que presentan en el hotel son:
Factura: Es un documento en la que se detallan las mercancas compradas
o los servicios recibidos, junto con su cantidad i su importe y que se entrega
a quien debe pagarla.

Marco Aurelio Porro Chulli


10
Laboratorio de Programacin III

7. Metodologa de Desarrollo de software RUP -lenguaje UML


7.1. Anlisis de requerimientos(Modelos de casos de uso del
negocio, modelo de objetos del negocio y modelo del dominio)

Modelo de casos de Uso del Negocio

Modelo de Objetos de Compras

Modelo de Objetos de Alquiler de Habitaciones

Marco Aurelio Porro Chulli


11
Laboratorio de Programacin III

Diagrama de objetos de Ventas

Diagrama de Dominio

Marco Aurelio Porro Chulli


12
Laboratorio de Programacin III

7.2. Diagrama de casos de uso de Requerimientos de Alquiler de


Habitaciones
<<include>>

Tipo Habitacion

Habitacion
<<include>>

Lugar de Procedencia
regis tra clientes

Bus car Dis ponibilidad de


habitaciones Bus car Habitacion
Recepcionis ta
Cliente
<<include>>

<<include>>

Alquiler Habitacion
Bus car Cliente

Emitir Com probante

Adminis trador Genrar reporte

7.3. Diagrama de clases

Marco Aurelio Porro Chulli


13
Laboratorio de Programacin III

7.4. Diagrama de componentes

Sistema de reservas de
habitaciones

Habitacin

Cliente
Pago

Base de
Datos

7.5. Diagrama de despliegue

JAVA SERVIDOR RATIONAL


ROUSE

SQL JDBC
VISUAL

8. Estimacin de costos (COCOMO-Bsico)


Visual 32
1 1.15
PF 120 2 0.94
3 1
4 1.11
KLDC 3.84 5 1.06
6 1
Es considerado
proyecto
ORGANICO 7 0.87
8 0.86

Marco Aurelio Porro Chulli


14
Laboratorio de Programacin III

a 3.2 9 1
b 1.05 10 0.86
c 2.5 11 1.1
d 0.38 12 1
13 1
14 1.1
15 1.04

FAE 1.02988659

E 13.5359009

T 6.72829666 meses

P 2.01178717 personas

9. Cronograma de Actividades(Diagrama de Gantt)

N ACTIVIDAD DURACI RESPONSABLE


ACTIVIDAD N

Luisa Vega Montenegro


Visitar a la empresa
1 1 DIA Mara Roco Vasquez
Hotel
Espinoza

Luisa Vega Montenegro


Recopilar UNA
2 Mara Roco Vasquez
informacin SEMANA
Espinoza

Luisa Vega Montenegro


Mara Roco Vasquez
Elaboracin de Espinoza
3 7 das
Diagramas

Luisa Vega Montenegro


Diseo de la base
4 4 das Mara Roco Vasquez
de datos
Espinoza

Luisa Vega Montenegro


5 Diseo del sistema 4 das Mara Roco Vasquez
Espinoza

Luisa Vega Montenegro


Manual del
6 2 das Mara Roco Vasquez
Sistema
Espinoza

Mara Roco Vsquez


Plataformas de
7 3 das Espinoza
Tecnologa
Luisa Vega Montenegro

Marco Aurelio Porro Chulli


15
Laboratorio de Programacin III

Luisa Vega Montenegro


Pantallas del
8 2 das Mara Roco Vasquez
Sistema
Espinoza

Cdigo de Mara Roco Vsquez


9 la 3 das Espinoza
Aplicacin Luisa Vega Montenegro

II. Diseo Orientado a Objetos


1. Diseo de la base de Datos
1.1. Modelo E-R

Marco Aurelio Porro Chulli


16
Laboratorio de Programacin III

1.2. Diseo Lgico


Transacciones Pais Distrito
Terminal
Tra_NroHab PaId DiId
Terld
Tra_TipoHab Pa_Pais Prld
Comprobante
Tra_Precio Cliente Pa_Descripcion Reld
nldComprobante
Tra_NroPiso Di_distrito Region
nSerie ClId
Tra_Cliente Di_descripcion
ncor Reld
Tra_FechaIngreso
Cl_Nombres
Tra_HoraIngreso Pald
Cl_ApPaterno
Tra_FchaSalida Re_Region
Cl_ApMaterno
Tra_HoraSalida Re_Descripcion
Cl_Sexo
Tra_Doc
Cl_Lugar
Tra_Ser
Cl_Direccion
Tra_Cor Provincia
Cl_TipoDocIdentidad
Tra_FechaRegistro
Cl_FechaRegistro PrId
Tra_FechaTransaccion
Cl_Estado
Tra_Alid ReId
TilD (FK)
Tra_Haid Pr_provincia
Tra_NroHab (FK)
HbId (FK) Pr_descripcion
PaId (FK) TipoIdentificacion
EmId (FK)
DiId (FK)
Terld (FK) TilD
PrId (FK)
Reld (FK) Ti_Identificacion
Ti_Descripcion
Empleado
EmId

Habitacion Em_Nombres
Alquiler Em_Apellidos
HbId Em_FechaIngreso
AlId Em_Cargo
hb_nroHb
TipoHabitacion Em_Sexo
hb_NroPiso ClId
ThId hb_Precio HbId (FK) Em_Dni
hb_Descripcion UsId Em_Direccion
th_TipoHabitacion hb_tv Em_Usuario
Al_FechaIngreso
th_Precio hb_cable Em_Pass
Al_HoraIngreso
th_Descripcion hb_jakussi Em_Sesion
Al_FechaSalida
HbId (FK) hb_EstadoAlq Em_Estado
Al_HoraSalida
hb_Estado Al_FechaRegistro
Al_Descripcion
Al_Estado

1.3. Diseo Fsico


Transacciones Pais Distrito
Terminal
Tra_NroHab PaId DiId
Terld
Tra_TipoHab Pa_Pais Di_descripcion
Comprobante
Tra_Precio Cliente Pa_Descripcion Di_distrito
nldComprobante
Tra_NroPiso Reld Region
nSerie ClId
Tra_Cliente Prld
ncor Reld
Tra_FechaIngreso
Cl_Direccion
Tra_HoraIngreso Pald
Cl_Lugar
Tra_FchaSalida Re_Region
Cl_TipoDocIdentidad
Tra_HoraSalida Re_Descripcion
TilD (FK)
Tra_Doc
Cl_Sexo
Tra_Ser
Cl_ApMaterno
Tra_Cor Provincia
Cl_ApPaterno
Tra_FechaRegistro
Cl_Nombres PrId
Tra_FechaTransaccion
Cl_FechaRegistro
Tra_Alid ReId
Cl_Estado
Tra_Haid Pr_provincia
Tra_NroHab (FK)
HbId (FK) Pr_descripcion
PaId (FK) TipoIdentificacion
EmId (FK)
DiId (FK)
Terld (FK) TilD
PrId (FK)
Reld (FK) Ti_Descripcion
Ti_Identificacion
Empleado
EmId

Habitacion Em_Nombres
Em_Apellidos
HbId Em_FechaIngreso
hb_nroHb Em_Cargo
TipoHabitacion Em_Sexo
hb_NroPiso
ThId hb_Precio Em_Dni
hb_Descripcion Em_Direccion
th_TipoHabitacion hb_tv Em_Usuario
th_Precio hb_cable Em_Pass
th_Descripcion hb_jakussi Em_Sesion
HbId (FK) hb_EstadoAlq Em_Estado
Marco Aurelio Porro Chulli hb_Estado
17
Laboratorio de Programacin III

1.4. Diseo e implementacin de Base de Datos (Procedimientos Almacenados,


Vistas)

USE master
Go
IF exists(SELECT * FROM sysdatabases WHERE name =
'BD_Hospedaje')
Drop Database BDHotel
Go

--Crear la Base de Datos


Create Database BDHotel
Go

--Abrir la Base de Datos


Use BDHotel
Go

--Tablas

CREATE TABLE Alquiler


(
AlId integer NOT NULL ,
ClId integer NULL ,
HbId integer NULL ,
UsId integer NULL ,
Al_FechaIngreso datetime NULL ,
Al_HoraIngreso datetime NULL ,
Al_FechaSalida datetime NULL ,
Al_HoraSalida datetime NULL ,
Al_FechaRegistro datetime NULL ,
Al_Descripcion varchar(80) NULL ,
Al_Estado varchar(20) NULL
)
go

ALTER TABLE Alquiler


ADD PRIMARY KEY (AlId ASC)
go

Marco Aurelio Porro Chulli


18
Laboratorio de Programacin III

CREATE TABLE Cliente


(
ClId integer NOT NULL ,
Cl_Direccion varchar(80) NULL ,
Cl_Lugar integer NULL ,
Cl_TipoDocIdentidad varchar(80) NULL ,
TilD integer NULL ,
Cl_Sexo integer NULL ,
Cl_ApMaterno varchar(80) NULL ,
Cl_ApPaterno varchar(80) NULL ,
Cl_Nombres varchar(80) NULL ,
Cl_FechaRegistro datetime NULL ,
Cl_Estado varchar(20) NULL ,
Tra_NroHab integer NULL ,
PaId integer NULL ,
DiId integer NULL ,
PrId integer NULL ,
Reld integer NULL
)
go

ALTER TABLE Cliente


ADD PRIMARY KEY (ClId ASC)
go

CREATE TABLE Distrito


(
DiId integer NOT NULL ,
Di_descripcion varchar(80) NULL ,
Di_distrito varchar(80) NULL ,
Reld integer NULL ,
Prld integer NULL
)
go

ALTER TABLE Distrito


ADD PRIMARY KEY (DiId ASC)
go

CREATE TABLE Empleado


(
EmId integer NOT NULL ,
Em_Nombres varchar(80) NULL ,
Em_Apellidos varchar(80) NULL ,
Em_FechaIngreso datetime NULL ,

Marco Aurelio Porro Chulli


19
Laboratorio de Programacin III

Em_Cargo varchar(80) NULL ,


Em_Sexo varchar(80) NULL ,
Em_Dni integer NULL ,
Em_Direccion varchar(80) NULL ,
Em_Usuario varchar(80) NULL ,
Em_Pass varchar(80) NULL ,
Em_Sesion varchar(80) NULL ,
Em_Estado varchar(80) NULL
)
go

ALTER TABLE Empleado


ADD PRIMARY KEY (EmId ASC)
go

CREATE TABLE Habitacion


(
HbId integer NOT NULL ,
hb_nroHb integer NULL ,
hb_NroPiso integer NULL ,
hb_Precio integer NULL ,
hb_Descripcion varchar(80) NULL ,
hb_tv varchar(50) NULL ,
hb_cable varchar(50) NULL ,
hb_jakussi varchar(50) NULL ,
hb_EstadoAlq varchar(50) NULL ,
hb_Estado varchar(10) NULL
)
go

ALTER TABLE Habitacion


ADD PRIMARY KEY (HbId ASC)
go

CREATE TABLE Pais


(
PaId integer NOT NULL ,
Pa_Pais varchar(100) NULL ,
Pa_Descripcion varchar(100) NULL
)
go

ALTER TABLE Pais


ADD PRIMARY KEY (PaId ASC)

Marco Aurelio Porro Chulli


20
Laboratorio de Programacin III

go

CREATE TABLE Provincia


(
PrId integer NOT NULL ,
ReId integer NULL ,
Pr_provincia varchar(20) NULL ,
Pr_descripcion varchar(80) NULL
)
go

ALTER TABLE Provincia


ADD PRIMARY KEY (PrId ASC)
go

CREATE TABLE Region


(
Reld integer NOT NULL ,
Pald integer NULL ,
Re_Region varchar(20) NULL ,
Re_Descripcion varchar(20) NULL
)
go

ALTER TABLE Region


ADD PRIMARY KEY (Reld ASC)
go

CREATE TABLE Terminal


(
Terld integer NOT NULL ,
Comprobante varchar(80) NULL ,
nldComprobante integer NULL ,
nSerie integer NULL ,
ncor integer NULL
)
go

ALTER TABLE Terminal


ADD PRIMARY KEY (Terld ASC)
go

Marco Aurelio Porro Chulli


21
Laboratorio de Programacin III

CREATE TABLE TipoHabitacion


(
ThId integer NOT NULL ,
th_TipoHabitacion varchar(30) NULL ,
th_Precio integer NULL ,
th_Descripcion varchar(80) NULL ,
HbId integer NULL
)
go

ALTER TABLE TipoHabitacion


ADD PRIMARY KEY (ThId ASC)
go

CREATE TABLE TipoIdentificacion


(
TilD integer NOT NULL ,
Ti_Descripcion varchar(80) NULL ,
Ti_Identificacion varchar(50) NULL
)
go

ALTER TABLE TipoIdentificacion


ADD PRIMARY KEY (TilD ASC)
go

CREATE TABLE Transacciones


(
Tra_NroHab integer NOT NULL ,
Tra_TipoHab varchar(50) NULL ,
Tra_Precio integer NULL ,
Tra_NroPiso varchar(10) NULL ,
Tra_Cliente varchar(80) NULL ,
Tra_FechaIngreso datetime NULL ,
Tra_HoraIngreso datetime NULL ,
Tra_FchaSalida datetime NULL ,
Tra_HoraSalida datetime NULL ,
Tra_Doc varchar(80) NULL ,
Tra_Ser integer NULL ,
Tra_Cor integer NULL ,
Tra_FechaRegistro datetime NULL ,
Tra_FechaTransaccion datetime NULL ,
Tra_Alid integer NULL ,
Tra_Haid datetime NULL ,
HbId integer NULL ,

Marco Aurelio Porro Chulli


22
Laboratorio de Programacin III

EmId integer NULL ,


Terld datetime NULL
)
go

ALTER TABLE Transacciones


ADD PRIMARY KEY (Tra_NroHab ASC)
go

ALTER TABLE Alquiler


ADD FOREIGN KEY (HbId) REFERENCES Habitacion(HbId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Cliente


ADD FOREIGN KEY (Tra_NroHab) REFERENCES
Transacciones(Tra_NroHab)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Cliente


ADD FOREIGN KEY (TilD) REFERENCES TipoIdentificacion(TilD)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Cliente


ADD FOREIGN KEY (PaId) REFERENCES Pais(PaId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Cliente


ADD FOREIGN KEY (DiId) REFERENCES Distrito(DiId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

Marco Aurelio Porro Chulli


23
Laboratorio de Programacin III

ALTER TABLE Cliente


ADD FOREIGN KEY (PrId) REFERENCES Provincia(PrId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Cliente


ADD FOREIGN KEY (Reld) REFERENCES Region(Reld)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE TipoHabitacion


ADD FOREIGN KEY (HbId) REFERENCES Habitacion(HbId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Transacciones


ADD FOREIGN KEY (HbId) REFERENCES Habitacion(HbId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Transacciones


ADD FOREIGN KEY (EmId) REFERENCES Empleado(EmId)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE Transacciones


ADD FOREIGN KEY (Terld) REFERENCES Terminal(Terld)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

PROCEDIMIENTOS ALMACENADOS

Marco Aurelio Porro Chulli


24
Laboratorio de Programacin III

CREATE procedure Mantenimiento_Clientes


(
@ClId As Integer,
@Cl_Nombres As varchar(100),
@Cl_ApPaterno As varchar(100),
@Cl_ApMaterno As varchar(100),
@Cl_Sexo As bit,
@TiID As Integer,
@Cl_TipoDocIdent As Integer,
@Cl_Lugar As Integer,
@Cl_Direccion As varchar(100),
@Cl_Estado As bit
)
as
begin
if not exists (select * from Cliente where
Cl_TipoDocIdent=@Cl_TipoDocIdent)
begin
insert into cliente
(Cl_Nombres,Cl_ApPaterno,Cl_ApMaterno,Cl_Sexo,TiID,Cl_TipoDo
cIdent,Cl_Lugar,Cl_Direccion,Cl_FechaRegistro,Cl_Estado)

values(@Cl_Nombres,@Cl_ApPaterno,@Cl_ApMaterno,@Cl_Sexo,@Ti
ID,@Cl_TipoDocIdent,@Cl_Lugar,@Cl_Direccion,GETDATE(),@Cl_Es
tado)
end
else
begin
update cliente set Cl_Nombres=@Cl_Nombres,
Cl_ApPaterno=@Cl_ApPaterno,
Cl_ApMaterno=@Cl_ApMaterno,
Cl_Sexo=@Cl_Sexo,
TiID=@TiID,
Cl_TipoDocIdent=@Cl_TipoDocIdent,
Cl_Lugar=@Cl_Lugar,
Cl_Direccion=@Cl_Direccion,
Cl_FechaRegistro=GETDATE(),
Cl_Estado=@Cl_Estado where
Cl_TipoDocIdent=@Cl_TipoDocIdent
end
end

ALTER procedure Administrar_Hospedaje


(

Marco Aurelio Porro Chulli


25
Laboratorio de Programacin III

@AlId int,
@HbId int,
@tCOM int
)
as
begin

update Alquiler set Al_Estado=2 where AlId=@AlId


update Habitacion set hb_EstadoAlq=1 where HbId=@HbId
update terminal set ncor=ncor +1 where nIDcOMPROBANTE=@tCOM

declare @comprobante varchar(10)


declare @nSerie varchar(10)
declare @nCor varchar(10)

select @comprobante=comprobante,@nSerie=nSerie,@nCor=nCor
from terminal where nIDcOMPROBANTE=@tCOM order by nCor desc

--registra transaccion
insert into Transacciones
select hb_nroHb Tra_NroHab,
th_TipoHabitacion Tra_TipoHab,
hb_Precio Tra_Precio,
'Piso Nro ' + cast(hb_NroPiso as varchar) Tra_NroPiso,
C.CL_nombres + ', ' +cl_appaterno + ' ' + cl_apmaterno
Tra_Cliente,
cast(Al_FechaIngreso as DATE)Tra_FechaIngreso ,
AL_HoraIngreso Tra__HoraIngreso ,
cast(Al_fechaSalida as DATE) Tra_fechaSalida,
Al_HoraSalida Tra_HoraSalida,
@comprobante 'Tra_Doc' ,
@nSerie 'Tra_Ser' ,
@nCor 'Tra_Cor',
a.Al_FechaRegistro Tra_FechaRegistro,
getdate() Tra_FechaTransaccion,
a.AlId Tra_Alid,
H.HbId Tra_HaiD
from
Alquiler A
inner join Habitacion H on A.HbId=H.HbId
inner join TipoHabitacion th on H.hb_thId=th.ThId
INNER JOIN Cliente C ON A.ClId=c.ClId
where H.HbId=@HbId and A.Al_Estado=2 and AlId=@AlId

end

CREATE procedure buscar_Login]

Marco Aurelio Porro Chulli


26
Laboratorio de Programacin III

@Em_Usuario varchar(100),
@Em_pass varchar(100)
as
begin
select * from Empleado where Em_Usuario=@Em_Usuario and
Em_pass=@Em_pass
end

2. Diseo del sitema


2.1. Diseo de formulario de Acceso

2.2. Diseo de Men

Marco Aurelio Porro Chulli


27
Laboratorio de Programacin III

2.3. Diseos de Entradas de Datos (Mantenimientos, Transacciones)

Marco Aurelio Porro Chulli


28
Laboratorio de Programacin III

2.4. Diseos de Salida de Datos (Reportes)

Marco Aurelio Porro Chulli


29
Laboratorio de Programacin III

III. Arquitectura Tecnolgica Requerida


I. Plataformas de Tecnologa
1.1. Requerimiento del Hardware y Software
El usuario que requiera de este sistema
obligatoriamente tiene que utilizar una laptop o
computadora.
La mnima corei3, la mxima corei7.
EL HARDWARE Y EL SOFTWARE: tienen 2
versiones. Si quieres que el rendimiento de tu
computadora sea mejor, te recomendamos usar
la versin de 64 Bits.
LA MARCA: Con el sistema operativo Windows tienes variadsimas
marcas disponibles para escoger. Para esto no tenemos la receta
mgica, sin embargo es siempre bueno revisar los comentarios y la
reputacin de cada marca o producto segn tus necesidades.
RAM: Es el lugar en donde la computadora
almacena la informacin mientras se estn
ejecutando tareas. Generalmente, mientas
mayor memoria RAM, mejor rendimiento de la
computadora. El RAM se mide
en GB (Gigabytes). Por lo tanto, la memoria
sera 4 GB de RAM como mnimo y como
mximo seria 8GB.
PANTALLA: Con resolucin mnimo 1600x900, de 14 pulgadas.
CPU: es el cerebro de la computadora y tiene un efecto directo en la
velocidad de esta. La velocidad del CPU se mide por GHz (GigaHertz)
por lo tanto 1.80Ghz como mnimo, y como mximo sera de 2.5Ghz.
DISCO DURO Y ALMACENAMIENTO: El disco duro es el lugar en
donde tu computadora almacena fotos, vdeos, artculos, msica y
muchos otros tipos de archivos. Tambin se mide en GB, por lo tanto,
como mnimo 256GB y como mximo es de 500GB.

Marco Aurelio Porro Chulli


30
Laboratorio de Programacin III

RENDIMIENTO: la batera es muy importante. Considerar laptops que al


menos te puedan dar 10 horas de rendimiento, como mximo 15 horas
de rendimiento.

IV. Implementacin del Sistema


1. Pantallas del Sistema.

Diseos de Entradas de Datos (Mantenimientos, Transacciones)

Marco Aurelio Porro Chulli


31
Laboratorio de Programacin III

Marco Aurelio Porro Chulli


32
Laboratorio de Programacin III

Diseos de Salida de Datos (Reportes)

2. Cdigo de la Aplicacin

Capa de datos

CONEXION
Imports System.Data.SqlClient
Public Class Conexion
Dim con As SqlConnection
Public Sub Cerrar()
con.Close()
End Sub
Public Function Abrir() As SqlConnection
Dim sql As String
sql = "Data Source = PCVEGA\LVM; Initial Catalog = DB_Hospedaje;
Integrated Security = true"

con = New SqlConnection(sql)


con.Open()

Marco Aurelio Porro Chulli


33
Laboratorio de Programacin III

Return con
End Function
End Class

CONSULTAS
Imports System.Data.SqlClient
Imports System.Data
Public Class Consultas
Public Shared Function VerConsulta(ByVal Sql As String) As
DataTable
Dim con As New Conexion
Dim com As New SqlCommand
com.Connection = con.Abrir
com.CommandType = CommandType.Text
com.CommandText = Sql
Dim Dap As New SqlDataAdapter(com)
Dim Dt As New DataTable
Dap.Fill(Dt)
Return Dt
End Function
End Class

2.2. Capa de negocio

Procesos
Imports System.Data.SqlClient
Imports Capa_Entidades
Public Class Mantenimiento_CD
Private _con As New Conexion
Private _com As New SqlCommand
Public Function Grabar_TipoHab(ByVal ObjEnt_Man As
Mantenimiento_CE, ByVal IntModif As Integer) As String
'grabar soporte tecnico Rcepcion
Dim sql As String = "set dateformat dmy exec
Mantenimiento_TipoHabitacion " & ObjEnt_Man.thID & ",'" +
ObjEnt_Man.th_TipoHabitacion + "'," + ObjEnt_Man.th_Precio + ",'" +
ObjEnt_Man.th_descripcion + "'," & IntModif & ""
Dim cmd As New SqlCommand(sql, _con.Abrir)
cmd.ExecuteNonQuery()
_con.Cerrar()
Return "LUISA"
End Function
Public Function Grabar_Habitaciones(ByVal ObjEnt_Man As
Mantenimiento_CE, ByVal IntModif As Integer) As String
Dim sql As String = "set dateformat dmy exec
Mantenimiento_Habitacion " & ObjEnt_Man.Codigo & "," &
ObjEnt_Man.thID & "," & ObjEnt_Man.hb_nroHabitacion & "," &
ObjEnt_Man.hb_NroPiso & "," & ObjEnt_Man.hb_Precio & ",'" &
ObjEnt_Man.hb_Descripcion & "'," & ObjEnt_Man.hb_tv & "," &
ObjEnt_Man.hb_cable & "," & ObjEnt_Man.hb_jakussi & "," &
ObjEnt_Man.hb_EstadoAlquiler & "," & ObjEnt_Man.hb_Estado
Dim cmd As New SqlCommand(sql, _con.Abrir)

Marco Aurelio Porro Chulli


34
Laboratorio de Programacin III

cmd.ExecuteNonQuery()
_con.Cerrar()
Return "LUISA"
End Function
Public Function Grabar_Clientes(ByVal ObjEnt_Man As
Mantenimiento_CE, ByVal IntModif As Integer) As String
Dim sql As String = "set dateformat dmy exec
Mantenimiento_Clientes " & ObjEnt_Man.ClId & ",'" &
ObjEnt_Man.Cl_Nombres & "','" & ObjEnt_Man.Cl_ApPaterno & "','" &
ObjEnt_Man.Cl_ApMaterno & "'," & ObjEnt_Man.Cl_Sexo & "," &
ObjEnt_Man.TiID & "," & ObjEnt_Man.Cl_TipoDocIdent & "," &
ObjEnt_Man.Cl_Lugar & ",'" & ObjEnt_Man.Cl_Direccion & "'," &
ObjEnt_Man.Cl_Estado
Dim cmd As New SqlCommand(sql, _con.Abrir)
cmd.ExecuteNonQuery()
_con.Cerrar()
Return "LUISA "
End Function
Public Function Grabar_Alquiler(ByVal ObjEnt_Man As
Mantenimiento_CE, ByVal IntModif As Integer) As String
Dim sql As String = "set dateformat dmy exec
Mantenimiento_Alquiler " & ObjEnt_Man.AlId & "," & ObjEnt_Man.ClId &
"," & ObjEnt_Man.Codigo & "," & ObjEnt_Man.UsId & ",'" &
ObjEnt_Man.Al_FechaIngreso & "','" & ObjEnt_Man.Al_HoraIngreso &
"','" & ObjEnt_Man.Al_FechaSalida & "','" & ObjEnt_Man.Al_HoraSalida
& "','" & ObjEnt_Man.Al_Descripcion & "'," & ObjEnt_Man.Al_Estado
Dim cmd As New SqlCommand(sql, _con.Abrir)
cmd.ExecuteNonQuery()
_con.Cerrar()
Return "LUISA"
End Function
Public Function ADministrar_Alquiler(ByVal ObjEnt_Man As
Mantenimiento_CE, ByVal IntCom As Integer) As String
Dim sql As String = "set dateformat dmy exec
Administrar_Hospedaje " & ObjEnt_Man.AlId & "," & ObjEnt_Man.Codigo
& "," & IntCom
Dim cmd As New SqlCommand(sql, _con.Abrir)
cmd.ExecuteNonQuery()
_con.Cerrar()
Return "LUISA"
End Function
Public Function Ingresar_Usuario(ByVal StrUsuario As String,
ByVal StrPass As String) As DataTable
Dim _con As New Conexion
Dim _com As New SqlCommand
_com.Connection = _con.Abrir
_com.CommandType = CommandType.Text
_com.CommandText = "buscar_Login '" & StrUsuario & "','" &
StrPass & "'"
Dim dap As New SqlDataAdapter(_com)
Dim dt As New DataTable
dap.Fill(dt)
Return dt
End Function

Marco Aurelio Porro Chulli


35
Laboratorio de Programacin III

Public Function Obtener_NroPiso() As DataTable


Dim _con As New Conexion
Dim _com As New SqlCommand
_com.Connection = _con.Abrir
_com.CommandType = CommandType.Text
_com.CommandText = "Listar_NroPiso"
Dim dap As New SqlDataAdapter(_com)
Dim dt As New DataTable
dap.Fill(dt)
Return dt
End Function
Public Function Obtener_HabitacionNroPiso(ByVal IntNroPiso As
Integer) As DataTable
Dim _con As New Conexion
Dim _com As New SqlCommand
_com.Connection = _con.Abrir
_com.CommandType = CommandType.Text
_com.CommandText = "Listar_HabitacionNroPiso " & IntNroPiso
Dim dap As New SqlDataAdapter(_com)
Dim dt As New DataTable
dap.Fill(dt)
Return dt
End Function
Public Function Obtener_HabitacionAlquilada(ByVal IntIdHab As
Integer) As DataTable
Dim _con As New Conexion
Dim _com As New SqlCommand
_com.Connection = _con.Abrir
_com.CommandType = CommandType.Text
_com.CommandText = "Buscar_habitacionAlquilada " & IntIdHab
Dim dap As New SqlDataAdapter(_com)
Dim dt As New DataTable
dap.Fill(dt)
Return dt
End Function
Public Function Obtener_ServidorReportes() As DataTable
Dim _con As New Conexion
Dim _com As New SqlCommand
_com.Connection = _con.Abrir
_com.CommandType = CommandType.Text
_com.CommandText = "select cValorVar from VarNegocio"
Dim dap As New SqlDataAdapter(_com)
Dim dt As New DataTable
dap.Fill(dt)
Return dt
End Function

Public Function Obtener_Comprobante(ByVal IntIdAlq As Integer,


ByVal IntIdHab As Integer) As DataTable
Dim con As New Conexion
Dim com As New SqlCommand
com.Connection = con.Abrir
com.CommandType = CommandType.Text

Marco Aurelio Porro Chulli


36
Laboratorio de Programacin III

com.CommandText = "Listar_Comprobante " & IntIdAlq & "," &


IntIdHab
Dim dap As New SqlDataAdapter(com)
Dim dt As New DataTable
dap.Fill(dt)
Return dt
End Function
End Class

2.3. Capa De aplicacin

INICIAR SESIN

Private Sub btnaceptar_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnaceptar.Click
If txtusuario.Text = String.Empty Then
ErrorProvider1.SetError(txtusuario,"Ingrese su Nombre de
Usuario")
MsgBox("Ingrese su Nombre de Usuario", vbCritical, "Error
Ingresar")
txtusuario.Focus()
Exit Sub
Else
ErrorProvider1.SetError(txtusuario, Nothing)
End If
If txtPass.Text = String.Empty Then
ErrorProvider1.SetError(txtPass, "Ingrese su
Contrasea")
MsgBox("Ingrese su Contrasea", vbCritical, "Error
Ingresar")
txtPass.Focus()
Exit Sub
Else
ErrorProvider1.SetError(txtPass, Nothing)
End If
Login = oBJBuscarClie_cn.Login(txtusuario.Text,
txtPass.Text)
If Login.Rows.Count > 0 Then
GIntUsuId = Login.Rows(0).Item(0)
ProgressBar1.Value = 0
'activando al timer
txtPass.Enabled = False
txtusuario.Enabled = False
btnaceptar.Enabled = False
Timer1.Enabled = True
ProgressBar1.Visible = True
Else
CONT = CONT + 1
If CONT = 3 Then
MsgBox("Ha intentado ingresar al Sistema Demasiadas
Veces " & Chr(13) & _
"con Contrasea o Usuario incorrecto;
Intentelo mas Tarde", vbCritical, "Error de Acceso")

Marco Aurelio Porro Chulli


37
Laboratorio de Programacin III

Application.Exit()
End If

MsgBox("Usuario o Password Incorrectos" & Chr(13) & _


"Le quedan Solamente : " & 3 - CONT & " Intentos",
vbExclamation, "Mensaje")
txtusuario.Focus()
End If

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Timer1.Tick
'Si el progress bar es menor que 100
If ProgressBar1.Value < 100 Then
'Entonces ejecuta el aumento de 1 en 1 en progressbar1
ProgressBar1.Value = ProgressBar1.Value + 1
'Cargando.Text = "Cargando"&""& ProgressBar1.Value &"
%.."
ElseIf ProgressBar1.Value = "100" Then
Timer1.Enabled = False
MDIHotel.Show()
Me.Hide()
End If
End Sub

Private Sub btncancelar_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btncancelar.Click
Me.Close()
End Sub

MENU PRINCIPAL

Imports System.Windows.Forms

Public Class MDIHotel

Private Sub OpenToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
OpenToolStripMenuItem.Click
FrmRegistrarClientes.Show()
End Sub

Private Sub ClientesToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs)
FrmRegistrarClientes.MdiParent = Me
FrmRegistrarClientes.Show()
End Sub

Marco Aurelio Porro Chulli


38
Laboratorio de Programacin III

Private Sub DetalleHabitacionToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
DetalleHabitacionToolStripMenuItem.Click
FrmDetalleHabitacion.MdiParent = Me
FrmDetalleHabitacion.Show()
End Sub

Private Sub ReportesDiariosToolStripMenuItem_Click(ByVal sender


As System.Object, ByVal e As System.EventArgs) Handles
ReportesDiariosToolStripMenuItem.Click
frmreporteDiario.MdiParent = Me
frmreporteDiario.Show()
End Sub

Private Sub ConsultaClienteToolStripMenuItem_Click(sender As


Object, e As EventArgs) Handles
ConsultaClienteToolStripMenuItem.Click
FrmBuscarCliente.Show()
End Sub

Private Sub ConsultaHabitacionToolStripMenuItem_Click(sender As


Object, e As EventArgs) Handles
ConsultaHabitacionToolStripMenuItem.Click
FrmBuscarHabitacion.Show()
End Sub

Private Sub DetalleAlquilerToolStripMenuItem_Click(sender As


Object, e As EventArgs) Handles
DetalleAlquilerToolStripMenuItem.Click
FrmDetalleAlquiler.Show()
End Sub

Private Sub TransacionDeAlquilerToolStripMenuItem_Click(sender


As Object, e As EventArgs) Handles
TransacionDeAlquilerToolStripMenuItem.Click
FrmRegistarAlquiler.MdiParent = Me
FrmRegistarAlquiler.Show()
End Sub

Private Sub RegistrarHabitacionToolStripMenuItem_Click(sender As


Object, e As EventArgs) Handles
RegistrarHabitacionToolStripMenuItem.Click
FrmRegistrarHabitacion.MdiParent = Me
FrmRegistrarHabitacion.Show()
End Sub

PrivateSub RegistrarTipoDeHabitacionToolStripMenuItem_Click(sender
As Object, e As EventArgs) Handles
RegistrarTipoDeHabitacionToolStripMenuItem.Click
FrmRegistrarTipoHabitacion.Show()
End Sub

Private Sub AutorasToolStripMenuItem_Click(sender As Object, e As


EventArgs) Handles AutorasToolStripMenuItem.Click

Marco Aurelio Porro Chulli


39
Laboratorio de Programacin III

frmautor.Show()

End Sub
End Class

MANTENIMIENTO DE CLIENTES
Imports Capa_Entidades
Imports Capa_Negocio
Public Class FrmRegistrarClientes
Dim oBJClientes_cn As New Mantenimiento_CN
Dim oBJClientes_ce As New Mantenimiento_CE
Dim IntMod As Integer
Dim IntFila As Integer
Dim IntCliId As Integer
Private Sub FrmRegistrarClientes_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Lista_Pais()
Call Lista_Clientes()
Call Boton_Activar(True, False)
Call Mostrar_Datagrid(DgClientes)
End Sub
Sub Boton_Activar(ByVal EnTru As Boolean, ByVal EnFal As Boolean)
btnnuevo.Enabled = EnTru
btnmodificar.Enabled = EnTru
btnguardar.Enabled = EnFal
btncancelar.Enabled = EnFal
btnsalir.Enabled = EnTru
DgClientes.Enabled = EnTru
GroupBox1.Enabled = EnFal
GroupBox3.Enabled = EnFal
txtnrodoc.Enabled = EnFal
End Sub
Sub Limpiar_texto()
txtnombres.Text = ""
txtpaterno.Text = ""
txtmaterno.Text = ""
CbrEstado.Checked = True
cbtipodociden.SelectedIndex = -1
txtnrodoc.Text = ""
rbmasculino.Checked = True
cbpais.SelectedIndex = -1
cbprovincia.SelectedIndex = -1
cbdistrito.SelectedIndex = -1
cbciudad.SelectedIndex = -1
txtdireccion.Text = ""
End Sub
Sub Lista_Pais()
Utilitarios.LlenarCombo(cbpais, "select PaId,Pa_Pais from
pais order by Pa_Pais", "PaId", "Pa_Pais")
cbpais.SelectedIndex = -1
Utilitarios.LlenarCombo(cbtipodociden, "select
tIiD,Ti_Identificacion from tipoIdentificacion order by
Ti_Identificacion", "tIiD", "Ti_Identificacion")
cbtipodociden.SelectedIndex = -1

Marco Aurelio Porro Chulli


40
Laboratorio de Programacin III

End Sub
Sub Lista_Clientes()
With DgClientes
.DataSource = oBJClientes_cn.VerData("Lista_Clientes")
.Columns(0).Width = 40 'id
.Columns(1).Width = 100 'nombres
.Columns(2).Width = 100 'paterno
.Columns(3).Width = 100 'materno
.Columns(4).Width = 70 'sexo
.Columns(5).Visible = False 'tipodoc
.Columns(6).Visible = False 'nro
.Columns(7).Width = 150 'direccion
.Columns(8).Width = 100 'distrito
.Columns(9).Visible = False 'provicnia
.Columns(10).Visible = False 'region
.Columns(11).Width = 60 'pais
.Columns(12).Width = 140 'fecharegistro
.Columns(13).Width = 40 'estado
.Columns(14).Visible = False
.Columns(15).Visible = False
.Columns(16).Visible = False
.Columns(17).Visible = False
.Columns(18).Visible = False
.Columns(19).Visible = False
.Columns(20).Visible = False

End With
End Sub
Sub Buscar_Ciudad(ByVal IntCiudad As Integer)
Utilitarios.LlenarCombo(cbciudad, "select ReId,re_region
from region WHERE Paid=' " & IntCiudad & "' order by re_region",
"ReId", "re_region")
cbciudad.SelectedIndex = -1
End Sub
Sub Buscar_Provincia(ByVal IntProv As Integer)
Utilitarios.LlenarCombo(cbprovincia, "select
PrId,Pr_provincia from provincia where ReId=' " & IntProv & "' order
by Pr_provincia", "PrId", "Pr_provincia")
cbprovincia.SelectedIndex = -1
End Sub
Sub Buscar_Distrito(ByVal IntDist As Integer)
Utilitarios.LlenarCombo(cbdistrito, "select DiId,Di_distrito
from distrito where PrId='" & IntDist & "' order by Di_distrito",
"DiId", "Di_distrito")
cbdistrito.SelectedIndex = -1
End Sub
Private Sub cbpais_SelectionChangeCommitted(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cbpais.SelectionChangeCommitted
Buscar_Ciudad(cbpais.SelectedValue)
End Sub

Marco Aurelio Porro Chulli


41
Laboratorio de Programacin III

Private Sub cbciudad_SelectionChangeCommitted(ByVal sender As


Object, ByVal e As System.EventArgs) Handles
cbciudad.SelectionChangeCommitted
Call Buscar_Provincia(cbciudad.SelectedValue)
End Sub
Private Sub cbprovincia_SelectionChangeCommitted(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cbprovincia.SelectionChangeCommitted
Call Buscar_Distrito(cbciudad.SelectedValue)
End Sub

Private Sub btnguardar_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnguardar.Click
If txtnombres.Text = "" Then
MsgBox("Ingrese nombres del cliente", vbCritical, "Error
Registrar")
txtnombres.Focus()
Exit Sub
End If
If txtpaterno.Text = "" Then
MsgBox("Ingrese apellido del cliente", vbCritical, "Error
Registrar")
txtpaterno.Focus()
Exit Sub
End If

If txtmaterno.Text = "" Then


MsgBox("Ingrese apellido del cliente", vbCritical, "Error
Registrar")
txtmaterno.Focus()
Exit Sub
End If
If cbtipodociden.Text = "" Then
MsgBox("Ingrese tipo doc del cliente", vbCritical, "Error
Registrar")
cbtipodociden.Focus()
Exit Sub
End If
If txtnrodoc.Text = "" Then
MsgBox("Ingrese nro de documento cliente", vbCritical,
"Error Registrar")
txtnrodoc.Focus()
Exit Sub
End If

If cbpais.Text = "" Then


MsgBox("Ingrese pais del cliente", vbCritical, "Error
Registrar")
cbpais.Focus()
Exit Sub
End If
If cbciudad.Text = "" Then
MsgBox("Ingrese ciudad del cliente", vbCritical, "Error
Registrar")

Marco Aurelio Porro Chulli


42
Laboratorio de Programacin III

cbciudad.Focus()
Exit Sub
End If
If cbprovincia.Text = "" Then
MsgBox("Ingrese provincia del cliente", vbCritical,
"Error Registrar")
cbprovincia.Focus()
Exit Sub
End If
If cbdistrito.Text = "" Then
MsgBox("Ingrese distrito del cliente", vbCritical, "Error
Registrar")
cbdistrito.Focus()
Exit Sub
End If
If txtdireccion.Text = "" Then
MsgBox("Ingrese direccion del cliente", vbCritical,
"Error Registrar")
txtdireccion.Focus()
Exit Sub
End If
With oBJClientes_ce
.ClId = IntCliId
.Cl_Nombres = txtnombres.Text
.Cl_ApPaterno = txtpaterno.Text
.Cl_ApMaterno = txtmaterno.Text
.Cl_Sexo = IIf(rbmasculino.Checked = True, True, False)
.TiID = cbtipodociden.SelectedValue
.Cl_TipoDocIdent = txtnrodoc.Text
.Cl_Lugar = cbdistrito.SelectedValue
.Cl_Direccion = txtdireccion.Text
.Cl_Estado = CbrEstado.CheckAlign
End With
If IntMod = 0 Then
oBJClientes_cn.Grabar_Clientes(oBJClientes_ce, 1)
MsgBox("Se registro Correctamente el Cliente",
vbExclamation, "Registrar Clientes")
Else
oBJClientes_cn.Grabar_Clientes(oBJClientes_ce, 1)
MsgBox("Se Modifico Correctamente el Cliente",
vbExclamation, "Modificar Clientes")
End If
IntMod = 0
IntCliId = 0
Call Lista_Clientes()
Call Boton_Activar(True, False)
Call Limpiar_texto()
End Sub

Private Sub DgClientes_CellContentClick(ByVal sender As


System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DgClientes.CellContentClick

Marco Aurelio Porro Chulli


43
Laboratorio de Programacin III

End Sub
Sub Mostrar_Datagrid(ByVal Dg As DataGridView)
With DgClientes
If .RowCount > 0 Then
IntFila = .CurrentCell.RowIndex
If IsDBNull(.Item(0, IntFila).Value) = False Then
IntCliId = .Item("ID", IntFila).Value
txtnombres.Text = .Item("Nombres",
IntFila).Value
txtpaterno.Text = .Item("Paterno",
IntFila).Value
txtmaterno.Text = .Item("Materno",
IntFila).Value
If .Item("IdSexo", IntFila).Value = True Then
rbmasculino.Checked = True
Else
rbfemenino.Checked = True
End If
cbtipodociden.SelectedValue = .Item("IdTipoDocIdent",
IntFila).Value
txtnrodoc.Text = .Item("NroDoc", IntFila).Value
txtdireccion.Text = .Item("Direccion",
IntFila).Value
cbpais.SelectedValue = .Item("IdPais",
IntFila).Value
Call Buscar_Ciudad(.Item("IdPais",
IntFila).Value)
cbciudad.SelectedValue = .Item("IdRegion", IntFila).Value
Call Buscar_Provincia(.Item("IdRegion",
IntFila).Value)
cbprovincia.SelectedValue = .Item("IdProvincia",
IntFila).Value
Call Buscar_Distrito(.Item("IdProvincia", IntFila).Value)
cbdistrito.SelectedValue = .Item("IdDistrito",
IntFila).Value
CbrEstado.Checked = .Item("Estado",
IntFila).Value
End If
End If
txtnrodoc.Enabled = False
End With
End Sub

Private Sub DgClientes_CellMouseClick(ByVal sender As Object, ByVal


e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
DgClientes.CellMouseClick
Call Mostrar_Datagrid(DgClientes)
End Sub

Private Sub btnuevo_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnnuevo.Click
IntMod = 0
Call Boton_Activar(False, True)
Call Limpiar_texto()

Marco Aurelio Porro Chulli


44
Laboratorio de Programacin III

txtnombres.Focus()
End Sub

Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnsalir.Click
Me.Close()
End Sub

Private Sub btncancelar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btncancelar.Click
IntMod = 0
IntFila = 0
Call Mostrar_Datagrid(DgClientes)
Call Boton_Activar(True, False)
btnnuevo.Focus()
End Sub

Private Sub btnmodificar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnmodificar.Click
IntMod = 1
Call Boton_Activar(False, True)
txtnrodoc.Enabled = False
txtnombres.Focus()
End Sub

Private Sub txtnombres_KeyPress(ByVal sender As Object, ByVal e


As System.Windows.Forms.KeyPressEventArgs) Handles
txtnombres.KeyPress
If Asc(e.KeyChar) = 13 Then
txtpaterno.Focus()
End If
IfInStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

Private Sub txtpaterno_KeyPress(ByVal sender As Object, ByVal e


As System.Windows.Forms.KeyPressEventArgs) Handles
txtpaterno.KeyPress
If Asc(e.KeyChar) = 13 Then
txtpaterno.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

Marco Aurelio Porro Chulli


45
Laboratorio de Programacin III

Private Sub txtmaterno_KeyPress(ByVal sender As Object, ByVal e


As System.Windows.Forms.KeyPressEventArgs) Handles
txtmaterno.KeyPress
If Asc(e.KeyChar) = 13 Then
cbtipodociden.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

Private Sub txtnrodoc_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs) Handles txtnrodoc.KeyPress
If Asc(e.KeyChar) = 13 Then
cbtipodociden.Focus()
End If
If InStr(1, "1234567890" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

Private Sub txtdireccion_KeyPress(ByVal sender As Object, ByVal


e As System.Windows.Forms.KeyPressEventArgs) Handles
txtdireccion.KeyPress
If Asc(e.KeyChar) = 13 Then
cbtipodociden.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ," & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

REGISTRAR HABITACION

Imports Capa_Entidades
Imports Capa_Negocio
Public Class FrmRegistrarHabitacion
Dim oBJtipoHab_cn As New Mantenimiento_CN
Dim oBJtipoHab_ce As New Mantenimiento_CE
Dim IntMod As Integer
Dim IntFila As Integer
Dim IntIdHb As Integer
Dim IntNroPiso As Integer
Private Sub FrmRegistrarHabitacion_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Lista_TipoHabitacion()
Call Lista_Habitaciones()
Call Boton_Activar(True, False)

Marco Aurelio Porro Chulli


46
Laboratorio de Programacin III

Call Mostrar_Datagrid(dghabitacion)
End Sub
Sub Lista_TipoHabitacion()
Utilitarios.LlenarCombo(cbTipoHabitacion, "select
thId,th_TipoHabitacion from TipoHabitacion", "thId",
"th_TipoHabitacion")
cbTipoHabitacion.SelectedIndex = -1
End Sub

Sub Lista_Habitaciones()
With dghabitacion
.DataSource = oBJtipoHab_cn.VerData("Lista_Habitacion")
.Columns(0).Width = 40 'id
.Columns(1).Width = 100 'tipohabitacion
.Columns(2).Width = 50 'nrohab
.Columns(3).Width = 50 'precio
.Columns(4).Width = 60 'nro piso
.Columns(5).Width = 40 'tv
.Columns(6).Width = 40 'cable
.Columns(7).Width = 40 'jak
.Columns(8).Width = 100 'estado
.Columns(9).Visible = False 'descripcion
End With
End Sub
Sub Boton_Activar(ByVal EnTru As Boolean, ByVal EnFal As Boolean)
btnnuevo.Enabled = EnTru
btnmodificar.Enabled = EnTru
btnguardar.Enabled = EnFal
btncancelar.Enabled = EnFal
btnsalir.Enabled = EnTru
dghabitacion.Enabled = EnTru
GroupBox1.Enabled = EnFal
End Sub
Sub Limpiar_texto()
cbTipoHabitacion.SelectedIndex = -1
txtnrohab.Text = ""
txtprecio.Text = ""
cbpisohab.SelectedIndex = -1
txtdescripcion.Text = ""
cbjacuzzi.Checked = False
cbcable.Checked = False
cbtv.Checked = False
End Sub
Private Sub btnguardar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnguardar.Click
If cbTipoHabitacion.Text = "" Then
MsgBox("Ingrese el tipo de habitacion", vbCritical,
"Error Registrar")
cbTipoHabitacion.Focus()
Exit Sub
End If
If txtnrohab.Text = "" Then
MsgBox("Ingrese el Nro habitacion", vbCritical, "Error
Registrar")

Marco Aurelio Porro Chulli


47
Laboratorio de Programacin III

txtnrohab.Focus()
Exit Sub
End If

If txtprecio.Text = "" Then


MsgBox("Ingrese el Precio habitacion", vbCritical, "Error
Registrar")
txtprecio.Focus()
Exit Sub
End If
If cbpisohab.Text = "" Then
MsgBox("Ingrese el Nro Piso de habitacion", vbCritical,
"Error Registrar")
cbpisohab.Focus()
Exit Sub
End If
If txtdescripcion.Text = "" Then
MsgBox("Ingrese la descripcion habitacion", vbCritical,
"Error Registrar")
txtdescripcion.Focus()
Exit Sub
End If

With oBJtipoHab_ce
.Codigo = IntIdHb
.thID = cbTipoHabitacion.SelectedValue
.hb_nroHabitacion = txtnrohab.Text
.hb_NroPiso = IntNroPiso
.hb_Precio = txtprecio.Text
.hb_Descripcion = txtdescripcion.Text
.hb_tv = IIf(cbtv.Checked = True, True, False)
.hb_cable = IIf(cbcable.Checked = True, True, False)
.hb_jakussi = IIf(cbjacuzzi.Checked = True, True, False)
.hb_EstadoAlquiler = 1
.hb_Estado = 1
End With
If IntMod = 0 Then
oBJtipoHab_cn.Grabar_Hab(oBJtipoHab_ce, 1)
MsgBox("se registro Correctamente la Habitacion",
vbExclamation, "Registrar Habitacion")
Else
oBJtipoHab_cn.Grabar_Hab(oBJtipoHab_ce, 2)
MsgBox("se Actualizo Correctamente la Habitacion",
vbExclamation, "Modificar Habitacion")
End If
IntMod = 0
IntIdHb = 0
Call Lista_Habitaciones()
Call Limpiar_texto()
Call Boton_Activar(True, False)
Call Mostrar_Datagrid(dghabitacion)

End Sub

Marco Aurelio Porro Chulli


48
Laboratorio de Programacin III

Private Sub cbpisohab_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cbpisohab.SelectedIndexChanged
If cbpisohab.Text = "Piso Nro 1" Then

IntNroPiso = 1
ElseIf cbpisohab.Text = "Piso Nro 2" Then

IntNroPiso = 2
ElseIf cbpisohab.Text = "Piso Nro 3" Then

IntNroPiso = 3

ElseIf cbpisohab.Text = "Piso Nro 4" Then


IntNroPiso = 4

ElseIf cbpisohab.Text = "Piso Nro 5" Then


IntNroPiso = 5

End If
End Sub

Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnnuevo.Click
IntMod = 0
Call Boton_Activar(False, True)
Call Limpiar_texto()
cbTipoHabitacion.Focus()
End Sub

Sub Mostrar_Datagrid(ByVal Dg As DataGridView)


With dghabitacion
If .RowCount > 0 Then
IntFila = .CurrentCell.RowIndex
If IsDBNull(.Item(0, IntFila).Value) = False Then
IntIdHb = .Item("ID", IntFila).Value
cbTipoHabitacion.Text = .Item("TipoHab",
IntFila).Value
txtnrohab.Text = .Item("NroHab", IntFila).Value
txtprecio.Text = .Item("precio", IntFila).Value
cbpisohab.Text = .Item("NroPiso", IntFila).Value
cbtv.Checked = .Item("TV", IntFila).Value
cbcable.Checked = .Item("Cable", IntFila).Value
cbjacuzzi.Checked = .Item("Jak", IntFila).Value
'txtnombres.Text = .Item("Estado",
IntFila).Value
txtdescripcion.Text = .Item("hb_Descripcion",
IntFila).Value
End If
End If

End With
End Sub

Marco Aurelio Porro Chulli


49
Laboratorio de Programacin III

Private Sub dghabitacion_CellMouseClick(ByVal sender As Object, ByVal


e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
dghabitacion.CellMouseClick
Call Mostrar_Datagrid(dghabitacion)
End Sub

Private Sub btncancelar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btncancelar.Click
IntMod = 0
IntFila = 0
Call Mostrar_Datagrid(dghabitacion)
Call Boton_Activar(True, False)
btnnuevo.Focus()
End Sub

Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnsalir.Click
Close()
End Sub

Private Sub btnmodificar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnmodificar.Click
IntMod = 1
Call Boton_Activar(False, True)
cbTipoHabitacion.Focus()
End Sub

Private Sub txtdescripcion_KeyPress(ByVal sender As Object, ByVal


e As System.Windows.Forms.KeyPressEventArgs) Handles
txtdescripcion.KeyPress
If Asc(e.KeyChar) = 13 Then
btnguardar.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ,;." & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

REGISTRAR TIPO DE HABITACION

Imports Capa_Entidades
Imports Capa_Negocio
Public Class FrmRegistrarTipoHabitacion
Dim oBJtipoHab_cn As New Mantenimiento_CN
Dim oBJtipoHab_ce As New Mantenimiento_CE
Dim IntMod As Integer
Dim IntFila As Integer
Dim IntIdTH As Integer
Private Sub FrmRegistrarTipoHabitacion_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Lista_tipoHabitacion()

Marco Aurelio Porro Chulli


50
Laboratorio de Programacin III

Call Boton_Activar(True, False)


IntFila = 0
Call Mostrar_Datagrid(dgtipohabitacion)
End Sub
Sub Lista_tipoHabitacion()
With dgtipohabitacion
.DataSource =
oBJtipoHab_cn.VerData("Lista_TipoHabitacion")
End With
End Sub
Sub Boton_Activar(ByVal EnTru As Boolean, ByVal EnFal As Boolean)
btnnuevo.Enabled = EnTru
btnmodificar.Enabled = EnTru
btnguardar.Enabled = EnFal
btncancelar.Enabled = EnFal
btnsalir.Enabled = EnTru
gbregistros.Enabled = EnTru
gbdatos.Enabled = EnFal
End Sub
Sub Limpiar_texto()
txttipohabitacion.Text = ""
txtprecio.Text = ""
txtdescripcion.Text = ""
End Sub
Sub Mostrar_Datagrid(ByVal Dg As DataGridView)
With Dg
If .RowCount > 0 Then
IntFila = .CurrentCell.RowIndex
If IsDBNull(.Item(0, IntFila).Value) = False Then
IntIdTH = .Item(0, IntFila).Value
txttipohabitacion.Text = .Item(1, IntFila).Value
txtprecio.Text = .Item(2, IntFila).Value
txtdescripcion.Text = .Item(3, IntFila).Value
End If
End If

End With
End Sub
Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnnuevo.Click
IntMod = 0
Call Boton_Activar(False, True)
Call Limpiar_texto()
txttipohabitacion.Focus()
End Sub

Private Sub btnmodificar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnmodificar.Click
IntMod = 1
Call Boton_Activar(False, True)
txttipohabitacion.Focus()
End Sub

Marco Aurelio Porro Chulli


51
Laboratorio de Programacin III

Private Sub btnguardar_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnguardar.Click
If txttipohabitacion.Text = "" Then
MsgBox("Ingrese el tipo de habitacion", vbCritical,
"Error Registrar")
txttipohabitacion.Focus()
Exit Sub
End If
If txtdescripcion.Text = "" Then
MsgBox("Ingrese el descripcion del tipo de habitacion",
vbCritical, "Error Registrar")
txtdescripcion.Focus()
Exit Sub
End If
With oBJtipoHab_ce
.thID = IntIdTH
.th_TipoHabitacion = txttipohabitacion.Text
.th_Precio = 15
.th_descripcion = txtdescripcion.Text
End With
If IntMod = 0 Then
oBJtipoHab_cn.Grabar_TipoHab(oBJtipoHab_ce, 1)
MsgBox("El Tipo de habitacion se registro Correctamente",
vbExclamation, "Registrar TH")
Else
oBJtipoHab_cn.Grabar_TipoHab(oBJtipoHab_ce, 2)
MsgBox("El Tipo de habitacion se Modifico Correctamente",
vbExclamation, "Modificar TH")
End If
IntMod = 0
IntIdTH = 0
Call Lista_tipoHabitacion()
Call Boton_Activar(True, False)
Call Limpiar_texto()
End Sub

Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnsalir.Click
Me.Close()
End Sub

Private Sub btncancelar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btncancelar.Click
IntMod = 0
IntFila = 0
Call Mostrar_Datagrid(dgtipohabitacion)
Call Boton_Activar(True, False)
btnnuevo.Focus()
End Sub

Private Sub dgtipohabitacion_CellMouseClick(ByVal sender As


Object, ByVal e As
System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles
dgtipohabitacion.CellMouseClick

Marco Aurelio Porro Chulli


52
Laboratorio de Programacin III

Call Mostrar_Datagrid(dgtipohabitacion)
End Sub

Private Sub txttipohabitacion_KeyPress(ByVal sender As Object,


ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
txttipohabitacion.KeyPress
If Asc(e.KeyChar) = 13 Then
txtdescripcion.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ" & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub
Private Sub txtdescripcion_KeyPress(ByVal sender As Object, ByVal
e As System.Windows.Forms.KeyPressEventArgs) Handles
txtdescripcion.KeyPress
If Asc(e.KeyChar) = 13 Then
txtdescripcion.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ,;." & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

End Class

TRANSACCIN DE ALQUILER DE HABITACIN

End ClassImports Capa_Entidades


Imports Capa_Negocio

Imports System.Globalization
Public Class FrmRegistarAlquiler
Dim oBJAlq_cn As New Mantenimiento_CN
Dim oBJAlq_ce As New Mantenimiento_CE
Dim IntMod As Integer
Dim IntFila As Integer
Dim IntAlqId As Integer
Dim tt As Integer
Dim i As Integer = 0
Private Sub btnbuscarhabitacion_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnbuscarhabitacion.Click
FrmBuscarHabitacion.ShowDialog()
FrmBuscarHabitacion = Nothing
'habitacion
If GIntHabID <> 0 Then

Marco Aurelio Porro Chulli


53
Laboratorio de Programacin III

'GIntHabID()
txttipohabitacion.Text = GStrTipoHabitacion
txtprecio.Text = GDbPrecio
txtnrohab.Text = GIntNroHabitacion
txtnropiso.Text = GStrNroPiso
cbxTV.Checked = GblTV
cbxCABLE.Checked = GBlClable
cbxJAK.Checked = GBlJakusi
Else
'GIntHabID()
txttipohabitacion.Text = ""
txtprecio.Text = ""
txtnrohab.Text = ""
txtnropiso.Text = ""
cbxTV.Checked = False
cbxCABLE.Checked = False
cbxJAK.Checked = False
End If
End Sub

Private Sub btnbuscarcliente_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnbuscarcliente.Click
FrmBuscarCliente.ShowDialog()
FrmBuscarCliente = Nothing

If GintCliId <> 0 Then


'Public GintCliId As Integer
txtcliente.Text = GStrNombres
txtdocumento.Text = GStrDocumento
Else
'Public GintCliId As Integer
txtcliente.Text = ""
txtdocumento.Text = ""
End If

End Sub

Private Sub FrmRegistarAlquiler_Load(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Boton_Activar(True, False)

End Sub
Sub Boton_Activar(ByVal EnTru As Boolean, ByVal EnFal As Boolean)
btnnuevo.Enabled = EnTru
btnguardar.Enabled = EnFal
btncancelar.Enabled = EnFal
btnsalir.Enabled = EnTru
GroupBox1.Enabled = EnFal
GroupBox2.Enabled = EnFal
GroupBox3.Enabled = EnFal

Marco Aurelio Porro Chulli


54
Laboratorio de Programacin III

End Sub
Sub Limpiar_texto()
txttipohabitacion.Text = ""
txtnrohab.Text = ""
txtprecio.Text = ""
txtnropiso.Text = ""
txtcliente.Text = ""
txtdocumento.Text = ""
txtdescripcion.Text = ""

rbdias.Checked = False
rbhoras.Checked = False
cbxcontrol.Checked = False
cbxllaves.Checked = False
cbxplaya.Checked = False

cbxTV.Checked = False
cbxCABLE.Checked = False
cbxJAK.Checked = False

GStrTipoHabitacion = ""
GDbPrecio = 0
GIntNroHabitacion = 0
GStrNroPiso = ""
GblTV = False
GBlClable = False
GBlJakusi = False
GintCliId = 0
GStrNombres = ""
GStrDocumento = ""

End Sub

Private Sub DTPFcSalida_ValueChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
DTPFcSalida.ValueChanged
If rbdias.Checked = True Then
Call CalcularTiempo()
End If

End Sub

Private Sub txtdescripcion_KeyPress(ByVal sender As Object, ByVal


e As System.Windows.Forms.KeyPressEventArgs) Handles
txtdescripcion.KeyPress
If Asc(e.KeyChar) = 13 Then
btnguardar.Focus()
End If
If InStr(1, "abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUWVXYZ,(." & Chr(8), e.KeyChar) = 0 Then
e.KeyChar = ""
End If
End Sub

Marco Aurelio Porro Chulli


55
Laboratorio de Programacin III

Private Sub txtdias_TextChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtdias.TextChanged,
txtdescripcion.TextChanged

End Sub
Sub CalcularTiempo()

If DTPFcSalida.Value < DTPFcEntrada.Value Then


DTPFcSalida.Value = Today
End If

Dim HoraMinEntrada() As String =


Split(FormatDateTime(Me.DTPhrEntrada.Value, DateFormat.ShortTime),
":")
Dim HoraMinSalida() As String =
Split(FormatDateTime(Me.DTPhrSalida.Value, DateFormat.ShortTime),
":")

Dim IntDias As Integer = (DTPFcSalida.Value.Day -


DTPFcEntrada.Value.Day)
Dim IntHora As Integer = (DTPhrSalida.Value.Hour -
DTPhrEntrada.Value.Hour)
Dim IntMin As Integer

IntHora = HoraMinSalida(0) - HoraMinEntrada(0)

IntMin = HoraMinEntrada(1) - HoraMinSalida(1)

If (DTPhrSalida.Value.Minute - DTPhrEntrada.Value.Minute) <


0 Then

IntMin = ((HoraMinEntrada(1) - 60) * -1) +


HoraMinSalida(1)
IntHora = IntHora - 1

Else

IntMin = (DTPhrSalida.Value.Minute -
DTPhrEntrada.Value.Minute)

End If

If IntHora < 0 Then

If i = 0 Then
DTPFcSalida.Value = DTPFcSalida.Value.AddDays(1)
End If

i = 1

IntHora = (tt + 1) + HoraMinSalida(0)

Marco Aurelio Porro Chulli


56
Laboratorio de Programacin III

Else
tt = IntHora
End If

If IntHora = 23 Then
tt = 0
i = 0
End If

If rbdias.Checked = True Then


txtdias.Text = IIf(IntDias <> 0, IntDias & " Dias ", "")
& IIf(IntHora <> 0, IntHora & " Hora ", "") & IIf(IntMin <> 0, IntMin
& " Minutos ", "")
Else
txtdias.Text = IIf(IntHora <> 0, IntHora & " Hora ", "")
& IIf(IntMin <> 0, IntMin & " Minutos ", "")
End If

End Sub
Private Sub DTPhrSalida_ValueChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
DTPhrSalida.ValueChanged

Dim HoraMinEntrada() As String =


Split(FormatDateTime(Me.DTPhrEntrada.Value, DateFormat.ShortTime),
":")
Dim HoraMinSalida() As String =
Split(FormatDateTime(Me.DTPhrSalida.Value, DateFormat.ShortTime),
":")
If DTPFcSalida.Value < DTPFcEntrada.Value Then
If HoraMinEntrada(0) > HoraMinSalida(0) Then
DTPhrSalida.Value = DTPhrEntrada.Value
End If
End If
Call CalcularTiempo()
End Sub

Private Sub DTPhrEntrada_ValueChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
DTPhrEntrada.ValueChanged
Dim hour As String = DTPhrEntrada.Value.ToString("hh",
CultureInfo.CurrentCulture)
Dim minute As String = DTPhrEntrada.Value.ToString("mm",
CultureInfo.CurrentCulture)
If hour.Length = 2 Then
SendKeys.SendWait("{Right}")
End If
'12 horas
Me.Text = hour & ":" & minute
End Sub

Private Sub rbdias_CheckedChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles rbdias.CheckedChanged

Marco Aurelio Porro Chulli


57
Laboratorio de Programacin III

DTPFcEntrada.Enabled = False
DTPFcSalida.Enabled = True
DTPhrEntrada.Enabled = False
DTPhrSalida.Enabled = False
DTPFcSalida.Value = DTPFcEntrada.Value
txtdias.Text = ""
End Sub

Private Sub rbhoras_CheckedChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles rbhoras.CheckedChanged
DTPhrEntrada.Enabled = False
DTPhrSalida.Enabled = True
DTPFcEntrada.Enabled = False
DTPFcSalida.Enabled = False
DTPFcSalida.Value = DTPFcEntrada.Value
txtdias.Text = ""
End Sub

Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs)
Boton_Activar(False, True)
End Sub

Private Sub btnnuevo_Click_1(sender As Object, e As EventArgs)


Handles btnnuevo.Click
IntMod = 0
Call Boton_Activar(False, True)
Call Limpiar_texto()
txttipohabitacion.Focus()
End Sub

Private Sub btncancelar_Click_1(sender As Object, e As EventArgs)


Handles btncancelar.Click
IntMod = 0
IntFila = 0
Call Boton_Activar(True, False)
btnnuevo.Focus()
End Sub

Private Sub btnsalir_Click_1(sender As Object, e As EventArgs)


Handles btnsalir.Click
Me.Close()
End Sub

Private Sub btnguardar_Click_1(sender As Object, e As EventArgs)


Handles btnguardar.Click
If txttipohabitacion.Text = "" Then
MsgBox("Ingrese la habitacion", vbCritical, "Error
Registrar")
btnbuscarhabitacion.Focus()

Marco Aurelio Porro Chulli


58
Laboratorio de Programacin III

Exit Sub
End If
If txtcliente.Text = "" Then
MsgBox("Ingrese el cliente", vbCritical, "Error
Registrar")
txtcliente.Focus()
Exit Sub
End If

If txtdias.Text = "" Then


MsgBox("Ingrese datos del alquiler x [DIAS] [HORAS]",
vbCritical, "Error Registrar")
txtcliente.Focus()
Exit Sub
End If

If txtdescripcion.Text = "" Then


MsgBox("Ingrese el descripcion del alquiler", vbCritical,
"Error Registrar")
txtcliente.Focus()
Exit Sub
End If
With oBJAlq_ce
.AlId = IntAlqId
.ClId = GintCliId
.Codigo = GIntHabID
.UsId = 1

.Al_FechaIngreso = DTPFcEntrada.Value.Date
.Al_HoraIngreso = DTPhrEntrada.Text
.Al_FechaSalida = DTPFcSalida.Value.Date
.Al_HoraSalida = DTPhrSalida.Text

.Al_Descripcion = txtdescripcion.Text &


IIf(cbxcontrol.Checked = True, ", " & cbxcontrol.Text, "") &
IIf(cbxllaves.Checked = True, ", " & cbxllaves.Text, "") &
IIf(cbxplaya.Checked = True, ", " & cbxplaya.Text, "") &
IIf(cbxdni.Checked = True, ", Dejo su " & cbxdni.Text, "")
.Al_Estado = 1
End With
If IntMod = 0 Then
oBJAlq_cn.Grabar_Alquiler(oBJAlq_ce, 1)
MsgBox("Se registro Correctamente el Cliente",
vbExclamation, "Registrar Clientes")
Else
oBJAlq_cn.Grabar_Alquiler(oBJAlq_ce, 1)
MsgBox("Se Modifico Correctamente el Cliente",
vbExclamation, "Modificar Clientes")
End If
IntMod = 0
IntAlqId = 0

Call Boton_Activar(True, False)


Call Limpiar_texto()

Marco Aurelio Porro Chulli


59
Laboratorio de Programacin III

End Sub

Private Sub txttipohabitacion_KeyPress(sender As Object, e As


KeyPressEventArgs) Handles txttipohabitacion.KeyPress
If Asc(e.KeyChar) = 13 Then
txtnrohab.Focus()
End If
End Sub

Private Sub txtprecio_KeyPress(sender As Object, e As


KeyPressEventArgs) Handles txtprecio.KeyPress
If Asc(e.KeyChar) = 13 Then
txtprecio.Focus()
End If
End Sub

End Class

REPORTES DIARIOS DE ALQUILER DE HABITACION

Imports Capa_Entidades
Imports Capa_Negocio
Public Class frmreporteDiario
Dim oBJtipoHab_cn As New Mantenimiento_CN
Dim oBJtipoHab_ce As New Mantenimiento_CE
Dim DtHabAlq As New DataTable
Sub Lista_tipoHabitacion()
With dgvCasosPendientes
.DataSource =
oBJtipoHab_cn.VerData("[dbo].[ListarAlquilerTransac] '" &
DateTimePicker1.Value.Date.Date & "'")
'.DataSource = oBJtipoHab_cn.VerData("
[dbo].[ListarAlquilerTransac] '11/12/2015'")
End With
End Sub

Private Sub BTNBUSCAR_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles BTNBUSCAR.Click
Lista_tipoHabitacion()
If dgvCasosPendientes.RowCount > 0 Then
btnexportar.Enabled = True
Else
btnexportar.Enabled = False
End If
End Sub
Sub reporte()
Dim app As Microsoft.Office.Interop.Excel._Application = New
Microsoft.Office.Interop.Excel.Application()
Dim workbook As Microsoft.Office.Interop.Excel._Workbook =
app.Workbooks.Add(Type.Missing)
Dim worksheet As Microsoft.Office.Interop.Excel._Worksheet =
Nothing
worksheet = workbook.Sheets("Hoja1")

Marco Aurelio Porro Chulli


60
Laboratorio de Programacin III

worksheet = workbook.ActiveSheet
'Aca se agregan las cabeceras de nuestro datagrid.

For i As Integer = 1 To Me.dgvCasosPendientes.Columns.Count


worksheet.Cells(1, i) = Me.dgvCasosPendientes.Columns(i
- 1).HeaderText
Next

'Aca se ingresa el detalle recorrera la tabla celda por celda

For i As Integer = 0 To Me.dgvCasosPendientes.Rows.Count - 1


For j As Integer = 0 To
Me.dgvCasosPendientes.Columns.Count - 1

worksheet.Cells(i + 2, j + 1) =
Me.dgvCasosPendientes.Rows(i).Cells(j).Value.ToString()

Next
Next

'Aca le damos el formato a nuestro excel

worksheet.Rows.Item(1).Font.Bold = 1
worksheet.Rows.Item(1).HorizontalAlignment = 3
worksheet.Columns.AutoFit()
worksheet.Columns.HorizontalAlignment = 2

app.Visible = True
app = Nothing
workbook = Nothing
worksheet = Nothing
FileClose(1)
GC.Collect()
End Sub

Private Sub btnexportar_Click_1(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnexportar.Click
If dgvCasosPendientes.RowCount > 0 Then
reporte()
End If

End Sub
Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnsalir.Click
Close()
End Sub
End Class

Marco Aurelio Porro Chulli


61
Laboratorio de Programacin III

V. CONCLUSIONES
Con el software que hemos creado se podr permitir Alquilar las
habitaciones con ms facilidad y llevar un control de todos los procesos.
Finalmente, la realizacin de este proyecto ha contribuido a revisar
profundamente el conjunto de conocimientos sobre la Ingeniera del
Software Orientado a Objetos. La experiencia es positiva en todos los
sentidos. Se espera que este documento tenga una utilidad que supere los
lmites impuestos por los propios fines del proyecto presentado dentro del
curso.

Marco Aurelio Porro Chulli


62
Laboratorio de Programacin III

VI. RECOMENDACIONES
Aumentar la publicidad y promocin de tal forma que se genere trfico en la
web, esto permitir tener un mayor acceso de turistas interesados en
descubrir y explorar el Hotel Prims.
Brindar una atencin inmediata a las necesidades de los clientes y poder
brindarles confort en las instalaciones tanto del restaurant como del hotel.

Tener un buen control de inventarios y toma de pedidos por ejemplo en las


reservaciones.

Registrar a los clientes frecuentes y de los platos ms vendidos, y por lo


tanto se podr administrar de manera ms eficiente los suministros de estos
platos y el servicio.

Marco Aurelio Porro Chulli


63
Laboratorio de Programacin III

VII.GLOSARIO DE TERMINOS
RUP: El Proceso Racional Unificado o RUP es un proceso de desarrollo
de software desarrollado por la empresa Rational Software, actualmente
propiedad de IBM.

REQUERIMIENTOS: Peticin de una cosa que se considera necesaria,


especialmente el que hace una autoridad

UML: El lenguaje unificado de modelado es el lenguaje de modelado de


sistemas de software ms conocido y utilizado en la actualidad; est
respaldado por el Object Management Group.

COCOMO: es un modelo matemtico de base emprica utilizado para


estimacin de costos de software.

TRANSACCION: Trato o convenio por el cual dos partes llegan a un


acuerdo comercial, generalmente de compraventa.

Marco Aurelio Porro Chulli


64
Laboratorio de Programacin III

VIII. LINKOGRAFA

http://www.primshotel.com/servicios.html
http://primshoteles.blogspot.pe/

Marco Aurelio Porro Chulli


65
Laboratorio de Programacin III

IX. ANEXOS

Marco Aurelio Porro Chulli


66
Laboratorio de Programacin III

Marco Aurelio Porro Chulli


67

Das könnte Ihnen auch gefallen