コード例 #1
0
        public RetirarResponse Ejecutar(RetirarRequest request)
        {
            var cuenta = _unitOfWork.ServicioFinancieroRepository.FindFirstOrDefault(t => t.Numero == request.NumeroCuenta);

            if (cuenta != null)
            {
                var errors = cuenta.CanConsignar(request.Valor, request.Ciudad);
                if (errors.Count == 0)
                {
                    cuenta.Consignar(request.Valor, request.Ciudad);
                }
                _unitOfWork.Commit();
                return(new RetirarResponse()
                {
                    Mensaje = $"Su Nuevo saldo es {cuenta.Saldo}."
                });
            }
            else
            {
                return(new RetirarResponse()
                {
                    Mensaje = $"Número de Cuenta No Válido."
                });
            }
        }
コード例 #2
0
 public RetirarResponse Retirar(IServicioFinanciero servicioFinanciero, RetirarRequest request)
 {
     if (servicioFinanciero != null)
     {
         servicioFinanciero.Retirar(request.Valor);
         _unitOfWork.Commit();
         return(new RetirarResponse()
         {
             Mensaje = $"Su Nuevo saldo es {servicioFinanciero.Saldo}."
         });
     }
     else
     {
         return(new RetirarResponse()
         {
             Mensaje = $"Número de Cuenta No Válido."
         });
     }
 }
コード例 #3
0
        public RetirarResponse Ejecutar(RetirarRequest request)
        {
            var cuenta = _unitOfWork.CuentaBancariaRepository.FindFirstOrDefault(t => t.Numero == request.NumeroCuenta);

            if (cuenta != null)
            {
                cuenta.Retirar(new Transaccion(request.Valor));
                _unitOfWork.Commit();
                return(new RetirarResponse()
                {
                    Mensaje = $"Su Nuevo saldo es {cuenta.Saldo}."
                });
            }
            else
            {
                return(new RetirarResponse()
                {
                    Mensaje = $"Número de Cuenta No Válido."
                });
            }
        }
コード例 #4
0
        public RetirarResponse Ejecutar(RetirarRequest request, string tipo)
        {
            switch (tipo)
            {
            case "CuentaBancaria":
                var cuenta = _unitOfWork.CuentaBancariaRepository.FindFirstOrDefault(t => t.Numero == request.Numero);
                return(Retirar(cuenta, request));

            case "CDT":
                var cdt = _unitOfWork.DepositoATerminoRepository.FindFirstOrDefault(t => t.Numero == request.Numero);
                return(Retirar(cdt, request));

            case "TarjetaCredito":
                var tarjetaCredito = _unitOfWork.TarjetaCreditoRepository.FindFirstOrDefault(t => t.Numero == request.Numero);
                return(Retirar(tarjetaCredito, request));

            default:
                return(new RetirarResponse()
                {
                    Mensaje = "Tipo Financiero No Válido."
                });
            }
        }