public static bool ActualizarMonto(TarjetaCredito tarjeta) { SqlConnection conn = new SqlConnection(@"server = .\sqlexpress; integrated security = true; database = GenisysATM"); SqlCommand cmd = new SqlCommand("sp_ModificarMontoTarjetaCredito", conn); cmd.CommandType = CommandType.StoredProcedure; // Parámteros cmd.Parameters.Add(new SqlParameter("idCliente", SqlDbType.SmallInt)); cmd.Parameters.Add(new SqlParameter("nuevoMonto", SqlDbType.Decimal)); cmd.Parameters["idCliente"].Value = tarjeta.idCliente; cmd.Parameters["nuevoMonto"].Value = tarjeta.monto; try { conn.Open(); cmd.ExecuteNonQuery(); return true; } catch (CustomException ex) { throw ex; } finally { conn.Close(); } }
public static TarjetaCredito ObtenerTarjetaCliente(int clienteId) { SqlConnection conn = new SqlConnection(@"server = .\sqlexpress; integrated security = true; database = GenisysATM"); string sql; TarjetaCredito resultado = new TarjetaCredito(); sql = @"Select * From ATM.TarjetaCredito Where IdCliente = @clienteId"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader rdr; try { // Establecer la conexión conn.Open(); using (cmd) { cmd.Parameters.Add("@clienteId", SqlDbType.SmallInt).Value = clienteId; rdr = cmd.ExecuteReader(); } while (rdr.Read()) { resultado.id = rdr.GetInt16(0); resultado.idCliente = rdr.GetInt16(1); resultado.monto = rdr.GetDecimal(2); } return resultado; } catch (CustomException ex) { throw ex; } finally { conn.Close(); } }
public bool PagoTarjetaCredito(Cliente elCliente, TarjetaCredito tarjeta, decimal montoAPagar) { try { decimal montoLempiras = montoAPagar * decimal.Parse(tasaCambio); if (elCliente.saldo < montoLempiras) { throw new CustomException("Saldo insuficiente para realizar la transacción"); } else if (elCliente.saldo == montoLempiras) { throw new CustomException("Por políticas del ATM, no puede dejar su saldo en Lps. 0.00, favor revise el monto a pagar."); } else { elCliente.saldo = elCliente.saldo - montoLempiras; tarjeta.monto = tarjeta.monto - montoAPagar; // Actualizar los valores pagados y debitados Cliente.ActualizarSaldo(elCliente); TarjetaCredito.ActualizarMonto(tarjeta); return true; } } catch (CustomException ex) { throw ex; } }