https://github.com/ozzies-code/cuentasahorro
Este proyecto consiste en una aplicacion que gestiona procesos y movimientos bancarios de un cliente a partir de la creacion de una cuenta y el manejo de sus movimientos bancarios
https://github.com/ozzies-code/cuentasahorro
collections events listbox-control message-box
Last synced: about 2 months ago
JSON representation
Este proyecto consiste en una aplicacion que gestiona procesos y movimientos bancarios de un cliente a partir de la creacion de una cuenta y el manejo de sus movimientos bancarios
- Host: GitHub
- URL: https://github.com/ozzies-code/cuentasahorro
- Owner: ozzies-code
- Created: 2025-01-22T00:11:00.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-22T00:23:32.000Z (4 months ago)
- Last Synced: 2025-02-07T09:19:10.069Z (3 months ago)
- Topics: collections, events, listbox-control, message-box
- Language: Visual Basic .NET
- Homepage: https://github.com/ozzies-code/CuentasAhorro/
- Size: 55.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Title: CuentasAhorro
Este proyecto consiste en una aplicacion que gestiona procesos
y movimientos bancarios de un cliente a partir de la creacion
de una cuenta y el manejo de sus movimientos bancarios.# Descripcion
Este proyecto consiste en el desarrollo de una aplicacion que lleva
a cabo una serie de moviimientos a traves de una plataforma
bancaria para gestionar la informacion del cliente desde la apertura
de la cuenta, la consulta del saldo disponible, el ingreso de dinero,
el retiro de dinero y los movimientos son observados en detalle
a traves de dos objetos ListBox donde se aprecia el manejo de las tran
sacciones del cliente tanto para ingreso de dinero como retiro de
dinero.
# Actualizacion: 21/01/2025
# Hora: 20:17Detalles técnicos del proyecto:
Idioma: Visual Basic.NET
Versión del framework: 4.7.2## Autores
- [@ozzies-code](https://www.github.com/ozzies-code)
## Contribuciones
¡Las contribuciones son siempre bienvenidas!
Consulta `contributing.md` para conocer cómo comenzar.
Por favor, respeta el `código de conducta` de este proyecto.
## Despliegue
Para implementar este proyecto, descargue los archivos del proyecto
del repositorio y el código del proyecto que se encuentra
en el archivo README.md## 🚀 Acerca de Mi
Soy un apasionado desarrollador fullstack de Venezuela 🇻🇪 y Países Bajos 🇳🇱🔭 Actualmente estoy trabajando en .NET Framework
🔭 Actualmente estoy trabajando en desarrollo web
🔭 Actualmente estoy trabajando en proyectos de .Console
🔭 Actualmente estoy trabajando en bases de datos .SQL
🌱 Actualmente estoy aprendiendo sobre frameworks, cursos, tutoriales y libros electrónicos
💬 Pregúntame sobre desarrollo de software
📫 Cómo contactarme [email protected]
👨💻 Todos mis proyectos están disponibles en https://developerandtechnologyozziescode.blogspot.com/ (mi sitio web)
📝 Escribo artículos regularmente en Medium.com/Ozzies.Code
## 🔗 Links
[]( https://developerandtechnologyozziescode.blogspot.com)
[](www.linkedin.com/in/oswaldo-jesús-marín-pagés-ab4499a4)
[](https://twitter.com/ozzies_code)## Lecciones Aprendidas
- Manejo de listas y groupbox
- eventos
- manejo del Message Box
- manejo de InputBox Box
- Manejo de Listas como
colecciones de objetos## image of the Project

## Soporte
Para soporte, email [email protected]
## Pila de tecnología
**Plataforma:** Visual studio 2022
**Lenguaje:** Visual Basic.NET
Codigo del Proyecto:
Public Class Form1
'Se llama al banco con el numero de sucursal y el nombre del banco
Private banco As New Banco(1, "XYZ")
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'la Propiedad Text en el formulario usara la propiedad Nombre_Banco para mostrar el nombre del banco
Me.Text = banco.Nombre_Banco
End SubPrivate Sub btnIngresarDinero_Click(sender As Object, e As EventArgs) Handles btnIngresardinero.Click
'Se utiliza un Try Catch para capturar cualquier excepción que se pueda presentar
'en el momento de ingresar el número de cuenta y el valor a ingresar
'Si se presenta una excepción se muestra un mensaje de error
'Si no se presenta ninguna excepción se ingresa el dinero a la cuenta de ahorros
'Todo ocurre a traves de un InputBox para capturar la informacion necesaria
'Tambien se emplea el metodo Integer.Parse para convertir el valor ingresado a un enteroTry
Dim numeroCuenta As Integer = Integer.Parse(InputBox("Ingrese el número de cuenta", "Ingresa Dinero", "", 500, 200))Dim valorIngresar As Integer = Double.Parse(InputBox("Ingrese el valor a Ingresar", "Ingresa Dinero", "", 500, 200))
banco.ingresarDineroCuenta(numeroCuenta, valorIngresar)
Catch ex As Exception
MsgBox("Ha ocurrido un error, se ha ingresado un valor incorrecto")
End TryEnd Sub
'Limpia las cajas de texto
Public Sub limpiarCajas()txtNombres.Clear()
txtNumId.Clear()
txtDireccion.Clear()
txtTelefono.Clear()
txtSaldoInicial.Clear()End Sub
Private Sub btnCrearCuenta_Click(sender As Object, e As EventArgs) Handles btnCrearCuenta.Click
'valida que los campos del formulario no esten vacios
If txtNombres.Text <> "" And txtNumId.Text <> "" And txtDireccion.Text <> "" And txtTelefono.Text <> "" And txtSaldoInicial.Text <> "" Then
'Crea un nuevo cliente con los datos ingresados en el formulario
Dim cte As New Cliente(txtNombres.Text, txtNumId.Text, txtDireccion.Text, txtTelefono.Text)
'Convierte el saldo inicial a un valor numerico
Dim saldoInicial As Double = Double.Parse(txtSaldoInicial.Text)
'Crea una cuenta de ahorros con el cliente y el saldo inicial
banco.crearCuentaAhorro(cte, saldoInicial)
'Limpia las cajas de texto
limpiarCajas()Else
'Muestra un mensaje de error si faltan datos en el formulario
MsgBox("No se pudo crear la cuenta de ahorros, porque faltaron datos en el formulario")
End IfEnd Sub
Private Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles btnNuevo.Click
'Limpia las cajas de texto para manejar un nuevo registro
limpiarCajas()End Sub
Private Sub btnRetirarDinero_Click(sender As Object, e As EventArgs) Handles btnRetirardinero.Click
'Se utiliza un Try Catch para capturar cualquier excepción que se pueda presentar
'en el momento de ingresar el número de cuenta y el valor a retirar
'Si se presenta una excepción se muestra un mensaje de error
'Si no se presenta ninguna excepción se retira el dinero a la cuenta de ahorros
'Todo ocurre a traves de un InputBox para capturar la informacion necesaria
'Tambien se emplea el metodo Integer.Parse para convertir el valor ingresado a un enteroTry
Dim numeroCuenta As Integer = Integer.Parse(InputBox("Ingrese el número de cuenta", "Retira Dinero", "", 500, 200))Dim valorRetirar As Integer = Double.Parse(InputBox("Ingrese el valor a Retirar", "Retira Dinero", "", 500, 200))
banco.retirarDineroCuenta(numeroCuenta, valorRetirar)
Catch ex As Exception
MsgBox("Ha ocurrido un error, se ha ingresado un valor incorrecto")
End TryEnd Sub
Private Sub btnVerSaldo_Click(sender As Object, e As EventArgs) Handles btnVerSaldo.Click
'Se utiliza un Try Catch para capturar cualquier excepción que se pueda presentar
'en el momento de ingresar el número de cuenta del cliente para consultar su saldo
'Si se presenta una excepción se muestra un mensaje de error
'Si no se presenta ninguna excepción se muestra el dinero que hay en la cuenta de ahorros
'Todo ocurre a traves de un InputBox para capturar la informacion necesaria
'Tambien se emplea el metodo Integer.Parse para convertir el valor ingresado a un enteroTry
Dim numeroCuenta As Integer = Integer.Parse(InputBox("Ingrese el número de cuenta", "Ver Saldo", "", 500, 200))MsgBox("Saldo Disponible $" & banco.getSaldoCuenta(numeroCuenta))
Catch ex As Exception
MsgBox("Ha ocurrido un error, se ha ingresado un valor incorrecto")
End TryEnd Sub
Private Sub btnVerTransacciones_Click(sender As Object, e As EventArgs) Handles btnVerdetalletransacciones.Click
'Se utiliza un Try Catch para capturar cualquier excepción que se pueda presentar
'en el momento de ingresar el número de cuenta del cliente para consultar sus transacciones
'Se obtiene el indice de la cuenta de ahorros que contiene el historial de ingresos del cliente
'La informacion se agrega a la lista liIngresos a traves del metodo Add
'Para retiros es el mismo procedimiento y la informacion se muestra en la lista liRetiros
'Si se presenta una excepción se muestra un mensaje de error
Try
Dim numeroCuenta As Integer = Integer.Parse(InputBox("Ingrese el número de cuenta", "Ver Historial", "", 500, 200))Dim ingresosCuenta As List(Of String) = banco.getCuentaAhorro(numeroCuenta).ListaHistorialIngresos
For i = 0 To ingresosCuenta.Count - 1 Step 1
liIngresos.Items.Add(ingresosCuenta.Item(i))
NextDim retirosCuenta As List(Of String) = banco.getCuentaAhorro(numeroCuenta).ListaHistorialRetiros
For i = 0 To retirosCuenta.Count - 1 Step 1
liRetiros.Items.Add(retirosCuenta.Item(i))
Next
Catch ex As Exception
MsgBox("Ha ocurrido un error, se ha ingresado un valor incorrecto")
End TryEnd Sub
Public Class Cliente
'Atributos de la Clase Cliente
Private nombre As String
Private numIdentificacion As String
Private direccion As String
Private telefono As String'Constructor por defecto
Public Sub New()End Sub
Public Sub New(ByVal nom As String, ByVal numId As String, ByVal dire As String, ByVal tel As String)
nombre = nom
numIdentificacion = numId
direccion = dire
telefono = telEnd Sub
Public Property NombreCliente As String
Get
Return nombre
End Get
Set(ByVal value As String)
nombre = value
End Set
End PropertyPublic Property NumIdCliente As String
Get
Return numIdentificacion
End Get
Set(ByVal value As String)
numIdentificacion = value
End Set
End PropertyPublic Property DireccionCliente As String
Get
Return direccion
End Get
Set(ByVal value As String)
direccion = value
End Set
End PropertyPublic Property TelefonoCliente As String
Get
Return telefono
End Get
Set(ByVal value As String)
telefono = value
End Set
End PropertyEnd Class
Public Class Banco
'Atributos de la Clase Banco
Private numSucursal As Integer
Private nombreBanco As String
Private cuentasAhorros As List(Of CuentaAhorro)'Constructor de la Clase Banco
Public Sub New(ByVal numS As Integer, ByVal nomBanco As String)
numSucursal = numS
nombreBanco = nomBanco
cuentasAhorros = New List(Of CuentaAhorro)End Sub
Public ReadOnly Property NumeroSucursal As Integer
'Propiedad de Solo Lectura para el metodo Get
Get
Return numSucursal
End Get
End PropertyPublic ReadOnly Property Nombre_Banco As String
'Propiedad de Solo Lectura para el metodo Get
Get
Return nombreBanco
End Get
End Property'Metodo para crear una cuenta de ahorros, pero antes verifica que el cliente no tenga una cuenta de ahorros ya creada
Public Sub crearCuentaAhorro(ByVal cte As Cliente, ByVal saldoInicial As Double)
Dim existe As Boolean = False
'Verifica que el cliente no tenga una cuenta de ahorros ya creada
For i = 0 To cuentasAhorros.Count - 1 Step 1Dim clienteLista As Cliente = cuentasAhorros.Item(i).ClienteCuentaAhorros
If clienteLista.NumIdCliente.Equals(cte.NumIdCliente) Then
existe = True
Exit For
End If
NextIf existe = False Then
Dim cuentaAhorros As New CuentaAhorro(cte, saldoInicial)
cuentasAhorros.Add(cuentaAhorros)
MsgBox("Cuenta de Ahorros creada Correctamente")
End If
End Sub'Método que permite obtener el indice del objeto CuentaAhorro, de acuerdo al número de cuenta pasado por parámetro
Public Function getIndiceCuenta(ByVal numCuenta) As IntegerDim indice As Integer = -1
'Busca el indice del numCuenta pasado por parámetro en el atributo lista de la clase Banco
For i = 0 To cuentasAhorros.Count - 1 Step 1Dim cuentaLista As CuentaAhorro = cuentasAhorros.Item(i)
If cuentaLista.NumCuentaahorros = numCuenta Then
indice = i
Exit For
End If
NextReturn indice
End Function
'Método que permite obtener una cuenta de ahorros especifica
Public Function getCuentaAhorro(ByVal numCuenta As Integer) As CuentaAhorroReturn cuentasAhorros.Item(getIndiceCuenta(numCuenta))
End Function'Método que permite ingresar dinero a la cuenta de ahorros de un cliente teniendo en cuenta su número de cuenta
Public Sub ingresarDineroCuenta(ByVal numCuenta As Integer, ByVal ingresar As Double)Dim indice As Integer = getIndiceCuenta(numCuenta)
cuentasAhorros.Item(indice).IngresarDinero(ingresar)
End Sub
'Método que permite retirar dinero de la cuenta de ahorros de un cliente teniendo en cuenta su número de cuenta
Public Sub retirarDineroCuenta(ByVal numCuenta As Integer, ByVal retirar As Double)Dim indice As Integer = getIndiceCuenta(numCuenta)
cuentasAhorros.Item(indice).RetirarDinero(retirar)
End Sub
'Método que permite obtener el saldo disponible de la cuenta de ahorros de un cliente teniendo en cuenta su número de cuenta
Public Function getSaldoCuenta(ByVal numCuenta As Integer)Dim indice As Integer = getIndiceCuenta(numCuenta)
Return cuentasAhorros.Item(indice).getSaldoCuenta()
End Function
End Class
Imports System.CodeDom
Imports System.Runtime.InteropServicesPublic Class CuentaAhorro
'Atributos de la Clase CuentaAhorro
Private numCuenta As Integer
Private cliente As Cliente
Private saldoCuenta As Double
Private historialIngresos As List(Of String)
Private historialRetiros As List(Of String)
Private Shared contadorNumCuenta As Integer = 1'Constructor de la Clase CuentaAhorro
Public Sub New(ByVal cte As Cliente, ByVal saldoInicial As Double)
numCuenta = contadorNumCuenta
cliente = cte
historialIngresos = New List(Of String)
historialRetiros = New List(Of String)If saldoInicial > 0 Then
saldoCuenta = saldoInicialElse
saldoCuenta = 0End If
contadorNumCuenta += 1
End Sub
Public ReadOnly Property NumCuentaahorros As Integer
'Propiedad de Solo Lectura para el metodo Get
Get
Return numCuenta
End Get
End PropertyPublic Property ClienteCuentaAhorros As Cliente
'Devuelve o establece al cliente de la cuenta de ahorros
Get
Return cliente
End GetSet(ByVal value As Cliente)
cliente = value
End Set
End PropertyPublic ReadOnly Property ListaHistorialIngresos As List(Of String)
'Propiedad de Solo Lectura para el metodo Get
Get
Return historialIngresos
End Get
End PropertyPublic ReadOnly Property ListaHistorialRetiros As List(Of String)
'Propiedad de Solo Lectura para el metodo Get
Get
Return historialRetiros
End Get
End PropertyPublic Function getSaldoCuenta() As Double
'Devuelve el saldo de la cuenta de ahorros
Return saldoCuenta
End FunctionPublic Sub IngresarDinero(ByVal ingresar As Double)
If ingresar > 0 Then
'Metodo Ingresar Dinero a la Cuenta de Ahorros y manejo del historial de ingresos
saldoCuenta += ingresar
MsgBox("Los $" & ingresar & " fueron agregados al saldo de la cuenta correctamente")
MsgBox("Su nuevo saldo es $" & saldoCuenta)historialIngresos.Add("Valor Ingresado: $" & ingresar & " Fecha Transaccion: " & Date.Now.ToString)
Else
MsgBox("No puede ingresar un valor menor o igual a 0")
End If
End SubPublic Sub RetirarDinero(ByVal retirar As Double)
'Metodo Retirar Dinero a la Cuenta de Ahorros y manejo del historial de egresos
If retirar <= saldoCuenta ThensaldoCuenta -= retirar
MsgBox("Los $" & retirar & " fueron retirados de la cuenta correctamente")
MsgBox("Su nuevo saldo es $" & saldoCuenta)historialRetiros.Add("Valor Retirado: $" & retirar & " Fecha Transaccion: " & Date.Now.ToString)
Else
MsgBox("No puede retirar un valor menor o igual a 0")
End If
End SubEnd Class
End Class