protected void btnGuardar_Click(object sender, EventArgs e) { try { //Almacena los datos de los valores del formulario string numeroCuenta = txtCuenta.Text; Usuario objUsuario = (Usuario)Session["Usuario"]; int idPersona = objUsuario.idPersona; //Abre una conexion a la base de datos para insertar la cuenta using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var cuenta = (from c in bd.spConsultaCuentaPorNumero(numeroCuenta) select c).FirstOrDefault(); if (cuenta != null) { lblMensaje.Text = "La cuenta a crear ya existe en la base de datos"; } else { bd.spCrearCuentas(idPersona, numeroCuenta, DateTime.Now); bd.SaveChanges(); lblMensaje.Text = "Se ha creado la cuenta exitosamente"; txtCuenta.Text = " "; } } } catch { lblMensaje.Text = "Ha ocurrido un error"; } }
//Este proceso se encarga de ejecutar la acción de realizar la transferencia protected void btnEjecutar_Click(object sender, EventArgs e) { try { //Se valida que el usuario haya selecciodo una opcion if (ddnCuentaOrigen.SelectedIndex == 0 || ddnCuentaDestino.SelectedIndex == 0) { lblMensaje.Text = "Debe seleccionar una opcion en ambas listas"; } else { int monto = int.Parse(txtMonto.Text); //Se valida que el monto no sea mayor o igual a 250 mil colones if (monto >= 250000) { lblMensaje.Text = "Solo se permiten transferencias menores a 250 mil colones"; } else { //Si el monto es inferior a 250 mil colones se procede a insertar en la base de datos using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var cuenta = (from c in bd.spConsultaCuentaPorNumero(ddnCuentaOrigen.SelectedItem.Text) select c).FirstOrDefault(); //Si el saldo de la cuenta es menor a lo que se desea transferir no se permite if (cuenta.saldo < monto) { lblMensaje.Text = "El monto a transferir es mayor al saldo de la cuenta"; } else { int idCuentaOrigen = int.Parse(ddnCuentaOrigen.SelectedItem.Value); int idCuentaDestino = int.Parse(ddnCuentaDestino.SelectedItem.Value); bd.spInsertaTransferencias(idCuentaOrigen, idCuentaDestino, monto, DateTime.Now); bd.spInsertaMovimiento(idCuentaOrigen, 3, (monto * -1), DateTime.Now); bd.spInsertaMovimiento(idCuentaDestino, 4, monto, DateTime.Now); bd.spActualizaCuenta((monto * -1), idCuentaOrigen, DateTime.Now); bd.spActualizaCuenta(monto, idCuentaDestino, DateTime.Now); bd.SaveChanges(); lblMensaje.Text = "La transferencia se ha efectuado exitosamente"; txtMonto.Text = ""; ddnCuentaOrigen.SelectedIndex = 0; ddnCuentaDestino.SelectedIndex = 0; } } } } } catch { } }
// Este proceso ejecuta el proceso protected void btnEjecutar_Click(object sender, EventArgs e) { try { int idTipoMovimiento = int.Parse(ddnTipoMovimiento.SelectedValue); int idCuenta = int.Parse(ddnCuentas.SelectedValue); int monto = int.Parse(txtMonto.Text); string numeroCuenta = ddnCuentas.SelectedItem.Text; //Se define como 1 si es deposito o 2 si es retiro if (ddnTipoMovimiento.SelectedIndex == 0 || ddnCuentas.SelectedIndex == 0) { lblMensaje.Text = "Debe seleccionar una opcion en ambas listas"; } else { //Valida si el tipo de movimiento es deposito if (idTipoMovimiento == 1) { if (monto > 0 && monto <= 500000) { using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { bd.spInsertaMovimiento(idCuenta, idTipoMovimiento, monto, DateTime.Now); bd.spActualizaCuenta(monto, idCuenta, DateTime.Now); bd.SaveChanges(); } lblMensaje.Text = "Se ha realizado el deposito exitosamente"; txtMonto.Text = ""; ddnTipoMovimiento.SelectedIndex = 0; ddnCuentas.SelectedIndex = 0; } else { lblMensaje.Text = "El monto no puede ser igual a cero o montos mayores a 500 mil colones."; } } else {//Realiza el proceso al no ser deposito, por ende es un retiro using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var cuentas = (from c in bd.spConsultaCuentaPorNumero(numeroCuenta) select c).FirstOrDefault(); if (cuentas.saldo > monto) { monto = (monto * -1); bd.spInsertaMovimiento(idCuenta, idTipoMovimiento, monto, DateTime.Now); bd.spActualizaCuenta(monto, idCuenta, DateTime.Now); bd.SaveChanges(); lblMensaje.Text = "Se ha realizado el retiro exitosamente"; txtMonto.Text = ""; ddnTipoMovimiento.SelectedIndex = 0; ddnCuentas.SelectedIndex = 0; } else { lblMensaje.Text = "Saldo insuficiente para la transacción"; } } } } } catch { lblMensaje.Text = "Ha ocurrido un error"; } }