예제 #1
0
        public CrearCuentaBancariaResponse Ejecutar(CrearCuentaBancariaRequest request)
        {
            CuentaBancaria cuenta = _unitOfWork.CuentaBancariaRepository.FindFirstOrDefault(t => t.Numero == request.Numero);

            if (cuenta == null)
            {
                CuentaBancaria cuentaNueva = _genericFactory.CreateEntity(request.TipoCuenta);
                cuentaNueva.Nombre = request.Nombre;
                cuentaNueva.Numero = request.Numero;
                cuentaNueva.Ciudad = request.Ciudad;



                _unitOfWork.CuentaBancariaRepository.Add(cuentaNueva);
                _unitOfWork.Commit();
                return(new CrearCuentaBancariaResponse()
                {
                    Mensaje = $"Se creó con exito la cuenta {cuentaNueva.Numero}."
                });
            }
            else
            {
                return(new CrearCuentaBancariaResponse()
                {
                    Mensaje = "El número de cuenta ya exite"
                });
            }
        }
        public CreateFinancialServiceResponse Ejecutar(CreateFinancialServiceRequest request)
        {
            FinancialService cuenta = _unitOfWork.FinancialServiceRepository.FindFirstOrDefault(t => t.Number == request.Number);

            if (cuenta != null)
            {
                return new CreateFinancialServiceResponse()
                       {
                           Message = "El número de cuenta ya existe."
                       }
            }
            ;

            try
            {
                FinancialService newAccount = _factory.CreateEntity(request.AccountType);

                newAccount.Name   = request.Name;
                newAccount.Number = request.Number;
                newAccount.City   = request.City;

                _unitOfWork.FinancialServiceRepository.Add(newAccount);
                _unitOfWork.Commit();
                return(new CreateFinancialServiceResponse()
                {
                    Message = $"Se creo con exito la cuenta {newAccount.Number}."
                });
            }
            catch (System.Exception ex)
            {
                return(new CreateFinancialServiceResponse()
                {
                    Message = ex.Message
                });
            }
        }
    }