//Esta clase se encarga de llenar el dropdownlist de cuentas de destino basado en la cuenta de origen elegida. private void CargarCuentasDestino() { ddnCuentaDestino.Items.Clear(); string idCuentaOrigen = ddnCuentaOrigen.SelectedItem.Value; //Se valida que la cuenta de origen haya sido seleccionada. if (idCuentaOrigen == "") { ddnCuentaDestino.Items.Add(new ListItem("Seleccione una cuenta de destino")); ddnCuentaDestino.DataBind(); } else { using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var listaCuentasDestino = (from c in bd.spConsultaCuentaDestino(int.Parse(idCuentaOrigen)) select c).ToList(); ddnCuentaDestino.Items.Add(new ListItem("Seleccione una cuenta de destino")); foreach (var cuentas in listaCuentasDestino) { var item = new ListItem(cuentas.numeroCuenta, cuentas.idCuenta.ToString()); ddnCuentaDestino.Items.Add(item); } ddnCuentaDestino.DataBind(); } } }
//Este proceso cargar las listas del formulario protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack == false) { Usuario objUsuario = (Usuario)Session["Usuario"]; int idPersona = objUsuario.idPersona; using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var listaTiposMovimientos = (from m in bd.spConsultaTiposCajero() select m).ToList(); ddnTipoMovimiento.Items.Add(new ListItem("Seleccione un tipo")); foreach (var tipos in listaTiposMovimientos) { var item = new ListItem(tipos.nombre, tipos.idTipoMovimiento.ToString()); ddnTipoMovimiento.Items.Add(item); } ddnTipoMovimiento.DataBind(); var listaCuentas = (from c in bd.spConsultaCuentas(idPersona) select c).ToList(); ddnCuentas.Items.Add(new ListItem("Seleccione una cuenta")); foreach (var cuentas in listaCuentas) { var item = new ListItem(cuentas.numeroCuenta, cuentas.idCuenta.ToString()); ddnCuentas.Items.Add(item); } ddnCuentas.DataBind(); } } }
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 se encarga de obtener la lista de cuentas del usuario de sesion que se recibe, protected void Page_Load(object sender, EventArgs e) { int idCuenta = int.Parse(Request.QueryString["id"]); using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var listaMovimientos = (from m in bd.spConsultaMovimientos(idCuenta) select m).ToList(); grdListaMovimientos.DataSource = listaMovimientos; grdListaMovimientos.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { Usuario objUsuario = (Usuario)Session["Usuario"]; using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var detalleCuentas = (from c in bd.spConsultaCuentas(objUsuario.idPersona) select c).ToList(); grdMovimientos.DataSource = detalleCuentas; grdMovimientos.DataBind(); } }
// En este proceso se crear la variable de entorno para iniciar sesion y validarla con la base de datos. protected void btnEntrar_Click(object sender, EventArgs e) { Usuario objUsuario = new Usuario(); objUsuario.usuario = txtUsuario.Text; objUsuario.clave = txtClave.Text; Session["Login"] = objUsuario; Usuario objUsuario2 = (Usuario)Session["Login"]; try { using (SistemaBancarioEntities db = new SistemaBancarioEntities()) { var usuario = (from u in db.spConsultaUsuarios(objUsuario2.usuario, objUsuario2.clave) select u).FirstOrDefault(); if (usuario.idPersona != 0) { Usuario objUsuario3 = new Usuario(); objUsuario3.idPersona = usuario.idPersona; objUsuario3.nombreCompleto = usuario.nombreCompleto; objUsuario3.cedula = usuario.cedula; Session["Usuario"] = objUsuario3; Response.Redirect("~/Pages/ConsultarMovimientos.aspx"); } else { lblMensaje.Text = "Los datos digitados no son los correctos"; } } } catch { lblMensaje.Text = "Ha ocurrido un error"; } }
//Este proceso se encarga de llenar las listas protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack == false) { Usuario objUsuario = (Usuario)Session["Usuario"]; int idPersona = objUsuario.idPersona; using (SistemaBancarioEntities bd = new SistemaBancarioEntities()) { var listaCuentasUsuario = (from m in bd.spConsultaCuentas(objUsuario.idPersona) select m).ToList(); ddnCuentaOrigen.Items.Add(new ListItem("Seleccione una cuenta de origen")); foreach (var cuentas in listaCuentasUsuario) { var item = new ListItem(cuentas.numeroCuenta, cuentas.idCuenta.ToString()); ddnCuentaOrigen.Items.Add(item); } ddnCuentaOrigen.DataBind(); } ddnCuentaDestino.Items.Add(new ListItem("Seleccione una cuenta de destino")); ddnCuentaDestino.DataBind(); } }
// 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"; } }