Professional Documents
Culture Documents
Director:
Ingeniero Gustavo Herazo
____________________________
____________________________
____________________________
______________________________
Jurado
______________________________
Jurado
Bogot _____________________
(DD-MM-AAAA)
2
Dedicado a mis padres
Lucio y Rosa Elena por
su apoyo y dedicacin
en mi proceso formativo
3
AGRADECIMIENTOS
4
TABLA DE CONTENIDO
6
INTRODUCCIN
7
1. ASPECTOS DE LA INVESTIGACIN
Las exigencias del mercado y los nuevos modelos econmicos que nacen a
diario, exigen de las compaas prestadoras de servicios financiaros, la
utilizacin de varias clases de software hechos a la medida, dependiendo de
los tipos de crdito que ofrezcan, que les permitan un mejor manejo y
desempeo de los intereses a cobrar, as mismo, que permitan administrar
los pagos que se realizan de la deuda.
Entre las razones sociales que existen para la elaboracin de este proyecto,
se encuentran la importancia de suplir las necesidades de las empresas que
ofrecen crditos. Tambin brindar soluciones prcticas, confiables y
eficientes de un modelo novedoso que permitir gestionar y administrar los
recursos manejados a travs de crditos otorgados a los usuarios que los
soliciten.
Se busca crear el software con el fin de que las compaas que lo soliciten
puedan adquirirlo a bajos costos, ya que entre los pocos sistemas que se
encuentran en el mercado, los precios son elevados comparados con el que
se ofrece en este proyecto.
9
1.2.4 Razones organizacionales
1.3 DELIMITACIN
1.3.1 Espacial
1.3.2 Cronologa
10
para la entrega total del proyecto. Teniendo presente los entregables
peridicos al rea de investigacin.
1.3.3 Conceptual
1.3.4 Financiera
Para la realizacin del proyecto se contar con los siguientes recursos fsicos
y tecnolgicos:
Papelera $ 160.000
CDs $ 20.000
1.3.5 Metodolgica
11
modelan el software y facilitan la construccin de sistemas complejos a partir
de componentes.
Lenguaje: como todo lenguaje cuenta con una sintaxis y una semntica, por
lo tanto al realizar cualquier modelo es necesario conocer una serie de reglas
de cmo es el manejo de los elemento s en el lenguaje
Modelado: con l se modelan los aspectos del mundo real, los cuales
permiten la correcta interpretacin y entendimiento de este.
Patrn Modelo-Vista-Controlador
1.4 OBJETIVOS
1.4.1 General
1.4.2 Especficos
1.5 PROPSITO
14
en otro nicho de mercado, y que por supuesto tenga unos costos ms
elevados.
15
2. MARCO TERICO
2.1 ANTECEDENTES
2.1.1. Histricos
16
En la roma antigua los intereses no se encontraban regulados como en esta
poca, pero cabe resaltar que exista la banca comercial y los prstamos a
inters, y retomando lo primero en ocasiones el deudor y su familia
quedaban sumidos a la esclavitud, o estas deudas eran cobradas con la vida,
para satisfaccin personal del prestamista, al no tener el dinero de
reembolso. En nuestra poca este hecho es el que conocemos como usura y
hay leyes que amparan a las personas que son acreedores de un prstamo,
pero en la poca de la roma antigua era practicado de los nobles con los
plebeyos sin ningn tipo de ley que protegiera el plebeyo y si con todos los
derechos sobre el noble.
17
tomo control el gobierno sobre los prestamos y los intereses siendo la primer
potencia en el capitalismo.
2.1.2 Legales
Ley 45 de 1990
Ley 35 de 1993
[4] Por la cual se dictan normas generales y se sealan en ella los objetivos
y criterios a los cuales debe sujetarse el Gobierno Nacional para regular las
actividades financiera, burstil y aseguradora y cualquier otra relacionada
con el manejo, aprovechamiento e inversin de recursos captados del
pblico y se dictan otras disposiciones en materia financiera y aseguradora.
18
Ley 964 de 2005
[4] Por la cual se dictan normas generales y se sealan en ellas los objetivos
y criterios a los cuales debe sujetarse el Gobierno Nacional para regular las
actividades de manejo, aprovechamiento e inversin de recursos captados
del pblico que se efecten mediante valores y se dictan otras disposiciones.
2.1.3 Investigativos
20
[10] LoanSpread, es un software completo para el clculo de tasas de
intereses, se acerca bastante al presente proyecto, al tomar diversas tasas
por periodos, segn un valor indicado para el clculo de estos, maneja
diversas tasas de inters, tomando como base el valor de la tasa ingresada
al sistema, es una herramienta bastante completa en cuanto al clculo de
intereses, pero no administra los crditos que se realizan, ni lleva el control
de los pagos, est disponible solo en ingles, su uso es bastante sencillo, la
versin demo solo da la posibilidad de usarlo 10 veces, luego hay que
comprarlo, no tiene opcin de reportes, la informacin que se obtiene solo se
pude imprimir de forma plana, no tiene ningn tipo de seguridad anexa al
software, en la imagen se realizo un crdito de $ 5000000, tasa de inters de
8,75%, con calculo mensual y para pagos en 10 meses los cual arrojo la
cuota de 520270,59. Y muestra las tasas cercanas ascendente y
descendente, como los valores cercanos en mltiplos de mil, lo cual no es
muy til para la administracin solo para la simulacin de un crdito.
21
El proyecto que se est realizando tiene como propsito combinar las
funcionalidades de estos dos y generar las amortizaciones de crditos con
gran cantidad de opciones y la administracin de este a futuro y con pagos
completos de cuotas.
Son utilizados al gusto del solicitante o para suplir una necesidad, no tiene un
fin en comn, por lo general la cantidad de dinero no es muy alta debido a
que no siempre es para generar alguna rentabilidad.
23
2.2.2.4 Crditos hipotecarios
2.2.3 Inters
I=PF
24
En el desarrollo se aplica los intereses compuestos para realizar el clculo de
las cuotas de los crditos por medio de la siguiente formula.
S = P(1+in)
2.2.4 Amortizacin
2.2.5 Rentabilidad
Aplicacin
Documentacin del proceso de desarrollo
Manual del Usuario
Documentacin de la herramienta
Documentacin de las bases de datos
Estado del proyecto
Aspectos a mejorar
27
2.4 MARCO CONCEPTUAL
2.4.1 Enfoque
2.4.3 Servicios
2.4.4 Controles
29
3. DISEO METODOLGICO
3.2 ANLISIS
31
objetivo es mejorar la eficiencia a travs de la gestin sistemtica de los
procesos de negocio, que se deben modelar, automatizar, integrar,
monitorear y optimizar de forma contina.
Crear usuarios
Parametrizar
aplicacion
Asesor comercial
Registrar pago
Recibir solicitud
Informar
Consultar cuotas Reporte a cliente
documentacin
Cancelar crdito
SI
Pagar cuotas
Cliente
Aceptar credito
Solicitar crdito
NO
3.3 DISEO
33
Caso de uso anlisis y desarrollo de un sistema de informacin para le
calculo y la administracin de crditos a nivel financiero
34
Caso de Uso: parametrizar aplicacin.
Fecha: 20/03/2008
Descripcin:
Representa la parametrizacin que se debe realizar al modulo, antes de ser
usado por el asesor.
Actores:
Administrador.
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
Flujo Normal:
El administrador parametriza el sistema, segn la normalizacin y las
necesidades del modulo.
Flujo Alternativo:
El sistema realiza la validacin de la parametrizacin, con respecto a los
datos parametrizados.
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se puede continuar con el registro de clientes y el registro de los crditos.
35
Caso de Uso: Registrar usuarios
Fecha: 20/03/2008
Descripcin:
Representa el ingreso de usuarios al sistema, los cuales tienen, una
contrasea y un perfil de asesor o de administrador para interactuar con el
sistema.
Actores:
Administrador.
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
Flujo Normal:
El administrador ingresa los usuarios al sistema, segn las necesidades del
modulo y los campos a solicitar.
Flujo Alternativo:
El sistema realiza la validacin de con respecto a los usuarios ingresados y a
los usuarios que ya estn registrados en el sistema para no permitir
duplicidad.
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se puede continuar con el registro de clientes y el registro de los crditos.
36
Caso de Uso: Registrar cliente
Fecha: 20/03/2008
Descripcin:
Representa el ingreso de clientes al sistema. Con todos los datos necesarios
para la gestin del crdito e informacin necesaria de un cliente.
Actores:
Asesor comercial
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
Flujo Normal:
El asesor comercial ingresa los clientes al sistema, registrando todos los
campos solicitados por el modulo.
Flujo Alternativo:
El sistema realiza la validacin de los campos con respecto al tipo de dato
que se debe registrar.
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se puede continuar con el registro de los crditos y la simulacin.
37
Caso de Uso: Solicitar Crdito
Fecha: 20/03/2008
Descripcin:
El cliente solicita el crdito, segn las necesidades de este, especificando,
cantidad, numero de cuotas, fecha inicial de pago, tipo de pago, el asesor
comercial le informa las tasas de crdito, verifica disponibilidad e informa al
cliente los documentos necesarios para el crdito
Actores:
Cliente, asesor comercial
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
La aplicacin debe estar parametrizada
El cliente debe estar registrado en el sistema
Los documentos del tipo de crdito deben estar registrados en el sistema
Flujo Normal:
El asesor comercial ingresa los datos del crdito para su registro, el crdito
queda en estado registrado.
Flujo Alternativo:
El sistema realiza la validacin de los campos con respecto al tipo de dato
que se debe registrar al sistema.
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se realizar la simulacin y se cambia de estado el crdito.
38
Caso de Uso: Ejecutar simulacin
Fecha: 20/03/2008
Descripcin:
El asesor ejecuta la simulacin del crdito para informar al cliente las cuotas
del crdito y las fechas de pago
Actores:
Asesor comercial
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
El crdito debe estar registrado.
Flujo Normal:
El asesor comercial ejecuta la simulacin del crdito, si es necesario
especificar el valor de la cuota, la ingresa en el campo
Flujo Alternativo:
El sistema realiza la validacin de los campos con respecto al tipo de dato
que se debe registrar y la validacin de los datos necesarios para realizar la
simulacin.
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se realiza la consulta de las cuotas del crdito y la aprobacin o rechazo de
este.
39
Caso de Uso: Aprobar cancelar crdito
Fecha: 20/03/2008
Descripcin:
El asesor comercial realiza la aprobacin del crdito, cuando el cliente
entregue los documentos necesarios e informe del inters de tomar el
creidito
Actores:
Asesor comercial
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
El crdito debe estar registrado, simulado.
Flujo Normal:
El asesor comercial realiza el proceso de cabio de estado del crdito
cambiando de estado registrado a estado cancelado o aprobado
Flujo Alternativo:
El sistema realiza la validacin de los campos con respecto al tipo de dato
que se debe registrar.
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se realiza el proceso de registrar pago
40
Caso de Uso: Registrar pago
Fecha: 20/03/2008
Descripcin:
El cliente realiza el pago en la entidad bancaria o directamente del pago e
informa al asesor comercial del pago realizado, el asesor comercial ingresa al
formulario de registrar pago, selecciona el crdito y la cuota y registra el pago
ejecutando el proceso
Actores:
Asesor comercial, cliente
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
El crdito debe estar registrado, simulado y aprobado.
Flujo Normal:
El asesor comercial realiza el proceso de pago de la cuota segn la
informacin del pago por parte del cliente o la realizacin del pago en la
entidad.
Flujo Alternativo:
El sistema realiza la validacin de la cuota a pagar
Pos condiciones:
Los Datos han sido almacenados en el sistema
Se realiza el proceso del pago de cuotas siguientes.
41
Caso de uso parametrizar modulo
Fecha: 20/03/2008
Descripcin:
Muestra la parametrizacin necesaria antes de usar el modulo para generar
simulaciones de crditos, aprobacin de crditos y pago de cuotas. Es
necesario parametrizar los tipos de crdito y la disponibilidad de dinero por
cada crdito, las tasas de inters que se van a manejar y por ltimo todos los
documentos y la cantidad a solicitar para la aprobacin de los crditos.
Actores:
Administrador
Pre condiciones:
El sistema debe estar Instalado.
La conexin con la base de datos debe estar correctamente.
Flujo Normal:
42
El administrador parametriza los tipos de crditos.
El administrador parametriza las tasas a calcular.
El administrador parametriza los documentos a solicitar.
Flujo Alternativo:
El sistema debe ser parametrizado con anterioridad por el administrador,
para realizar una correcta simulacin del crdito.
Pos condiciones:
La parametrizacin queda registrada en el sistema.
43
Cado de uso solicitar credito
Solicitar crdito
informar tipo de
credito
uses
Solicitar valor
uses
verificar
disponibilidad
uses uses
Informar tipo de
pago
uses
Ejecutar simulacin
Fecha: 20/03/2008
Descripcin:
Muestra la solicitud del crdito, por parte del cliente y el registro del mismo
44
crdito por parte del asesor comercial, quien luego de recibir toda la
informacin necesaria para el crdito lo procesa para obtener la simulacin
de los valores y las fechas de la amortizacin del crdito solicitado.
Actores:
Asesor comercial, cliente.
Pre condiciones:
El sistema debe estar Parametrizado.
Flujo Normal:
El cliente solicita el crdito.
El asesor comercial ingresa al sistema la informacin del cliente y del crdito
que est solicitando.
Ejecuta la simulacin
Entrega al cliente la informacin de forma verbal y el reporte del crdito.
Flujo Alternativo:
El sistema debe ser parametrizado con anterioridad por el administrador,
para realizar una correcta simulacin del crdito.
La informacin debe estar completa, para la correcta simulacin del crdito
Pos condiciones:
La simulacin queda registrada en el sistema, para aprobar el crdito.
El cliente queda registrado en el sistema para futuros trmites.
45
Parametrizar tasas
46
Parametrizar requisitos
47
Parametrizar documentos
iddocumento
descripcin
Cantidad
BIngresarDocumento_Click_1()
Administrador registar_documentos()
setdocumentos()
documento
setdocumentos()
ejecutar()
abrirconexion()
cerrarconexion()
48
Parametrizar clientes
49
Registrar crditos
50
Parametrizar usuarios
51
Validacin de usuarios
usuario
password
BIngresar_Click_1()
upd_activoNO()
usuario
updateactivoNO()
ejecutar()
abrirconexion()
cerrarconexion()
validaringreso()
validaringreso()
getusuarioid()
Consultar
abrirconexion()
upd_activo()
updateactivo()
ejecutar()
abrirconexion()
1: Este procedimiento lo realiza en un maximo 3 veces de no ingresar los datos correctos validadando los datos con el objeto usuario cerrarconexion()
52
Simular crdito
El diagrama representa la simulacin del crdito dependiendo de las cuotas y las tasas.
53
Diagrama de Clases: Un diagrama de clases es un tipo de diagrama esttico que
describe la estructura de un sistema mostrando sus clases, atributos y las
relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso
de anlisis y diseo de los sistemas, donde se crea el diseo conceptual de la
informacin que se manejar en el sistema, y los componentes que se encargaran
del funcionamiento y la relacin entre uno y otro.
Parametrizar tasas
1
creditos
+tas : tasas
+tas_bd : tasas_bd
<<local>>
+registar_tasas()
+gettasa()
1 +gettasaid()
+del_tasas() frm_parametrizartasas
+udp_tasas() +cred
1 +cargando : Boolean
1
1 +llenardatagrid()
tasas_bd +llenarcombocox()
<<parametter>> +parametrizartasas_Load()
+conexion : conexion_bd +BEliminarTasa_Click()
+settasa() +BActualizar_Click()
+gettasa() +CActualizarTasa_SelectedIndexChanged()
+gettasaid() : tasas
+deltasa() 1
+updatetasa()
1
1
1
<<local>>
tasas
1 +idtasa : String
+descripcion : String
+valor : Double
conexion_bd
+fecha : Date
+con : Object +settasas()
+abrirconexion() +Getidtasa() : String
+cerraconexion() +Getdescripcion() : String
+ejecutar() +Getvalor() : Double
+consultar() +Getfecha() : Date
Parametrizar documentos
55
Parametriza requisitos
1
creditos
+req : requisitos
+req_bd : requisito_bd
<<local>> +registar_tipocredito()
+getrequisito()
1 +getrequisitosidcredito()
+getrequisitoid() frm_parametrizarrequisitos
+del_requisito() +cred
+udp_requisito() +cargando : Boolean
1
1 +llenardatagrid()
+llenarcombocox()
requisito_bd 1
+parametrizarrequisitos_Load()
+conexion : conexion_bd +BEliminarrequisitos_Click()
1 +BIngresarrequisito_Click()
+setrequisito()
+CActualizarrequisito_SelectedIndexChanged()
+getrequisito()
+BIngresarrequisitos()
+getrequisitoid() : requisitos
+delrequisito()
+updaterequisito()
1
1
<<local>>
requisitos
1 +idrequisito : String
+iddocumento : String
+idcredito : String
conexion_bd
+formalaboral : String
+con : Object +setrequisitos()
<<parametter>>
+abrirconexion() +Getiddocumento() : String
+cerraconexion() 1 +Getidcredito() : String
+ejecutar() +Getidrequisito() : String
+consultar() +getformalaboral() : String
56
Parametrizar tipo crdito
1
creditos
+tcr : tipocredito
+tcr_bd : tipocredito_bd
<<local>>
+registar_tipocredito()
+gettipocredito()
1 +gettipocreditoid() frm_parametrizartipocredito
+del_tipocredito()
+udp_tipocredito() +cred
1 +cargando : Boolean
1 +llenardatagrid()
1 +llenarcombocox()
tipocredito_bd +parametrizartipocredito_Load()
+conexion : conexion_bd +BEliminarrtipocredito_Click()
+BIngresartipocredito_Click()
+settipocredito() 1 +CActualizartipocredito_SelectedIndexChanged()
+gettipocredito()
+Bingresartipocredito()
+gettipocreditoid() : tipocredito
+deltipocredito()
+updatetipocredito()
1
1
<<local>>
tipocredito
1
+idcredito : String
+descripcion : String
conexion_bd +presupuesto : Double
+con : Object <<parametter>> +setrequisitos()
+abrirconexion()
1 +Getidcredito() : String
+cerraconexion() +Getdescripcion() : String
+ejecutar() +Getpresupuesto() : Double
+consultar()
57
Simular crdito e Ingresar cuotas
creditos
+cuo : cuotas
+cuo_bd : cuota_bd
-sim : simular credito
+registar_cuotas()
+getcuotas()
+getcuotas()
+getcuotasid()
+del_cuotas() frm_simulacion
1 +udp_cuotas()
+simularcredito() 1 +cred
+cargando : Boolean
cuota_bd +llenardatagrid()
1 +llenarcombocox()
+conexion : conexion_bd +parametrizarcuotas_Load()
+setcuotas() +BIngresarcuotas()
+getcuotas()
+getcuotaid() : cuotas
+delcuota()
+updatecuota()
1
<<parametter>> <<local>>
1
1
1
1 simular credito
1 +cuota : Integer
conexion_bd cuotas
+dias : Integer
+con : Object +idcredito : String +diasdate : Integer
+pago : String +capital : Double
+abrirconexion()
+capital : Double +interesperiodo : Double
+cerraconexion()
+interes : Double +intreres : Double
+ejecutar()
+valcuota : Double +valcuota : Double
+consultar()
+saldo : Double +saldo : Double
+mora : Double +mora : Double
1 -fecha : Date -fechapago : Date
+setcuota() +simualrcredito()
+Getidcredito() : String
+Getpago() : String
<<parametter>> 1
+Getcapital() : Double
1
+GetValcuota() : Double
+Getsaldo() : Double
+Getmora() : Double
+Getfecha() : Date
1
1
tasas
tasas_bd
+idtasa : String
+conexion : conexion_bd
1 <<local>> +descripcion : String
+settasa() +valor : Double
+gettasa() +fecha : Date
+gettasaid() : tasas +settasas()
+deltasa() +Getidtasa() : String
+updatetasa() +Getdescripcion() : String
+Getvalor() : Double
+Getfecha() : Date
58
Parametrizar clientes
1
creditos
+cli : clientes
+cli_bd : cliente_bd
<<local>> +registar_clientes()
+getclientes()
1 +getclientes()
+getclientesid() frm_parametrizarclientes
+del_clientes() +cred
1 +udp_clientes() +cargando : Boolean
1 +llenardatagrid()
+llenarcombocox()
cliente_bd 1 +parametrizarclientes_Load()
+conexion : conexion_bd +BIngresarclientes()
+BActualizarclientes()
+setcliente()
+BEliminarclientes()
+getcliente()
+CActualizarcliente_SelectedValueChanged()
+getclienteid() : clientes
+delcliente()
+updatecliente() 1
<<local>>
1
1
clientes
conexion_bd
+idcliente : String
+con : Object +nombrebusqueda : String
+abrirconexion() +primernombre : String
+cerraconexion() +segundonombre : String
+ejecutar() +primerapellido : String
+consultar() +segundoapellido : String
+direccion : String
+telefono : String
<<parametter>>
+movil : String
+fax : String
+email : String
1 +vehiculo : String
+vivienda : String
+profesion : String
+formalaboral : String
+fechanacimiento : Date
+setcliente()
+Getidcliente() : String
+Getnombrebusqueda() : String
+getprimerapellido() : String
+getsegundoapellido() : String
+getprimernombre() : String
+getsegundonombre() : String
+getdireccion() : String
+gettelefono() : String
+getmovil() : String
+getfax() : String
+getemail() : String
+getvehiculo() : String
+getvivienda() : String
+getprofesion() : String
+getformalaboral() : String
+Getfechanacimiento() : Date
59
Registrar Crditos
1
creditos
+rcr : registrocredito
+rcr_bd : registrocredito_bd
<<local>>
+registrocredito()
+getregistrocredito()
1
+getregistrocreditoid() frm_registrocredito
+del_registrocredito()
+udp_registrocredito() +cred
1 +cargando : Boolean
1 +llenardatagrid()
1 +llenarcombocox()
registrocredito_bd +registrocredito_Load()
+conexion : conexion_bd +Bregistrocredito()
+BActualizarregistrocredito()
+setregistrocredito()
+BEliminarregistrocredito()
+getregistrocredito()
+Cregistrocredito_SelectedValueChanged()
+getregistrocreditoid() : registrocredito 1
+delregistrocredito() 1
+updateregistrocredito()
registrocredito
1 +idcredito : String
+cliente : String
+nombre : String
<<local>> +tasa : String
+estado : String
1 <<parametter>>
+tipocredito : String
+periodo : String
conexion_bd +formapago : String
+valorsolicitado : Integer
+con : Object
+valoraprobado : Integer
+abrirconexion() +numerocuotas : Integer
+cerraconexion() +fechainicial : Date
+ejecutar() +fechafinal : Date
+consultar() +fechapresupuesto : Date
+tea : Double
+setregistrarcredito()
+Getidcredito() : String
1 +Getformapago() : String
+Getcliente() : String
+getnombre() : String
+gettasa() : String
+getperiodo() : String
+gettipocredito() : String
+getestado() : String
+Gettea() : Double
+Getvalorsolicitado() : Integer
+Getvaloraprobado() : Integer
+getnumerocuotas() : Integer
+Getfechafinal() : Date
+Getfechainicial() : Date
+Getfechapresupuesto() : Date
60
Diagrama de clases Usuarios
frm_principal
+cred : creditos
+ClientesToolStripMenuItem_Click()
+ExamenesToolStripMenuItem_Click()
+SoliToolStripMenuItem_Click()
+ExamenesClienteToolStripMenuItem_Click() frm_Ingreso
+ConsultarExamenesPorPacienteToolStripMenuItem_Click() 1
+cred : creditos
+RechazarAprobarSolicitudToolStripMenuItem_Click() +ingresar : Boolean
+UsuariosToolStripMenuItem_Click() -contador : Integer
+principal_FormClosed()
+BIngreso_Click()
+ResultadosExamenesToolStripMenuItem_Click()
+ConsultarSolicitudesToolStripMenuItem_Click()
1 1
1
creditos
+usr : usuarios
+usrbd : usuarios_bd
1 +registar_usuarios()
<<local>>
+getusuarios()
+getusuairoactivo()
1 1 +getusuarioid()
+del_clientes() frm_usuario
+udpactivo()
+udpactivono() +cre : creditos
1 +cargando : Boolean
usuarios_bd +llenardatagrid()
+conexion : conexion_bd 1 +llenarcombocox()
+usuarios_Load()
+setusuario()
+BIngresarusuario()
+getusuario() 1 +BEliminarclientes()
+getusuarioid() : usuarios
+delusuario()
+updateactivo() <<parametter>>
+updateactivoNO()
+getusuarioactivo() 1
<<local>> 1 usuarios
+usuario : String
+nombre : String
1 +apellido : String
+Identificacion : String
1 +password : String
conexion_bd +perfil : String
+con : Object +setusuario()
+abrirconexion() +Getusuario() : String
+cerraconexion() +Getnombre() : String
+ejecutar() +getapellido() : String
+consultar() +getidentificacion() : String
+getpassword() : String
+getperfil() : String
61
Diagramas de colaboracin: Esencialmente es un diagrama que muestra
interacciones organizadas alrededor de los roles. A diferencia de los diagramas de
secuencia, los diagramas de colaboracin muestran explcitamente las relaciones
de los roles. Por otra parte, un diagrama de colaboracin no muestra el tiempo
como una dimensin aparte, por lo que resulta necesario etiquetar con nmeros
de secuencia tanto la secuencia de mensajes como los hilos concurrentes.
Muestra cmo las instancias especficas de las clases trabajan juntas para
conseguir un objetivo comn.
62
Diagrama de colaboracin simulacin del crdito
form simulacion
c ion
ula
sim
1.
simulacion
4 .3
.s
etc
uo
tas
as
ot
tcu
s e
2.
4.
cuotas cuotasbd
63
Diagrama de colaboracin ingreso usuarios
2 .2
.g
3.1. e
et
us
u
jec
ar
ioi
utar
d(
)
64
3.3.2 Diseo lgico
clientes registrocredito
PK idcliente PK,FK1 idcredito tasas
tipocreditos
PK,FK1 idcredito
descripcion
presupuesto
FK2 idrequisito
cuotas
usuarios
idcredito
requisitos PK usuario
documentos cuota
PK idrequisito password fechapago
PK iddocumento perfil capital
FK1 iddocumento activo interes
descripcion formalaboral nombre valcuota
cantidad idcredito apellido saldo
identificacion mora
pago
Entidades
Tipos de crdito
tipocreditos
PK,FK1 idcredito
descripcion
presupuesto
FK2 idrequisito
65
Clientes
Registro crdito
registrocredito
PK,FK1 idcredito
cliente
nombrebusqueda
valorsolicitado
valoraprobado
fechapresupuesto
fechainicial
fechafinal
tipocredito
numerocuotas
periodo
tea
tasa
estado
formapago
66
Cuotas
Tasas
Documentos
Requisitos
67
Usuarios
usuarios
PK usuario
password
perfil
activo
nombre
apellido
identificacion
Clientes
Cuotas
Documentos
Registrocredito
Requisitos
69
Tasas
Tipocreditos
Usuarios
70
4. ANLISIS DE RESULTADOS Y CONCLUSIONES
71
ello se denominan pruebas funcionales, y el encargado de las pruebas se limita a
suministrarle datos como entrada y estudiar la salida, sin preocuparse de lo que
pueda estar haciendo el mdulo por dentro.
Objetivo: Verificar que cada una de las funciones cumpla con el propsito para el
cual fueron diseados.
PRUEBAS SI NO
72
4.2.2 Pruebas modulares
MEN APLICACIN
PRUEBAS SI NO
73
El siguiente pantallazo muestra la funcionalidad de los mens y los submens los
cuales son de fcil acceso al usuario y divididos segn la funcionalidad a solicitar,
anexo a los submens estn un cuadro de botones que tienen un texto de ayuda
para saber a qu funcionalidad se est accediendo al hacer clic en el botn
74
de las variables y etiquetas que se muevan en la aplicacin. As mismo denota la
inclusin de manuales y dems soportes escritos que ayuden a la interpretacin
del conocimiento del software. Los nombres de las variables deben ser
significativos, dentro de la accin que ejecuta dentro del proceso del caso de uso
que se est generando.
PRUEBAS SI NO
PRUEBAS SI NO
75
PRUEBAS SI NO
Existe portabilidad X
El cdigo es reutilizable X
Existe integridad X
Es fcil de utilizar X
Objetivos
76
Material revisado
Formulario principal
Men configuracin
Men de consultar
77
Men registro
Men reportes
78
Parametrizar documentos
79
Parametrizar requisitos
Parametrizar clientes
80
Registrar crditos
Ejecutar simulacin
81
Consultar cuotas
82
5. CONCLUSIONES
83
proyecto, con estos modelos se puede dar continuidad al proyecto sin necesidad
que el desarrollador sea la misma persona, sino que puede llegar una persona
nueva que teniendo los modelos como base podr seguir con el trabajo realizado.
Las herramientas de trabajo Visual Basic .NET 2005 y SQL server 2005 Express,
se interrelacionan y complementan bien en el desarrollo de proyectos de software,
generando confianza en el proceso de construccin, existe buena documentacin
con respecto a ambas en Internet y por parte de Microsoft, son de fcil uso y
manejo, el reporte de errores y al documentacin de ellos es bastante buena y
hace que el trabajo del desarrollador sea gil al encontrar solucin rpida y
oportuna a los inconvenientes que se puedan presentar.
84
6 RECOMENDACIONES
Gestionar con una entidad bancaria, los pagos a este banco y que el banco
los reporte a travs de archivos planos, los cuales puedan ser ingresados al
sistema y que el sistema actualice los pagos.
85
BIBLIOGRAFA
87
ANEXOS
88
Cdigo fuente
Cliente
Public Class cliente
Dim idcliente, nombrebusqueda, primernombre, segundonombre,
primerapellido, segundoapellido, direccion, telefono, movil, fax, email,
vehiculo, vivienda, profesion, formalaboral As String
Dim fechanacimiento As Date
Public Sub setcliente(ByVal idc As String, ByVal nom As String, ByVal
prn As String, ByVal segn As String, ByVal pra As String, ByVal sega As
String, ByVal dir As String, ByVal tel As String, ByVal mov As String,
ByVal fax As String, ByVal ema As String, ByVal veh As String, ByVal viv
As String, ByVal pro As String, ByVal fla As String, ByVal fec As Date)
idcliente = idc
nombrebusqueda = nom
primernombre = prn
segundonombre = segn
primerapellido = pra
segundoapellido = sega
direccion = dir
telefono = tel
movil = mov
fax = fax
email = ema
vehiculo = veh
vivienda = viv
profesion = pro
formalaboral = fla
fechanacimiento = fec
End Sub
Public Function Getidcliente() As String
Getidcliente = idcliente
End Function
Public Function Getnombrebusqueda() As String
Getnombrebusqueda = nombrebusqueda
End Function
Public Function getprimerapellido() As String
getprimerapellido = primerapellido
End Function
Public Function getsegundoapellido() As String
getsegundoapellido = segundoapellido
End Function
Public Function getprimernombre() As String
getprimernombre = primernombre
End Function
Public Function getsegundonombre() As String
getsegundonombre = segundonombre
End Function
Public Function getdireccion() As String
getdireccion = direccion
End Function
Public Function gettelefono() As String
gettelefono = telefono
End Function
89
Public Function getmovil() As String
getmovil = movil
End Function
Public Function getfax() As String
getfax = fax
End Function
Public Function getemail() As String
getemail = email
End Function
Public Function getvehiculo() As String
getvehiculo = vehiculo
End Function
Public Function getvivienda() As String
getvivienda = vivienda
End Function
Public Function getprofesion() As String
getprofesion = profesion
End Function
Public Function getformalaboral() As String
getformalaboral = formalaboral
End Function
Public Function Getfechanacimiento() As Date
Getfechanacimiento = fechanacimiento
End Function
End Class
Clientebd
Public Class cliente_bd
Dim conexion As New conexion_bd
Public Sub setrcliente(ByVal cli As cliente)
Dim insert_sql As String
Dim tfec, feci As String
Try
If (cli.Getidcliente = "") Then
Throw New Exception("Debe ingresar el id del cliente")
End If
If (cli.getprimerapellido = "") Then
Throw New Exception("Debe ingresar el primer apellido del
cliente")
End If
If (cli.getprimernombre = "") Then
Throw New Exception("Debe ingresar el primer nombre del
cliente")
End If
tfec = cli.Getfechanacimiento.Date.ToString()
feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)
insert_sql = "insert into clientes(idcliente, nombrebusqueda,
primernombre, segundonombre, primerapellido, segundoapellido, direccion,
telefono, movil, fax, email, vehiculo, vivienda, profesion,
formalaboral,fechanacimiento) values('"
insert_sql = insert_sql & cli.Getidcliente & "','" &
cli.Getnombrebusqueda & "','" & cli.getprimernombre & "','" &
cli.getsegundonombre & "','" & cli.getprimerapellido & "','" &
90
cli.getsegundoapellido & "','" & cli.getdireccion & "','" &
cli.gettelefono & "','" & cli.getmovil & "','" & cli.getfax & "','" &
cli.getemail & "','" & cli.getvehiculo & "','" & cli.getvivienda & "','"
& cli.getprofesion & "','" & cli.getformalaboral & "','" & feci & "')"
conexion.ejecutar(insert_sql)
MessageBox.Show("El cliente ha sido ingresado")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function getcliente() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from clientes"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function getclienteid(ByVal idc As String) As cliente
Dim objalma As New DataSet()
Dim cl As New cliente
Dim select_sql As String
Try
select_sql = "select * from clientes where idcliente = '" &
idc & "'"
objalma = conexion.consultar(select_sql)
cl.setcliente(objalma.Tables("tabla").Rows(0).Item("idcliente"),
objalma.Tables("tabla").Rows(0).Item("nombrebusqueda"),
objalma.Tables("tabla").Rows(0).Item("primernombre"),
objalma.Tables("tabla").Rows(0).Item("segundonombre"),
objalma.Tables("tabla").Rows(0).Item("primerapellido"),
objalma.Tables("tabla").Rows(0).Item("segundoapellido"),
objalma.Tables("tabla").Rows(0).Item("direccion"),
objalma.Tables("tabla").Rows(0).Item("telefono"),
objalma.Tables("tabla").Rows(0).Item("movil"),
objalma.Tables("tabla").Rows(0).Item("fax"),
objalma.Tables("tabla").Rows(0).Item("email"),
objalma.Tables("tabla").Rows(0).Item("vehiculo"),
objalma.Tables("tabla").Rows(0).Item("vivienda"),
objalma.Tables("tabla").Rows(0).Item("profesion"),
objalma.Tables("tabla").Rows(0).Item("formalaboral"),
objalma.Tables("tabla").Rows(0).Item("fechanacimiento"))
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return cl
End Function
Public Sub delcliente(ByVal idc As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
Try
91
delete_sql = "delete from clientes where idcliente = '" & idc
& "'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Sub updatecliente(ByVal cli As cliente)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Dim tfec, feci As String
Try
If (cli.Getidcliente = "") Then
Throw New Exception("Debe ingresar el id del cliente")
End If
If (cli.getprimerapellido = "") Then
Throw New Exception("Debe ingresar el primer apellido del
cliente")
End If
If (cli.getprimernombre = "") Then
Throw New Exception("Debe ingresar el primer nombre del
cliente")
End If
tfec = cli.Getfechanacimiento.Date.ToString()
feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)
update_sql = "update clientes set idcliente = '" &
cli.Getidcliente & "',nombrebusqueda = '" & cli.Getnombrebusqueda &
"',primernombre = '" & cli.getprimernombre & "',primerapellido = '" &
cli.getprimerapellido & "',segundoapellido = '" & cli.getsegundoapellido
& "',direccion = '" & cli.getdireccion & "',telefono = '" &
cli.gettelefono & "',movil = '" & cli.getmovil & "',fax = '" & cli.getfax
& "',email = '" & cli.getemail & "',vehiculo = '" & cli.getvehiculo &
"',vivienda = '" & cli.getvivienda & "',profesion = '" & cli.getprofesion
& "',fechanacimiento = '" & feci & "',formalaboral = '" &
cli.getformalaboral & "' where idcliente = '" & cli.Getidcliente & "'"
conexion.ejecutar(update_sql)
MessageBox.Show("El cliente ha sido actualizado")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
End Class
Cuota
Public Class cuota
Dim idcredito, pago As String
Dim cuota As Integer
Dim capital, interes, valcuota, saldo, mora As Double
Dim fechapago As Date
92
Public Sub setcuotas(ByVal idc As String, ByVal pag As String, ByVal
cuo As Integer, ByVal cap As Double, ByVal int As Double, ByVal vcuo As
Double, ByVal sal As Double, ByVal fec As Date)
idcredito = idc
pago = pag
cuota = cuo
capital = cap
interes = int
saldo = sal
valcuota = vcuo
fechapago = fec
End Sub
Public Function Getidcredito() As String
Getidcredito = idcredito
End Function
Public Function Getcuota() As Integer
Getcuota = cuota
End Function
Public Function getpago() As String
getpago = pago
End Function
Public Function getsaldo() As Double
getsaldo = saldo
End Function
Public Function Getcapital() As Double
Getcapital = capital
End Function
Public Function getinteres() As Double
getinteres = interes
End Function
Public Function Getvalcuota() As Double
Getvalcuota = valcuota
End Function
Public Function Getfechapago() As Date
Getfechapago = fechapago
End Function
End Class
Cuotabd
Public Class cuotas_bd
Dim conexion As New conexion_bd
Public Sub setcuota(ByVal cuo As cuota)
Dim insert_sql As String
Dim tfec, feci As String
Try
tfec = cuo.Getfechapago.Date.ToString()
feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)
insert_sql = "insert into
cuotas(idcredito,cuota,fechapago,capital,interes,valcuota,saldo,pago)
values('" & cuo.Getidcredito & "'," & cuo.Getcuota & ",'" & feci & "'," &
cuo.Getcapital & "," & cuo.getinteres & "," & cuo.Getvalcuota & "," &
cuo.getsaldo & ",'" & cuo.getpago & "')"
conexion.ejecutar(insert_sql)
93
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function getcuotas() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from cuotas"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function getcuotascredito(ByVal idc As String) As DataSet
Dim objalma As New DataSet()
Dim select_sql As String
Try
select_sql = "select * from cuotas where idcredito = '" & idc
& "'"
objalma = conexion.consultar(select_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return objalma
End Function
Public Function getcuotascreditoSinpago(ByVal idc As String) As
DataSet
Dim objalma As New DataSet()
Dim select_sql As String
Try
select_sql = "select * from cuotas where idcredito = '" & idc
& "' AND pago = 'NO'"
objalma = conexion.consultar(select_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return objalma
End Function
Public Sub delcredito(ByVal idc As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
Try
delete_sql = "delete from cuotas where idcredito = '" & idc &
"'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Sub pagarcuota(ByVal id As String, ByVal cuo As Integer)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
94
Try
update_sql = "update cuotas set pago = 'SI' where idcredito =
'" & id & "'and cuota = " & cuo
conexion.ejecutar(update_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
End Class
documentos
Public Class documentos
Dim iddocumento, descripcion As String
Dim cantidad As Integer
Documentosbd
Public Class documentos_bd
Dim conexion As New conexion_bd
Public Sub setdocumento(ByVal doc As documentos)
Dim insert_sql As String
Try
If (doc.Getiddocumento = "") Then
Throw New Exception("Debe ingresar el id del documento")
End If
If (doc.Getcantidad >= 0) Then
Throw New Exception("Debe ingresar la cantidad de
documentos a solicitar")
End If
insert_sql = "insert into
documentos(iddocumento,descripcion,cantidad) values('" &
doc.Getiddocumento & "','" & doc.Getdescripcion & "'," & doc.Getcantidad
& ")"
conexion.ejecutar(insert_sql)
95
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function getdocumentos() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from documentos"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function getdocumentosid(ByVal idd As String) As documentos
Dim objalma As New DataSet()
Dim docu As New documentos
Dim select_sql As String
Try
select_sql = "select * from documentos where iddocumento = '"
& idd & "'"
objalma = conexion.consultar(select_sql)
docu.setdocumentos(objalma.Tables("tabla").Rows(0).Item("iddocumento"),
objalma.Tables("tabla").Rows(0).Item("descripcion"),
objalma.Tables("tabla").Rows(0).Item("cantidad"))
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return docu
End Function
Public Sub updatedocumentos(ByVal doc As documentos)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Try
If (doc.Getiddocumento = "") Then
Throw New Exception("Debe ingresar el id del documento")
End If
If (doc.Getcantidad = 0) Then
Throw New Exception("Debe ingresar la cantidad de
documentos a solicitar")
End If
update_sql = "update documentos set iddocumento = '" &
doc.Getiddocumento & "',descripcion = '" & doc.Getdescripcion &
"',cantidad = " & doc.Getcantidad & "where iddocumento = '" &
doc.Getiddocumento & "'"
conexion.ejecutar(update_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
96
Dim delete_sql As String
Try
delete_sql = "delete from documentos where iddocumento = '" &
idd & "'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
End Class
Registrocredito
Public Class registrocredito
Dim idcredito, cliente, nombre, tasa, estado, tipocredito, periodo,
formapago As String
Dim valorsolicitado, valoraprobado, numerocuotas As Integer
Dim tea As Double
Dim fechainicial, fechafinal, fechapresupuesto As Date
Public Sub setregitrocredito(ByVal idc As String, ByVal cli As
String, ByVal nom As String, ByVal tas As String, ByVal est As String,
ByVal tcr As String, ByVal per As String, ByVal vap As Integer, ByVal vso
As Integer, ByVal ncu As Integer, ByVal te As Double, ByVal fin As Date,
ByVal ffi As Date, ByVal fpr As Date, ByVal fpa As String)
formapago = fpa
idcredito = idc
cliente = cli
nombre = nom
tasa = tas
estado = est
tipocredito = tcr
periodo = per
valorsolicitado = vso
valoraprobado = vap
numerocuotas = ncu
tea = te
fechainicial = fin
fechafinal = ffi
fechapresupuesto = fpr
End Sub
Public Function Getformapago() As String
Getformapago = formapago
End Function
Public Function Getidcredito() As String
Getidcredito = idcredito
End Function
Public Function Getcliente() As String
Getcliente = cliente
End Function
Public Function getnombre() As String
getnombre = nombre
End Function
Public Function gettasa() As String
97
gettasa = tasa
End Function
Public Function getperiodo() As String
getperiodo = periodo
End Function
Public Function gettipocredito() As String
gettipocredito = tipocredito
End Function
Public Function getestado() As String
getestado = estado
End Function
Public Function Gettea() As Double
Gettea = tea
End Function
Public Function getvalorsolicitado() As Integer
getvalorsolicitado = valorsolicitado
End Function
Public Function getvaloraprobado() As Integer
getvaloraprobado = valoraprobado
End Function
Public Function Getnumerocuotas() As Integer
Getnumerocuotas = numerocuotas
End Function
Public Function Getfechafinal() As Date
Getfechafinal = fechafinal
End Function
Public Function Getfechainicial() As Date
Getfechainicial = fechainicial
End Function
Public Function Getfechapresupuesto() As Date
Getfechapresupuesto = fechapresupuesto
End Function
End Class
Registrocredito_bd
Public Class registrocredito_bd
Dim conexion As New conexion_bd
Public Sub setregistrocredito(ByVal rcr As registrocredito)
Dim insert_sql As String
Dim tfecini, fecini, tfecfin, fecfin, tfecpr, fecpr As String
Try
If (rcr.Getidcredito = "") Then
Throw New Exception("Debe ingresar el identificador del
credito")
End If
If (rcr.getperiodo = "") Then
Throw New Exception("Debe selecionar un periodo de pago")
End If
If (rcr.Getformapago = "") Then
Throw New Exception("Debe seleccionar una forma de pago")
End If
tfecini = rcr.Getfechainicial.Date.ToString()
98
fecini = Mid(tfecini, 7, 4) & Mid(tfecini, 4, 2) &
Mid(tfecini, 1, 2)
tfecfin = rcr.Getfechafinal.Date.ToString()
fecfin = Mid(tfecfin, 7, 4) & Mid(tfecfin, 4, 2) &
Mid(tfecfin, 1, 2)
tfecpr = rcr.Getfechapresupuesto.Date.ToString()
fecpr = Mid(tfecpr, 7, 4) & Mid(tfecpr, 4, 2) & Mid(tfecpr,
1, 2)
insert_sql = "insert into registrocredito(idcredito, cliente,
nombrebusqueda, tasa, estado, tipocredito, periodo,valorsolicitado,
valoraprobado, numerocuotas,tea,fechainicial, fechafinal,
fechapresupuesto,formapago) values('"
insert_sql = insert_sql & rcr.Getidcredito & "','" &
rcr.Getcliente & "','" & rcr.getnombre & "','" & rcr.gettasa & "','" &
rcr.getestado & "','" & rcr.gettipocredito & "','" & rcr.getperiodo &
"'," & rcr.getvalorsolicitado & "," & rcr.getvaloraprobado & "," &
rcr.Getnumerocuotas & "," & rcr.Gettea & ",'" & fecini & "','" & fecfin &
"','" & fecpr & "','" & rcr.Getformapago & "')"
conexion.ejecutar(insert_sql)
MessageBox.Show("El crdito ha sido cread")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function getregistrocredito() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from registrocredito"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function getregistrocreditoid(ByVal idc As String) As
registrocredito
Dim objalma As New DataSet()
Dim rcre As New registrocredito
Dim select_sql As String
Try
select_sql = "select * from registrocredito where idcredito =
'" & idc & "'"
objalma = conexion.consultar(select_sql)
rcre.setregitrocredito(objalma.Tables("tabla").Rows(0).Item("idcredito"),
objalma.Tables("tabla").Rows(0).Item("cliente"),
objalma.Tables("tabla").Rows(0).Item("nombrebusqueda"),
objalma.Tables("tabla").Rows(0).Item("tasa"),
objalma.Tables("tabla").Rows(0).Item("estado"),
objalma.Tables("tabla").Rows(0).Item("tipocredito"),
objalma.Tables("tabla").Rows(0).Item("periodo"),
objalma.Tables("tabla").Rows(0).Item("valoraprobado"),
objalma.Tables("tabla").Rows(0).Item("valorsolicitado"),
objalma.Tables("tabla").Rows(0).Item("numerocuotas"),
objalma.Tables("tabla").Rows(0).Item("tea"),
objalma.Tables("tabla").Rows(0).Item("fechainicial"),
99
objalma.Tables("tabla").Rows(0).Item("fechafinal"),
objalma.Tables("tabla").Rows(0).Item("fechapresupuesto"),
objalma.Tables("tabla").Rows(0).Item("formapago"))
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return rcre
End Function
Public Sub delcredito(ByVal idc As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
Try
delete_sql = "delete from registrocredito where idcredito =
'" & idc & "'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Sub cambiarestado(ByVal id As String, ByVal est As String)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Try
If (est = "") Then
Throw New Exception("Debe selecionar un estado")
End If
update_sql = "update registrocredito set estado = '" & est &
"' where idcredito = '" & id & "'"
conexion.ejecutar(update_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
If (ex.Message = "1") Then
End If
conexion.cerraconexion()
End Try
End Sub
Public Sub cambiarfechafinalpago(ByVal id As String, ByVal fec As
Date)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Dim tfec, feci As String
Try
tfec = fec
feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)
update_sql = "update registrocredito set fechafinal = '" &
feci & "' where idcredito = '" & id & "'"
conexion.ejecutar(update_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
100
End Class
Requisitos
Public Class requisitos
Dim iddocumento, formalaboral, idcredito, idrequisito As String
Public Sub setdrequisitos(ByVal idr As String, ByVal idd As String,
ByVal forl As String, ByVal idc As String)
iddocumento = idd
formalaboral = forl
idcredito = idc
idrequisito = idr
End Sub
Public Function getidrequisito() As String
getidrequisito = idrequisito
End Function
Public Function Getiddocumento() As String
Getiddocumento = iddocumento
End Function
Public Function Getformalaboral() As String
Getformalaboral = formalaboral
End Function
Public Function Getidcredito() As String
Getidcredito = idcredito
End Function
End Class
requisitosbd
Public Class requisitos_bd
Dim conexion As New conexion_bd
Public Sub setrequisitos(ByVal req As requisitos)
Dim insert_sql As String
Try
If (req.getidrequisito = "") Then
Throw New Exception("Debe ingresar el identificador del
requisito")
End If
insert_sql = "insert into
requisitos(idrequisito,iddocumento,formalaboral,idcredito) values('" &
req.getidrequisito & "','" & req.Getiddocumento & "','" &
req.Getformalaboral & "','" & req.Getidcredito & "')"
conexion.ejecutar(insert_sql)
MessageBox.Show("El requisito ha sido cread")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function getrequisitos() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from requisitos"
101
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function getrequisitosid(ByVal idr As String) As requisitos
Dim objalma As New DataSet()
Dim req As New requisitos
Dim select_sql As String
Try
select_sql = "select * from requisitos where idrequisito = '"
& idr & "'"
objalma = conexion.consultar(select_sql)
req.setdrequisitos(objalma.Tables("tabla").Rows(0).Item("idrequisito"),
objalma.Tables("tabla").Rows(0).Item("iddocumento"),
objalma.Tables("tabla").Rows(0).Item("formalaboral"),
objalma.Tables("tabla").Rows(0).Item("idcredito"))
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return req
End Function
Public Function getrequisitosidcredito(ByVal idc As String) As
DataSet
Dim objalma As New DataSet()
Dim docu As New documentos
Dim select_sql As String
Try
select_sql = "select * from requisitos where idcredito = '" &
idc & "'"
objalma = conexion.consultar(select_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return objalma
End Function
Public Sub delrequisitos(ByVal idr As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
Try
delete_sql = "delete from requisitos where idrequisito = '" &
idr & "'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Sub updaterequisito(ByVal req As requisitos)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Try
If (req.getidrequisito = "") Then
102
Throw New Exception("Debe ingresar el identificador del
requisito")
End If
update_sql = "update requisitos set idrequisito = '" &
req.getidrequisito & "',idcredito = '" & req.Getidcredito &
"',iddocumento = '" & req.Getiddocumento & "',formalaboral = '" &
req.Getformalaboral & "' where idrequisito = '" & req.getidrequisito &
"'"
conexion.ejecutar(update_sql)
MessageBox.Show("El requisito ha sido actualizad")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
End Class
Tasas
Public Class tasas
Dim idtasa, descripcion As String
Dim valor As Double
Dim fecha As Date
Public Sub settasas(ByVal idt As String, ByVal des As String, ByVal
val As Double, ByVal fec As Date)
idtasa = idt
descripcion = des
valor = val
fecha = fec
End Sub
Public Function Getidtasa() As String
Getidtasa = idtasa
End Function
Public Function Getdescripcion() As String
Getdescripcion = descripcion
End Function
Public Function Getvalor() As Double
Getvalor = valor
End Function
Public Function Getfecha() As Date
Getfecha = fecha
End Function
End Class
Tasasbd
Public Class tasa_bd
Dim conexion As New conexion_bd
Public Sub settasa(ByVal tas As tasas)
Dim insert_sql As String
Dim tfec, feci As String
Try
If (tas.Getidtasa = "") Then
103
Throw New Exception("Debe ingresar el identificador de la
tasa")
End If
tfec = tas.Getfecha.Date.ToString()
feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)
insert_sql = "insert into
tasas(idtasa,descripcion,fecha,valor) values('" & tas.Getidtasa & "','" &
tas.Getdescripcion & "','" & feci & "'," & tas.Getvalor & ")"
conexion.ejecutar(insert_sql)
MessageBox.Show("la tasa de inters ha sido cread")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function gettasa() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from tasas"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function gettasaid(ByVal idt As String) As tasas
Dim objalma As New DataSet
Dim tasa As New tasas
Dim select_sql As String
Try
select_sql = "select * from tasas where idtasa = '" & idt &
"'"
objalma = conexion.consultar(select_sql)
tasa.settasas(objalma.Tables("tabla").Rows(0).Item("idtasa"),
objalma.Tables("tabla").Rows(0).Item("descripcion"),
objalma.Tables("tabla").Rows(0).Item("valor"),
objalma.Tables("tabla").Rows(0).Item("fecha"))
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return tasa
End Function
Public Sub deltasa(ByVal idt As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
Try
delete_sql = "delete from tasas where idtasa = '" & idt & "'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Sub updatetasa(ByVal tas as tasas)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
104
Dim tfec, feci As String
Try
If (tas.Getidtasa = "") Then
Throw New Exception("Debe ingresar el identificador de la
tasa")
End If
If (tas.Getvalor > 100) Then
Throw New Exception("Debe valor de la tasa no puede
superar el 100%")
End If
If (tas.Getvalor < 0) Then
Throw New Exception("Debe valor de la tasa no puede ser
menor a 0 (CERO)")
End If
tfec = tas.Getfecha.Date.ToString()
feci = Mid(tfec, 7, 4) & Mid(tfec, 4, 2) & Mid(tfec, 1, 2)
update_sql = "update tasas set idtasa = '" & tas.Getidtasa &
"',descripcion = '" & tas.Getdescripcion & "',valor = " & tas.Getvalor &
",fecha = '" & feci & "' where idtasa = '" & tas.Getidtasa & "'"
conexion.ejecutar(update_sql)
MessageBox.Show("la tasa de inters ha sido actualizad")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
End Class
Tipocredito
Public Class tipocredito
Dim idcredito, descripcion As String
Dim presupuesto As Double
Public Sub settipocredito(ByVal idc As String, ByVal des As String,
ByVal pre As Double)
idcredito = idc
descripcion = des
presupuesto = pre
End Sub
Public Function Getidtipocredito() As String
Getidtipocredito = idcredito
End Function
Public Function Getdescripcion() As String
Getdescripcion = descripcion
End Function
Public Function Getpresupuesto() As Double
Getpresupuesto = presupuesto
End Function
End Class
Tipocreditobd
Public Class tipocredito_bd
105
Dim conexion As New conexion_bd
Public Sub settipocredito(ByVal tcre As tipocredito)
Dim insert_sql As String
Try
If (tcre.Getidtipocredito = "") Then
Throw New Exception("Debe ingresar el id del tipo de
credito")
End If
insert_sql = "insert into
tipocreditos(idcredito,descripcion,presupuesto) values('" &
tcre.Getidtipocredito & "','" & tcre.Getdescripcion & "'," &
tcre.Getpresupuesto & ")"
conexion.ejecutar(insert_sql)
MessageBox.Show("El tipo de crdito ha sido cread")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Public Function gettipocredito() As DataSet
Dim objalma As DataSet
Dim select_sql As String
select_sql = "select * from tipocreditos"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function gettipocreditoid(ByVal idc As String) As tipocredito
Dim objalma As New DataSet
Dim tcre As New tipocredito
Dim select_sql As String
Try
select_sql = "select * from tipocreditos where idcredito = '"
& idc & "'"
objalma = conexion.consultar(select_sql)
tcre.settipocredito(objalma.Tables("tabla").Rows(0).Item("idcredito"),
objalma.Tables("tabla").Rows(0).Item("descripcion"),
objalma.Tables("tabla").Rows(0).Item("presupuesto"))
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Return tcre
End Function
Public Sub deltipocredito(ByVal idc As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
Try
delete_sql = "delete from tipocreditos where idcredito = '"
& idc & "'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Public Sub updattipocredito(ByVal cre As tipocredito)
106
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Try
If (cre.Getidtipocredito = "") Then
Throw New Exception("Debe ingresar el id del tipo de
credito")
End If
update_sql = "update tipocreditos set idcredito = '" &
cre.Getidtipocredito & "',descripcion = '" & cre.Getdescripcion &
"',presupuesto = " & cre.Getpresupuesto & " where idcredito = '" &
cre.Getidtipocredito & "'"
conexion.ejecutar(update_sql)
MessageBox.Show("El tipo de crdito ha sido actualizad")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Sub updatepresupuesto(ByVal cre As tipocredito, ByVal val As
Double)
Dim objconexion As New OleDb.OleDbCommand
Dim update_sql As String
Try
If (cre.Getidtipocredito = "") Then
Throw New Exception("Debe ingresar el id del tipo de
credito")
End If
update_sql = "update tipocreditos set presupuesto = " & val &
" where idcredito = '" & cre.Getidtipocredito & "'"
conexion.ejecutar(update_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
End Class
Usuario
Public Class usuario
Dim usuario, password, perfil, activo, nombre, apellido,
identificacion As String
usuariobd
Public Class usuario_bd
Dim conexion As New conexion_bd
Public Sub setrusuario(ByVal usr As usuario)
Dim insert_sql As String
Try
If (usr.Getusuario = "") Then
Throw New Exception("Debe ingresar el usuario")
End If
If (usr.getpassword = "") Then
Throw New Exception("Debe ingresar la contrasea")
End If
If (usr.getperfil = "") Then
Throw New Exception("Debe seleccionar un perfil")
End If
insert_sql = "insert into usuarios(usuario, password, perfil,
activo, nombre, apellido, identificacion) values('" & usr.Getusuario &
"','" & usr.getpassword & "','" & usr.getperfil & "','" & usr.getactivo &
"','" & usr.getnombre & "','" & usr.getapellido & "','" &
usr.getidentificacion & "')"
conexion.ejecutar(insert_sql)
MessageBox.Show("El usuario ha sido cread")
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
Public Function getusuario() As DataSet
Dim objalma As DataSet
Dim select_sql As String
108
select_sql = "select * from usuarios"
objalma = conexion.consultar(select_sql)
Return objalma
End Function
Public Function getusuarioid(ByVal idc As String) As usuario
Dim objalma As New DataSet()
Dim cl As New usuario
Dim select_sql As String
Try
select_sql = "select * from usuarios where usuario = '" & idc
& "'"
objalma = conexion.consultar(select_sql)
cl.setusuario(objalma.Tables("tabla").Rows(0).Item("usuario"),
objalma.Tables("tabla").Rows(0).Item("password"),
objalma.Tables("tabla").Rows(0).Item("perfil"),
objalma.Tables("tabla").Rows(0).Item("activo"),
objalma.Tables("tabla").Rows(0).Item("nombre"),
objalma.Tables("tabla").Rows(0).Item("apellido"),
objalma.Tables("tabla").Rows(0).Item("identificacion"))
Catch ex As Exception
If StrComp(cl.Getusuario, "", CompareMethod.Binary) = 0 Then
MessageBox.Show("El usuario no existe")
Else
MessageBox.Show(ex.Message)
End If
conexion.cerraconexion()
End Try
Return cl
End Function
Public Function getusuarioactivo() As usuario
Dim objalma As New DataSet()
Dim cl As New usuario
Dim select_sql As String
Try
select_sql = "select * from usuarios where activo = 'SI'"
objalma = conexion.consultar(select_sql)
cl.setusuario(objalma.Tables("tabla").Rows(0).Item("usuario"),
objalma.Tables("tabla").Rows(0).Item("password"),
objalma.Tables("tabla").Rows(0).Item("perfil"),
objalma.Tables("tabla").Rows(0).Item("activo"),
objalma.Tables("tabla").Rows(0).Item("nombre"),
objalma.Tables("tabla").Rows(0).Item("apellido"),
objalma.Tables("tabla").Rows(0).Item("identificacion"))
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
Return cl
End Function
Public Sub delusuario(ByVal idc As String)
Dim objconexion As New OleDb.OleDbCommand
Dim delete_sql As String
109
Try
delete_sql = "delete from usuarios where usuario = '" & idc &
"'"
conexion.ejecutar(delete_sql)
Catch ex As Exception
MessageBox.Show(ex.Message)
conexion.cerraconexion()
End Try
End Sub
110
conexion.cerraconexion()
End Try
End Sub
Public Function validaringreso(ByVal usr As String, ByVal pas As
String) As Boolean
Dim usrin As New usuario
usrin = Me.getusuarioid(usr)
If StrComp(usrin.Getusuario, "", CompareMethod.Binary) = 0 Then
validaringreso = False
Else
If StrComp(usrin.getpassword, pas, CompareMethod.Binary) = 0
Then
validaringreso = True
Me.updateactivo(usrin.Getusuario)
Else
MessageBox.Show("El usuario o la contrasea son
incorrectos")
validaringreso = False
End If
End If
End Function
End Class
Simularcredito
Public Class simularcredito
Dim cuota, dias, diasdate As Integer
Dim capital, tmpinteres, interesperiodo, interes, valcuota, saldo,
mora As Double
Dim fechapago As Date
Dim cuo As New cuota
Dim cuobd As New cuotas_bd
Dim sig As Boolean = True
Dim valortotal As Double
Dim ncuotas As Double
Dim valint As Double
112
interes = valint
capital = cre.getvaloraprobado / cre.Getnumerocuotas
For cuota = 1 To cre.Getnumerocuotas
interes = interes / 2
saldo = saldo - capital - interes
If (cuota = cre.Getnumerocuotas) Then
interes = tmpinteres
saldo = 0
End If
cuo.setcuotas(cre.Getidcredito, "NO", cuota,
capital, interes, capital + interes, saldo, fechapago)
fechapago = DateAdd(DateInterval.Day, diasdate,
fechapago)
cuobd.setcuota(cuo)
tmpinteres = interes
Next
Else
interesperiodo = 1 + ((((cre.Gettea + tas.Getvalor) /
100) / 12) / dias) * cre.Getnumerocuotas
valortotal = cre.getvaloraprobado * interesperiodo
valint = valortotal - cre.getvaloraprobado
saldo = valortotal
For cuota = 1 To cre.Getnumerocuotas
interes = valint / cre.Getnumerocuotas
valcuota = valortotal / cre.Getnumerocuotas
capital = valcuota - interes
saldo = saldo - capital
If (cuota = cre.Getnumerocuotas) Then
saldo = 0
End If
cuo.setcuotas(cre.Getidcredito, "NO", cuota,
capital, interes, valcuota, saldo, fechapago)
fechapago = DateAdd(DateInterval.Day, diasdate,
fechapago)
cuobd.setcuota(cuo)
Next
End If
End If
regbd.cambiarfechafinalpago(cre.Getidcredito, fechapago)
MessageBox.Show("La simulacin a sido ejecutada, puede
observar las cuotas")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
Creditos (controladora)
Public Class creditos
Dim tas As New tasas
Dim tasbd As New tasa_bd
Dim doc As New documentos
Dim docbd As New documentos_bd
113
Dim tcre As New tipocredito
Dim tcrebd As New tipocredito_bd
Dim req As New requisitos
Dim reqbd As New requisitos_bd
Dim cta As New cuota
Dim cuobd As New cuotas_bd
Dim rcr As New registrocredito
Dim rcrbd As New registrocredito_bd
Dim cli As New cliente
Dim clibd As New cliente_bd
Dim sim As New simularcredito
Dim usr As New usuario
Dim usrbd As New usuario_bd
'usuarios
Public Function validaringreso(ByVal usr As String, ByVal pwd As
String) As Boolean
validaringreso = usrbd.validaringreso(usr, pwd)
End Function
Public Sub registar_usuarios(ByVal usua As String, ByVal pwd As
String, ByVal per As String, ByVal act As String, ByVal nom As String,
ByVal ape As String, ByVal iden As String)
usr.setusuario(usua, pwd, per, act, nom, ape, iden)
usrbd.setrusuario(usr)
End Sub
Public Function getusuario() As DataSet
Dim dt As DataSet
dt = usrbd.getusuario()
getusuario = dt
End Function
Public Function getusuarioid(ByVal id As String) As usuario
Dim us As usuario
us = usrbd.getusuarioid(id)
getusuarioid = us
End Function
Public Function getusuarioactivo() As usuario
Dim us As usuario
us = usrbd.getusuarioactivo()
getusuarioactivo = us
End Function
Public Sub del_usuario(ByVal id As String)
usrbd.delusuario(id)
End Sub
Public Sub udp_activo(ByVal idc As String)
usrbd.updateactivo(idc)
End Sub
Public Sub udp_activoNO()
usrbd.updateactivoNO()
End Sub
Public Sub cambiarpassword(ByVal pas As String, ByVal npas As String,
ByVal cpas As String)
Dim us As usuario
us = Me.getusuarioactivo()
usrbd.updatepassword(us, pas, npas, cpas)
End Sub
114
'simulacion
Public Sub simulacion(ByVal icr As String, ByVal cuota As Double)
sim.simularcredito(Me.getregistrocreditoid(icr), cuota)
End Sub
'clientes
Public Sub registar_cliente(ByVal idc As String, ByVal nom As String,
ByVal prn As String, ByVal segn As String, ByVal pra As String, ByVal
sega As String, ByVal dir As String, ByVal tel As String, ByVal mov As
String, ByVal fax As String, ByVal ema As String, ByVal veh As String,
ByVal viv As String, ByVal pro As String, ByVal fla As String, ByVal fec
As Date)
cli.setcliente(idc, nom, prn, segn, pra, sega, dir, tel, mov,
fax, ema, veh, viv, pro, fla, fec)
clibd.setrcliente(cli)
End Sub
Public Function getcliente() As DataSet
Dim dt As DataSet
dt = clibd.getcliente()
getcliente = dt
End Function
Public Function getclienteid(ByVal id As String) As cliente
Dim cl As cliente
cl = clibd.getclienteid(id)
getclienteid = cl
End Function
Public Sub del_cliente(ByVal id As String)
clibd.delcliente(id)
End Sub
Public Sub udp_cliente(ByVal idc As String, ByVal nom As String,
ByVal prn As String, ByVal segn As String, ByVal pra As String, ByVal
sega As String, ByVal dir As String, ByVal tel As String, ByVal mov As
String, ByVal fax As String, ByVal ema As String, ByVal veh As String,
ByVal viv As String, ByVal pro As String, ByVal fla As String, ByVal fec
As Date)
cli.setcliente(idc, nom, prn, segn, pra, sega, dir, tel, mov,
fax, ema, veh, viv, pro, fla, fec)
clibd.updatecliente(cli)
End Sub
'registrarcredito
Public Sub registar_credito(ByVal idc As String, ByVal cli As String,
ByVal nom As String, ByVal tas As String, ByVal est As String, ByVal tcr
As String, ByVal per As String, ByVal vap As Integer, ByVal vso As
Integer, ByVal ncu As Integer, ByVal tea As Double, ByVal fin As Date,
ByVal ffi As Date, ByVal fpr As Date, ByVal fpa As String)
rcr.setregitrocredito(idc, cli, nom, tas, est, tcr, per, vap,
vso, ncu, tea, fin, ffi, fpr, fpa)
rcrbd.setregistrocredito(rcr)
End Sub
Public Function getregistrocredito() As DataSet
Dim dt As DataSet
dt = rcrbd.getregistrocredito()
getregistrocredito = dt
End Function
115
Public Function getregistrocreditoid(ByVal id As String) As
registrocredito
Dim rc As registrocredito
rc = rcrbd.getregistrocreditoid(id)
getregistrocreditoid = rc
End Function
Public Sub del_registrocredito(ByVal id As String)
rcrbd.delcredito(id)
End Sub
Public Sub cambiarestado(ByVal id As String, ByVal est As String)
rcrbd.cambiarestado(id, est)
End Sub
'cuotas
Public Sub registar_cuotas(ByVal idc As String, ByVal pag As String,
ByVal cuo As Integer, ByVal cap As Double, ByVal int As Double, ByVal
vcuo As Double, ByVal sal As Double, ByVal fec As Date)
cta.setcuotas(idc, pag, cuo, cap, int, vcuo, sal, fec)
cuobd.setcuota(cta)
End Sub
Public Function getcuotas() As DataSet
Dim dt As DataSet
dt = cuobd.getcuotas()
getcuotas = dt
End Function
Public Function getcuotasid(ByVal id As String) As DataSet
Dim dt As DataSet
dt = cuobd.getcuotascredito(id)
getcuotasid = dt
End Function
116
Public Function getrequisitoscredito(ByVal id As String) As DataSet
Dim dt As DataSet
dt = reqbd.getrequisitosidcredito(id)
getrequisitoscredito = dt
End Function
Public Function getrequisitosid(ByVal id As String) As requisitos
Dim rq As requisitos
rq = reqbd.getrequisitosid(id)
getrequisitosid = rq
End Function
Public Sub del_requisitos(ByVal id As String)
reqbd.delrequisitos(id)
End Sub
Public Sub udp_requisitos(ByVal idr As String, ByVal idd As String,
ByVal forl As String, ByVal idc As String)
req.setdrequisitos(idr, idd, forl, idc)
reqbd.updaterequisito(req)
End Sub
'Tasas
Public Sub registar_tasas(ByVal idt As String, ByVal des As String,
ByVal val As Double, ByVal fec As Date)
tas.settasas(idt, des, val, fec)
tasbd.settasa(tas)
End Sub
Public Function gettasa() As DataSet
Dim dt As DataSet
dt = tasbd.gettasa()
gettasa = dt
End Function
Public Function gettasaid(ByVal id As String) As tasas
Dim ts As tasas
ts = tasbd.gettasaid(id)
gettasaid = ts
End Function
Public Sub del_tasas(ByVal id As String)
tasbd.deltasa(id)
End Sub
Public Sub udp_tasas(ByVal idt As String, ByVal des As String, ByVal
val As Double, ByVal fec As Date)
tas.settasas(idt, des, val, fec)
tasbd.updatetasa(tas)
End Sub
'Documentos
Public Sub registrar_documentos(ByVal iddoc As String, ByVal des As
String, ByVal cant As Integer)
doc.setdocumentos(iddoc, des, cant)
docbd.setdocumento(doc)
End Sub
Public Function getdocumento() As DataSet
Dim dt As DataSet
dt = docbd.getdocumentos()
getdocumento = dt
End Function
Public Function getdocumentoid(ByVal id As String) As documentos
117
Dim dc As documentos
dc = docbd.getdocumentosid(id)
getdocumentoid = dc
End Function
Public Sub del_documento(ByVal id As String)
docbd.deldocumentos(id)
End Sub
Public Sub udp_documento(ByVal idd As String, ByVal des As String,
ByVal can As Integer)
doc.setdocumentos(idd, des, can)
docbd.updatedocumentos(doc)
End Sub
'tipos de credito
Public Sub registrar_tipo_credito(ByVal idcre As String, ByVal des As
String, ByVal pre As Double)
tcre.settipocredito(idcre, des, pre)
tcrebd.settipocredito(tcre)
End Sub
Public Function gettipocredito() As DataSet
Dim dt As DataSet
dt = tcrebd.gettipocredito()
gettipocredito = dt
End Function
Public Function gettipocreditoid(ByVal id As String) As tipocredito
Dim tc As tipocredito
tc = tcrebd.gettipocreditoid(id)
gettipocreditoid = tc
End Function
Public Sub del_tipocredito(ByVal id As String)
tcrebd.deltipocredito(id)
End Sub
Public Sub udp_tipocredito(ByVal idc As String, ByVal des As String,
ByVal val As Double)
tcre.settipocredito(idc, des, val)
tcrebd.updattipocredito(tcre)
End Sub
End Class
118
Base de datos
USE [creditos]
GO
/****** Objeto: Table [dbo].[documentos] Fecha de la secuencia de
comandos: 05/28/2008 22:01:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[documentos](
[iddocumento] [char](10) NOT NULL,
[descripcion] [text] NULL,
[cantidad] [int] NOT NULL,
CONSTRAINT [PK_documentos] PRIMARY KEY CLUSTERED
(
[iddocumento] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[tipocreditos] Fecha de la secuencia de
comandos: 05/28/2008 22:02:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tipocreditos](
[idcredito] [char](10) NOT NULL,
[descripcion] [text] NULL,
[presupuesto] [int] NOT NULL,
CONSTRAINT [PK_tipocreditos] PRIMARY KEY CLUSTERED
(
[idcredito] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[requisitos] Fecha de la secuencia de
comandos: 05/28/2008 22:01:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
119
GO
CREATE TABLE [dbo].[requisitos](
[idrequisito] [char](10) NOT NULL,
[iddocumento] [char](10) NULL,
[formalaboral] [text] NULL,
[idcredito] [char](10) NULL,
CONSTRAINT [PK_requisitos] PRIMARY KEY CLUSTERED
(
[idrequisito] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[clientes] Fecha de la secuencia de
comandos: 05/28/2008 22:01:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[clientes](
[idcliente] [char](10) NOT NULL,
[nombrebusqueda] [text] NULL,
[primernombre] [text] NOT NULL,
[segundonombre] [text] NULL,
[primerapellido] [text] NOT NULL,
[segundoapellido] [text] NULL,
[Direccion] [text] NOT NULL,
[telefono] [text] NOT NULL,
[movil] [text] NULL,
[fax] [text] NULL,
[email] [text] NULL,
[vehiculo] [text] NULL,
[vivienda] [text] NULL,
[profesion] [text] NULL,
[fechanacimiento] [datetime] NULL,
[formalaboral] [text] NULL,
CONSTRAINT [PK__clientes__0519C6AF] PRIMARY KEY CLUSTERED
(
[idcliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[cuotas] Fecha de la secuencia de
comandos: 05/28/2008 22:01:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
120
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[cuotas](
[idcredito] [char](10) NULL,
[cuota] [int] NULL,
[fechapago] [datetime] NULL,
[capital] [numeric](18, 2) NULL,
[interes] [numeric](18, 2) NULL,
[valcuota] [numeric](18, 2) NULL,
[saldo] [numeric](18, 2) NULL,
[pago] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[usuarios] Fecha de la secuencia de
comandos: 05/28/2008 22:02:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[usuarios](
[usuario] [char](10) NOT NULL,
[password] [text] NULL,
[perfil] [text] NULL,
[activo] [char](10) NULL,
[nombre] [text] NULL,
[apellido] [text] NULL,
[identificacion] [text] NULL,
CONSTRAINT [PK_usuarios] PRIMARY KEY CLUSTERED
(
[usuario] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[registrocredito] Fecha de la secuencia
de comandos: 05/28/2008 22:01:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[registrocredito](
[idcredito] [char](10) NOT NULL,
[cliente] [char](10) NOT NULL,
[nombrebusqueda] [text] NULL,
[valorsolicitado] [int] NULL,
121
[valoraprobado] [int] NULL,
[fechapresupuesto] [datetime] NULL,
[fechainicial] [datetime] NULL,
[fechafinal] [datetime] NULL,
[tipocredito] [text] NULL,
[numerocuotas] [int] NULL,
[periodo] [text] NULL,
[tea] [float] NULL,
[tasa] [text] NULL,
[estado] [text] NULL,
[formapago] [text] NULL,
CONSTRAINT [FK_registrocredito_1] PRIMARY KEY CLUSTERED
(
[idcredito] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: Table [dbo].[tasas] Fecha de la secuencia de
comandos: 05/28/2008 22:01:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tasas](
[idtasa] [char](10) NOT NULL,
[descripcion] [text] NULL,
[fecha] [datetime] NULL,
[valor] [float] NOT NULL,
PRIMARY KEY CLUSTERED
(
[idtasa] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Objeto: ForeignKey [FK_clientes_clientes] Fecha de la
secuencia de comandos: 05/28/2008 22:01:39 ******/
ALTER TABLE [dbo].[clientes] WITH CHECK ADD CONSTRAINT
[FK_clientes_clientes] FOREIGN KEY([idcliente])
REFERENCES [dbo].[clientes] ([idcliente])
GO
ALTER TABLE [dbo].[clientes] CHECK CONSTRAINT [FK_clientes_clientes]
GO
122