LGhosn / TakeAwayNow-DCNT

1 stars 0 forks source link

logica de negocio en los services y no en las entidades #13

Closed maurociancio closed 8 months ago

maurociancio commented 8 months ago
public ResponseEntity<String> cargarSaldo(Long idCliente, BigDecimal saldoACargar) {
    Optional<Cliente> optionalCliente = clienteRepository.findById(idCliente);
    if (optionalCliente.isEmpty()) {
        return ResponseEntity.internalServerError().body("No existe el cliente en la base de datos.");
    }

    if (saldoACargar.compareTo(BigDecimal.ZERO) <= 0) {
        return ResponseEntity.internalServerError().body("No se puede cargar saldo con un monto menor o igual a cero.");
    }

    Cliente cliente = optionalCliente.get();
    cliente.setSaldo(cliente.getSaldo().plus(new Dinero(saldoACargar)));
    this.clienteRepository.save(cliente);
    return ResponseEntity.ok().body("Se han cargado correctamente a su saldo el monto de $" + saldoACargar + "." );
}
maurociancio commented 8 months ago

esto es de lo mas crítico

maurociancio commented 8 months ago

veo mucho codigo con logica en los services, no debe ir acá sino en las entidades

ruizsugliani commented 8 months ago

Perdón, habíamos entendido que esta lógica iba en los services, estamos un poco jugados con el tiempo por el trabajo pero vamos a intentar llegar con este cambio.

maurociancio commented 8 months ago

Es lo que repetimos todas las clases. Toda la lógica va en el dominio. Fueron a las clases?

On Wed, Feb 21, 2024 at 12:26 AM Santiago Nahuel Ruiz Sugliani < @.***> wrote:

Perdón, habíamos entendido que esta lógica iba en los services, estamos un poco jugados con el tiempo por el trabajo pero vamos a intentar llegar con este cambio.

— Reply to this email directly, view it on GitHub https://github.com/LGhosn/TakeAwayNow-DCNT/issues/13#issuecomment-1955812660, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABGBDOCA5KPNXIVDTBLNY3YUVSPBAVCNFSM6AAAAABDSGMPQ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVHAYTENRWGA . You are receiving this because you authored the thread.Message ID: @.***>

-- Mauro Ciancio http://about.me/maurociancio

LGhosn commented 8 months ago

solucionado en los siguietnes commits:

clienteService negocioService pedidoService