public CrearCuentaBancariaResponse Ejecutar(CrearCuentaBancariaRequest request)
        {
            CuentaBancaria cuenta = _unitOfWork.CuentaBancariaRepository.FindFirstOrDefault(t => t.Numero == request.Numero);

            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;
                cuentaNueva.Email  = request.Email;
                _unitOfWork.CuentaBancariaRepository.Add(cuentaNueva);
                _unitOfWork.Commit();
                var result = _emailSender.SendEmailAsync(cuentaNueva.Email, "Cuenta Creada!!", $"Se ha creado cuenta bancaria número {cuentaNueva.Numero}");
                result.Wait();
                return(new CrearCuentaBancariaResponse()
                {
                    Mensaje = $"Se creó con éxito la cuenta {cuentaNueva.Numero}."
                });
            }
            else
            {
                return(new CrearCuentaBancariaResponse()
                {
                    Mensaje = $"El número de cuenta ya exite"
                });
            }
        }
Exemple #2
0
        public void ConsignacionInicialInCorrecta()
        {
            string       numeroDeCuenta = "1001";
            string       nombreDeCuenta = "Cuenta de Ejemplo";
            string       ciudad         = "Valledupar";
            CuentaAhorro cuentaDeAhorro = new CuentaAhorro();

            cuentaDeAhorro.Numero = numeroDeCuenta;
            cuentaDeAhorro.Nombre = nombreDeCuenta;
            cuentaDeAhorro.Ciudad = ciudad;
            IList <string> errores = cuentaDeAhorro.CanConsign(49950);
            string         obtenido;
            string         esperado = "El valor mínimo de la primera consignación debe ser" +
                                      $"de ${CuentaAhorro.VALOR_CONSIGNACION_INICIAL} mil pesos.";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaDeAhorro.Consignar(49950, "Valledupar");
            }
            Assert.AreEqual(esperado, obtenido);
        }
Exemple #3
0
        public void ConsignacionPosteriorALaInicialCorrecta()
        {
            string       numeroDeCuenta = "1001";
            string       nombreDeCuenta = "Cuenta de Ejemplo";
            string       ciudad         = "Valledupar";
            CuentaAhorro cuentaDeAhorro = new CuentaAhorro();

            cuentaDeAhorro.Numero = numeroDeCuenta;
            cuentaDeAhorro.Nombre = nombreDeCuenta;
            cuentaDeAhorro.Ciudad = ciudad;
            cuentaDeAhorro.Consignar(50000, "Valledupar");

            IList <string> errores = cuentaDeAhorro.CanConsign(49950);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${50000+49950} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaDeAhorro.Consignar(49950, "Valledupar");
            }

            Assert.AreEqual(esperado, obtenido);
        }
Exemple #4
0
        public void RetiroConExito()
        {
            string             numeroDeCuenta = "1001";
            string             nombreDeCuenta = "Cuenta de Ejemplo";
            string             ciudad         = "Valledupar";
            ServicioFinanciero cuentaDeAhorro = new CuentaAhorro();

            cuentaDeAhorro.Numero = numeroDeCuenta;
            cuentaDeAhorro.Nombre = nombreDeCuenta;
            cuentaDeAhorro.Ciudad = ciudad;
            cuentaDeAhorro.Saldo  = 30000;

            IList <string> errores = cuentaDeAhorro.CanWithDraw(500);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${29500} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaDeAhorro.Retirar(500);
            }

            Assert.AreEqual(esperado, obtenido);
        }
Exemple #5
0
        public void SaldoMenorAlMinimo()
        {
            string             numeroDeCuenta = "1001";
            string             nombreDeCuenta = "Cuenta de Ejemplo";
            string             ciudad         = "Valledupar";
            ServicioFinanciero cuentaDeAhorro = new CuentaAhorro();

            cuentaDeAhorro.Numero = numeroDeCuenta;
            cuentaDeAhorro.Nombre = nombreDeCuenta;
            cuentaDeAhorro.Ciudad = ciudad;

            IList <string> errores = cuentaDeAhorro.CanWithDraw(500);
            string         obtenido;
            string         esperado = $"No es posible realizar el Retiro, el nuevo saldo es menor al minimo, ${CuentaAhorro.SALDO_MINIMO}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaDeAhorro.Retirar(500);
            }

            Assert.AreEqual(esperado, obtenido);
        }
Exemple #6
0
        public void RetiroMenorACero()
        {
            string             numeroDeCuenta = "1001";
            string             nombreDeCuenta = "Cuenta de Ejemplo";
            string             ciudad         = "Valledupar";
            ServicioFinanciero cuentaDeAhorro = new CuentaAhorro();

            cuentaDeAhorro.Numero = numeroDeCuenta;
            cuentaDeAhorro.Nombre = nombreDeCuenta;
            cuentaDeAhorro.Ciudad = ciudad;

            IList <string> errores = cuentaDeAhorro.CanWithDraw(-500);
            string         obtenido;
            string         esperado = "El valor a retirar es invalido";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaDeAhorro.Retirar(-500);
            }

            Assert.AreEqual(esperado, obtenido);
        }
Exemple #7
0
        public CrearCuentaBancariaResponse Ejecutar(CrearCuentaBancariaRequest request)
        {
            CuentaBancaria cuenta = _unitOfWork.CuentaBancariaRepository.FindFirstOrDefault(t => t.Numero == request.Numero);

            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;
                cuentaNueva.Numero = 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"
                });
            }
        }
        string connectionString = "Data Source=LAPTOP-140FDP4P;Initial Catalog=ProyectoBD1;Integrated Security=true;"; //Aqui Solo cambiar el nombre del data source si se cambia de BD
        public IEnumerable <CuentaAhorro> SeleccionarCuentaPorCedula(int?Personaid)                                    //El signo de pregunta sirve para generar un error si el contenido es NULL
        {
            var cuentaAhorroLista = new List <CuentaAhorro>();

            using (SqlConnection con = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand("SeleccionarCuentaAhorro", con);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@inPersonaid", Personaid);
                cmd.Parameters.AddWithValue("@outCuentaAhorroId", 0);
                cmd.Parameters.AddWithValue("@OutResultCode", 0);
                con.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    var cuentaAhorro = new CuentaAhorro();
                    cuentaAhorro.id            = Convert.ToInt32(dr["id"]);
                    cuentaAhorro.Personaid     = Convert.ToInt32(dr["Personaid"]);
                    cuentaAhorro.TipoCuentaid  = Convert.ToInt32(dr["TipoCuentaid"]);
                    cuentaAhorro.NumeroCuenta  = Convert.ToInt64(dr["NumeroCuenta"]);
                    cuentaAhorro.FechaCreacion = Convert.ToDateTime(dr["FechaCreacion"]).ToString("d");
                    cuentaAhorro.Saldo         = Convert.ToDouble(dr["Saldo"]);
                    cuentaAhorroLista.Add(cuentaAhorro);
                }
                con.Close();
            }
            return(cuentaAhorroLista);
        }
        static void Main(string[] args)
        {
            var cl = new Cliente()
            {
                Dni = "1234",
                Nombre = "Eduardo Flores",
                Telefono = "12345678"
            };
            var cc = new CuentaCorriente()
            {
                Cliente = cl,
                Saldo = 1200,
                Credito = 500,
                Interes = (decimal)0.12
            };
            var ca = new CuentaAhorro()
            {
                Cliente = cl,
                Saldo = 12000,
                Bonificacion = 0.01,
                Penalizacion = 0.04
            };

            cc.RetirarEfectivo(3000);
            ca.RetirarEfectivo(10000);

            Console.ReadLine();
        }
        public IEnumerable <CuentaAhorro> ObtenerTodasLasCuentas() //El signo de pregunta sirve para generar un error si el contenido es NULL
        {
            var cuentaAhorroLista = new List <CuentaAhorro>();

            using (SqlConnection con = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand("SP_TodoCuentaAhorro", con);
                cmd.CommandType = CommandType.StoredProcedure;
                con.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    var cuentaAhorro = new CuentaAhorro();
                    cuentaAhorro.id            = Convert.ToInt32(dr["id"]);
                    cuentaAhorro.Personaid     = Convert.ToInt32(dr["Personaid"]);
                    cuentaAhorro.TipoCuentaid  = Convert.ToInt32(dr["TipoCuentaid"]);
                    cuentaAhorro.NumeroCuenta  = Convert.ToInt64(dr["NumeroCuenta"]);
                    cuentaAhorro.FechaCreacion = Convert.ToDateTime(dr["FechaCreacion"]).ToString("d");
                    cuentaAhorro.Saldo         = Convert.ToDouble(dr["Saldo"]);
                    cuentaAhorroLista.Add(cuentaAhorro);
                }
                con.Close();
            }
            return(cuentaAhorroLista);
        }
        public void ConsignacionInicialIncorrecta()
        {
            const decimal VALOR        = 40000;
            const string  CIUDAD       = "Valledupar";
            var           cuentaAhorro = new CuentaAhorro();

            cuentaAhorro.Numero           = "111";
            cuentaAhorro.Nombre           = "Ahorro Ejemplo";
            cuentaAhorro.CiudadDeCreacion = "Valledupar";
            cuentaAhorro.Saldo            = 0;
            var    errores  = cuentaAhorro.CanConsignar(VALOR, CIUDAD);
            string esperado = "El valor mínimo de la primera consignación debe ser de $50.000 mil pesos. Su nuevo saldo es $0 pesos";
            string obtenido = "";

            if (errores.Count == 0)
            {
                obtenido = cuentaAhorro.Consignar(VALOR, CIUDAD);
            }
            else
            {
                if (errores.Contains(esperado))
                {
                    obtenido = esperado;
                }
            }
            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }

            Assert.AreEqual(esperado, obtenido);
        }
Exemple #12
0
        static void Main(string[] args)
        {
            string mensaje;
            Cuenta cuentaAhorro = new CuentaAhorro(100000);

            mensaje = cuentaAhorro.Consignar(-200000);
            Console.WriteLine(mensaje);

            mensaje = cuentaAhorro.Consignar(100000);
            Console.WriteLine(mensaje);

            mensaje = cuentaAhorro.Retirar(190000);
            Console.WriteLine(mensaje);

            Cuenta cuentaCorriente = new CuentaCorriente(0);

            mensaje = cuentaCorriente.Consignar(100000);
            Console.WriteLine(mensaje);

            mensaje = cuentaCorriente.Retirar(30000);
            Console.WriteLine(mensaje);

            mensaje = cuentaCorriente.Retirar(50000);
            Console.WriteLine(mensaje);

            mensaje = cuentaCorriente.Consignar(30000);
            Console.WriteLine(mensaje);

            Console.ReadKey();
        }
        public void ConsignacionInicialCorrecta()
        {
            const decimal VALOR        = 50000;
            const string  CIUDAD       = "Valledupar";
            var           cuentaAhorro = new CuentaAhorro();

            cuentaAhorro.Numero           = "00001";
            cuentaAhorro.Nombre           = "Ahorro Ejemplo";
            cuentaAhorro.CiudadDeCreacion = "Valledupar";
            cuentaAhorro.Saldo            = 0;
            var    errores  = cuentaAhorro.CanConsignar(VALOR, CIUDAD);
            string esperado = "Su nuevo saldo es " + 50000 + " m/c";
            string obtenido = "";

            if (errores.Count == 0)
            {
                obtenido = cuentaAhorro.Consignar(VALOR, CIUDAD);
            }
            else
            {
                if (errores.Contains(esperado))
                {
                    obtenido = esperado;
                }
            }
            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }

            Assert.AreEqual(esperado, obtenido);
        }
Exemple #14
0
        static void Main(String[] args)
        {
            var cl = new Cliente()
            {
                Nombre = "Alberto",
                Dni    = "6666666E",
                Tel    = "9999999999"
            };

            var ca = new CuentaAhorro()
            {
                Cliente      = cl,
                Saldo        = 12000,
                Bonificacion = 0.01,
                Penalizacion = 0.03
            };

            var cc = new CuentaCorriente()
            {
                Cliente = cl,
                Saldo   = 12000,
                Credito = 500,
                Interes = (decimal)0.02
            };

            cc.Retirada(3000);
            ca.Retirada(10000);

            Console.ReadLine();
        }
        public void ValorConsignaciónNegativoCero()
        {
            const decimal VALOR        = -10000;
            const string  CIUDAD       = "Valledupar";
            var           cuentaAhorro = new CuentaAhorro();

            cuentaAhorro.Numero           = "111";
            cuentaAhorro.Nombre           = "Ahorro Ejemplo";
            cuentaAhorro.CiudadDeCreacion = "Valledupar";
            cuentaAhorro.Saldo            = 0;
            var    errores  = cuentaAhorro.CanConsignar(VALOR, CIUDAD);
            string esperado = "El valor a consignar es incorrecto";
            string obtenido = "";

            if (errores.Count == 0)
            {
                obtenido = cuentaAhorro.Consignar(VALOR, CIUDAD);
            }
            else
            {
                if (errores.Contains(esperado))
                {
                    obtenido = esperado;
                }
            }
            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }

            Assert.AreEqual(esperado, obtenido);
        }
        public CrearCuentaAhorroResponse Ejecutar(CrearCuentaAhorroRequest request)
        {
            ServicioFinanciero cuenta = _unitOfWork.ServicioFinancieroRepository.FindFirstOrDefault(t => t.Numero == request.Numero);

            if (cuenta == null)
            {
                ServicioFinanciero cuentaNueva = new CuentaAhorro(); ///CuentaBancariaFactory().Create(request.TipoCuenta);//Debe ir un factory que determine que tipo de cuenta se va a crear
                cuentaNueva.Nombre           = request.Nombre;
                cuentaNueva.Numero           = request.Numero;
                cuentaNueva.CiudadDeCreacion = request.Ciudad;
                cuentaNueva.Saldo            = request.Saldo;
                cuentaNueva.FechaCreacion    = request.FechaCreacion;

                _unitOfWork.ServicioFinancieroRepository.Add(cuentaNueva);
                _unitOfWork.Commit();
                return(new CrearCuentaAhorroResponse()
                {
                    Mensaje = $"Se creó con exito la cuenta {cuentaNueva.Numero}"
                });
            }
            else
            {
                return(new CrearCuentaAhorroResponse()
                {
                    Mensaje = $"El número de cuenta ya existe"
                });
            }
        }
Exemple #17
0
        public void Test5()
        {
            var cuenta1 = new CuentaAhorro("10001", "Cuenta Ejemplo", 30000, false, "Bogota");
            var mensaje = cuenta1.Consignar(49950, "Valledupar");


            Assert.AreEqual("Su nuevo saldo es $69950", mensaje);
        }
Exemple #18
0
        public void Test2()
        {
            var cuenta1 = new CuentaAhorro("10001", "Cuenta Ejemplo", 0, true, "Valledupar");
            var mensaje = cuenta1.Consignar(50000, "Valledupar");


            Assert.AreEqual("Su nuevo saldo es $50000", mensaje);
        }
        public void TestCorrecta()
        {
            CuentaAhorro cuentaAhorro = new CuentaAhorro();

            cuentaAhorro.Consignar(100000);
            // TODO: Add your test code here
            Assert.AreEqual(100000, cuentaAhorro.Saldo);
        }
Exemple #20
0
        public void Test4()
        {
            CuentaAhorro cuenta  = new CuentaAhorro("12345", "Donaciones", "Valledupar", true);
            var          mensaje = cuenta.Consignar(0, "Valledupar");

            Assert.AreEqual("El valor a consignar es incorrecto", mensaje);
            Assert.Pass();
        }
Exemple #21
0
        public void Test2()
        {
            CuentaAhorro cuenta  = new CuentaAhorro("12345", "Donaciones", "Valledupar", true);
            var          mensaje = cuenta.Consignar(20000, "Valledupar");

            Assert.AreEqual("el valor minimo de la primera consignacion debe ser de $50000 mil pesos", mensaje);
            Assert.Pass();
        }
Exemple #22
0
        public void Test3()
        {
            CuentaAhorro cuenta  = new CuentaAhorro("12345", "Donaciones", "Valledupar", true);
            var          mensaje = cuenta.Consignar(50000, "Valledupar");

            Assert.AreEqual("Consignacion exitosa su nuevo saldo es 50000", mensaje);
            Assert.Pass();
        }
Exemple #23
0
        public void Test1()
        {
            var cuenta1 = new CuentaAhorro("10001", "Cuenta Ejemplo", 0, true, "Valledupar");
            var mensaje = cuenta1.Consignar(-10000, "Valledupar");



            Assert.AreEqual("El valor a consignar es incorrecto", mensaje);
        }
Exemple #24
0
        public void Test3()
        {
            var cuenta1 = new CuentaAhorro("10001", "Cuenta Ejemplo", 0, true, "Valledupar");
            var mensaje = cuenta1.Consignar(49950, "Valledupar");


            Assert.AreEqual("el valor minimo de la primera consignacion debe ser de $50000 mil pesos" +
                            $"Su nuevo saldo es $0", mensaje);
        }
Exemple #25
0
        public void DecoratorCuentaBancaria()
        {
            Cuenta c = new Cuenta(1, "Rafa");

            ICuentaBancaria cuentaAhorro   = new CuentaAhorro();
            ICuentaBancaria cuentaBlindada = new BlindajeDecorador(cuentaAhorro);

            Assert.AreEqual("Se creo Cuenta de AhorroSe Agrego Blindaje a su cuenta", cuentaBlindada.abrirCuenta(c));
        }
Exemple #26
0
        public void ConsignacionTest()
        {
            var cuenta = new CuentaAhorro();

            cuenta.Numero = "111";
            cuenta.Nombre = "Ahorro Ejemplo";
            cuenta.Consignar(10000);
            Assert.AreEqual(10000, cuenta.Saldo);
        }
Exemple #27
0
        public void ConsignacionInterMunicipalTest()
        {
            //Preparar
            var cuentaAhorro = new CuentaAhorro(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaAhorro.Consignar(50000, "Barranquilla", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("Su Nuevo Saldo es de $40,000.00 pesos m/c", resultado);
        }
Exemple #28
0
        public void NoPuedeConsignarMenosDeCincuentaMilPesosTest()
        {
            //Preparar
            var cuentaAhorro = new CuentaAhorro(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaAhorro.Consignar(49999, "Valledupar", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("El valor mínimo de la primera consignación debe ser de $50.000 mil pesos. Su nuevo saldo es $0 pesos", resultado);
        }
Exemple #29
0
        public void PuedeConsignacionInicialCorrectaCuentaAhorroTest()
        {
            //Preparar
            var cuentaAhorro = new CuentaAhorro(numero: "11001", nombre: "Cuenta Ejemplo2", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaAhorro.Consignar(50000, "Valledupar", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("Su Nuevo Saldo es de $50,000.00 pesos m/c", resultado);
        }
Exemple #30
0
        public void NoPuedeConsignacionValorNegativoCuentaAhorroTest()
        {
            //Preparar
            var cuentaAhorro = new CuentaAhorro(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaAhorro.Consignar(0, "Valledupar", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("El valor a consignar es incorrecto.", resultado);
        }
        public void TestConsignacionValorEnCero()
        {
            //Arrange(Preparar)
            CuentaAhorro cuentaAhorro = new CuentaAhorro();
            //Act(Actuar)
            var respuesta = cuentaAhorro.Consignar(0, "VALLEDUPAR", new DateTime(2018, 9, 17));

            //Assert(Afirmar)
            Assert.AreEqual("“El valor a consignar es incorrecto", respuesta);
        }