public void Depositar(decimal adcMonto)
        {
            Saldo += adcMonto;
            var movimiento = MovimientoCuenta.Generar(6, adcMonto, this);

            Movimientos.Add(movimiento);
        }
        public void Desbloquear()
        {
            EstadoCuenta = 1;
            var movimiento = MovimientoCuenta.Generar(4, 0.00M, this);

            Movimientos.Add(movimiento);
        }
        public void Bloquear()
        {
            EstadoCuenta = 2;
            var movimiento = MovimientoCuenta.Generar(3, 0.00M, this);

            Movimientos.Add(movimiento);
        }
        public void Activar()
        {
            EstadoCuenta = 1;
            var movimiento = MovimientoCuenta.Generar(2, 0.00M, this);

            Movimientos.Add(movimiento);
        }
        public void Cancelar()
        {
            EstadoCuenta = 3;
            var movimiento = MovimientoCuenta.Generar(5, Saldo, this);

            Movimientos.Add(movimiento);
            Saldo = 0.00M;
        }
        public static CuentaAhorro Aperturar(string asNumeroCuenta, Cliente aoCliente)
        {
            var cuenta = new CuentaAhorro()
            {
                NumeroCuenta  = asNumeroCuenta,
                Propietario   = aoCliente,
                CodigoCliente = aoCliente.CodigoCliente,
                Saldo         = 0.00M,
                FechaCreacion = DateTime.Now,
                EstadoCuenta  = 0
            };
            var movimiento = MovimientoCuenta.Generar(1, 0.00M, cuenta);

            cuenta.Movimientos.Add(movimiento);
            return(cuenta);
        }