Example #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}."
            });
        }
Example #2
0
        public ConsignarResponse Ejecutar(ConsignarRequest request)
        {
            CuentaBancaria cuenta = _cuentaBancariaRepository.FindBy(t => t.Numero.Equals(request.NumeroCuenta)).FirstOrDefault();

            if (cuenta != null)
            {
                cuenta.Consignar(request.Valor);
                _cuentaBancariaRepository.Edit(cuenta);
                _unitOfWork.Commit();
                return(new ConsignarResponse()
                {
                    Mensaje = $"Su Nuevo saldo es {cuenta.Saldo}."
                });
            }
            else
            {
                return(new ConsignarResponse()
                {
                    Mensaje = $"Número de Cuenta No Válido."
                });
            }
        }
        public CrearCuentaBancariaResponse Ejecutar(CrearCuentaBancariaRequest request)
        {
            CuentaBancaria cuenta = _cuentaBancariaRepository.FindBy(t => t.Numero.Equals(request.Numero)).FirstOrDefault();

            if (cuenta == null)
            {
                CuentaBancaria cuentaNueva = new CuentaAhorro();//Debe ir un factory que determine que tipo de cuenta se va a crear
                cuentaNueva.Nombre = request.Nombre;
                cuentaNueva.Numero = request.Numero;
                _cuentaBancariaRepository.Add(cuentaNueva);
                _unitOfWork.Commit();
                return(new CrearCuentaBancariaResponse()
                {
                    Mensaje = $"Se creo con exito la cuenta  {cuentaNueva.Numero}."
                });
            }
            else
            {
                return(new CrearCuentaBancariaResponse()
                {
                    Mensaje = $"El número de cuenta ya exite"
                });
            }
        }