Beispiel #1
0
        public TrasladarResponse Ejecutar(TrasladarRequest request)
        {
            CuentaBancaria cuentaOrigen = _cuentaBancariaRepository.FindBy(t => t.Numero.Equals(request.NumeroCuenta)).FirstOrDefault();

            if (cuentaOrigen == null)
            {
                return(new TrasladarResponse()
                {
                    Mensaje = $"Número de Cuenta No Válido."
                });
            }
            CuentaBancaria cuentaDestino = _cuentaBancariaRepository.FindBy(t => t.Numero.Equals(request.NumeroCuentaDestino)).FirstOrDefault();

            if (cuentaDestino == null)
            {
                return(new TrasladarResponse()
                {
                    Mensaje = $"Número de Cuenta No Válido."
                });
            }
            cuentaOrigen.Trasladar(cuentaDestino, request.Valor);
            _cuentaBancariaRepository.Edit(cuentaOrigen);
            _cuentaBancariaRepository.Edit(cuentaDestino);
            _unitOfWork.Commit();
            return(new TrasladarResponse()
            {
                Mensaje = $"Su nuevo saldo es {cuentaOrigen.Saldo}."
            });
        }