Esempio n. 1
0
        public static void AccountOperations()
        {
            var mng     = new AccountManager();
            var account = new Account();

            Console.WriteLine("\r\n");
            Console.WriteLine("***************************");
            Console.WriteLine("** Cuentas opciones CRUD: **");
            Console.WriteLine("***************************");

            var operacionSeleccionada = SelectCrudOperation();

            switch (operacionSeleccionada)
            {
            case "1":
                var cMng     = new CustomerManager();
                var customer = new Customer();

                Console.WriteLine(getOperationHeading(0, 2));
                Console.WriteLine("Digite la cedula del cliente:");
                customer.Cedula = Console.ReadLine();
                customer        = cMng.RetrieveById(customer);

                if (customer != null)
                {
                    Console.WriteLine("Digite el tipo de moneda: \n Colones, Dolares, etc");
                    var moneda = Console.ReadLine();

                    Console.WriteLine();
                    Console.WriteLine("Deposito inicial, formato de moneda: 1345.978");
                    var    inicial = Console.ReadLine();
                    double saldo   = 0;

                    if (Double.TryParse(inicial, out saldo))
                    {
                        account = new Account(moneda, customer.Cedula, saldo);
                    }
                    else
                    {
                        account = new Account(moneda, customer.Cedula, saldo);
                        Console.WriteLine("El valor para deposito inicial no es valido '{0}'.", inicial);
                        Console.WriteLine("Se creo la cuenta con un saldo de 0");
                    }

                    mng.Create(account);
                    Console.WriteLine("La Cuenta se creo de manera exitosa.");
                }
                else
                {
                    throw new Exception("Cliente no esta registrado");
                }

                break;

            case "2":
                Console.WriteLine(getOperationHeading(4, 2));

                var       lstCuentas = mng.RetrieveAll();
                var       count      = 0;
                DataTable table      = new DataTable();

                table.Columns.Add("#", typeof(string));
                table.Columns.Add("ID Cuenta", typeof(string));
                table.Columns.Add("ID Cliente", typeof(string));
                table.Columns.Add("Moneda", typeof(string));
                table.Columns.Add("Saldo", typeof(double));

                foreach (var c in lstCuentas)
                {
                    count++;
                    table.Rows.Add(count, c.Id, c.ClienteId, c.Moneda, c.Saldo);
                }

                //  formatted table
                // https://github.com/minhhungit/ConsoleTableExt/
                var tableBuilder = ConsoleTableBuilder.From(table);
                tableBuilder.ExportAndWriteLine();

                break;

            case "3":
                Console.WriteLine(getOperationHeading(1, 2));
                Console.WriteLine("Digite el ID de la cuenta:");
                var idCuenta = Console.ReadLine();
                var id       = 0;

                if (Int32.TryParse(idCuenta, out id))
                {
                    account.Id = id;
                    account    = mng.RetrieveById(account);
                }
                else
                {
                    throw new Exception("ID de la cuenta debe ser un numero");
                }

                if (account != null)
                {
                    Console.WriteLine(" ==> " + account.GetEntityInformation());
                }
                else
                {
                    throw new Exception("Cuenta no esta registrada");
                }

                break;

            case "4":
                Console.WriteLine(getOperationHeading(2, 2));

                Console.WriteLine("Digite el ID de la cuenta:");
                var idCta      = Console.ReadLine();
                var idFallback = 0;

                if (Int32.TryParse(idCta, out idFallback))
                {
                    account.Id = idFallback;
                    account    = mng.RetrieveById(account);
                }
                else
                {
                    throw new Exception("ID de la cuenta debe ser un numero");
                }

                if (account != null)
                {
                    Console.WriteLine(" ==> " + account.GetEntityInformation());

                    Console.WriteLine("Digite el tipo de Moneda; el valor actual es: " + account.Moneda);
                    account.Moneda = Console.ReadLine();

                    Console.WriteLine("Digite el Id del Cliente; el valor actual es: " + account.ClienteId);
                    account.ClienteId = Console.ReadLine();

                    mng.Update(account);
                    Console.WriteLine("Cuenta fue actualizada");
                    Console.WriteLine(" ==> " + account.GetEntityInformation());
                }
                else
                {
                    throw new Exception("Cuenta no esta registrada");
                }

                break;

            case "5":
                Console.WriteLine(getOperationHeading(3, 2));
                Console.WriteLine("Digite el ID de la cuenta:");
                var idCtaF      = Console.ReadLine();
                var idFallbackD = 0;

                if (Int32.TryParse(idCtaF, out idFallbackD))
                {
                    account.Id = idFallbackD;
                    account    = mng.RetrieveById(account);
                }
                else
                {
                    throw new Exception("ID de la cuenta debe ser un numero");
                }

                if (account != null)
                {
                    Console.WriteLine(" ==> " + account.GetEntityInformation());

                    Console.WriteLine("Desea eliminar la cuenta? Y/N");
                    var delete = Console.ReadLine();

                    if (delete.Equals("Y", StringComparison.CurrentCultureIgnoreCase))
                    {
                        mng.Delete(account);
                        Console.WriteLine("Cuenta fue eliminado de manera exitosa.");
                    }
                }
                else
                {
                    throw new Exception("Cuenta no esta registrado");
                }

                break;
            }
        }
Esempio n. 2
0
        public static void CustomerOperations()
        {
            var mng      = new CustomerManager();
            var customer = new Customer();

            Console.WriteLine("\r\n");
            Console.WriteLine("***************************");
            Console.WriteLine("** Clientes opciones CRUD: **");
            Console.WriteLine("***************************");

            var operacionSeleccionada = SelectCrudOperation();

            switch (operacionSeleccionada)
            {
            case "1":
                Console.WriteLine(getOperationHeading(0, 0));
                Console.WriteLine("Digite cedula, nombre y apellido del cliente, separado por coma");
                var nombreCompleto = Console.ReadLine();

                Console.WriteLine();
                Console.WriteLine("Digite genero y estado civil, separado por coma");
                var info = Console.ReadLine();

                Console.WriteLine();
                Console.WriteLine("Digite fecha de nacimiento en formato MM-DD-YY (ejem. 09-28-1981)");
                var fechaNacimiento = Console.ReadLine();

                Console.WriteLine();
                Console.WriteLine("Digite edad");
                var edad = Console.ReadLine();

                var infoCliente = $"{nombreCompleto}, {info}, {fechaNacimiento}, {edad}";
                var infoArray   = infoCliente.Split(',');

                customer = new Customer(infoArray);
                mng.Create(customer);

                Console.WriteLine("Customer was created");

                break;

            case "2":
                Console.WriteLine(getOperationHeading(4, 0));

                var       lstCustomers = mng.RetrieveAll();
                var       count        = 0;
                DataTable table        = new DataTable();

                table.Columns.Add("#", typeof(string));
                table.Columns.Add("Cedula", typeof(string));
                table.Columns.Add("Nombre", typeof(string));
                table.Columns.Add("Apellido", typeof(string));
                table.Columns.Add("Edad", typeof(int));

                foreach (var c in lstCustomers)
                {
                    count++;
                    table.Rows.Add(count, c.Cedula, c.Nombre, c.Apellido, c.Edad);
                }

                //  formatted table
                // https://github.com/minhhungit/ConsoleTableExt/
                var tableBuilder = ConsoleTableBuilder.From(table);
                tableBuilder.ExportAndWriteLine();

                break;

            case "3":
                Console.WriteLine(getOperationHeading(1, 0));
                Console.WriteLine("Digite la cedula del cliente:");
                customer.Cedula = Console.ReadLine();
                customer        = mng.RetrieveById(customer);

                if (customer != null)
                {
                    Console.WriteLine(" ==> " + customer.GetEntityInformation());
                }
                else
                {
                    throw new Exception("Cliente no esta registrado");
                }

                break;

            case "4":
                Console.WriteLine(getOperationHeading(2, 0));

                Console.WriteLine("Digite la cedula del cliente:");
                customer.Cedula = Console.ReadLine();
                customer        = mng.RetrieveById(customer);

                if (customer != null)
                {
                    Console.WriteLine(" ==> " + customer.GetEntityInformation());
                    Console.WriteLine("Digite el nombre; el valor actual es: " + customer.Nombre);
                    customer.Nombre = Console.ReadLine();
                    Console.WriteLine("Digite el apellido; el valor actual es: " + customer.Apellido);
                    customer.Apellido = Console.ReadLine();
                    Console.WriteLine("Digite el genero; el valor actual es: " + customer.Genero);
                    customer.Genero = Console.ReadLine();
                    Console.WriteLine("Digite la fecha de nacimiento; el valor actual es: " + customer.FechaNacimiento);
                    customer.FechaNacimiento = Console.ReadLine();
                    Console.WriteLine("Digite la edad; el valor actual es: " + customer.Edad);
                    var textAge = Console.ReadLine();
                    customer.Edad = Int32.TryParse(textAge, out int age) ? age : customer.Edad;
                    Console.WriteLine("Digite el estado civil; el valor actual es: " + customer.EstadoCivil);
                    customer.EstadoCivil = Console.ReadLine();

                    mng.Update(customer);
                    Console.WriteLine("Customer was updated");
                    Console.WriteLine(" ==> " + customer.GetEntityInformation());
                }
                else
                {
                    throw new Exception("Cliente no esta registrado");
                }

                break;

            case "5":
                Console.WriteLine(getOperationHeading(3, 0));
                Console.WriteLine("Digite la cedula del cliente:");
                customer.Cedula = Console.ReadLine();
                customer        = mng.RetrieveById(customer);

                if (customer != null)
                {
                    Console.WriteLine(" ==> " + customer.GetEntityInformation());

                    Console.WriteLine("Desea eliminar al cliente? Y/N");
                    var delete = Console.ReadLine();

                    if (delete.Equals("Y", StringComparison.CurrentCultureIgnoreCase))
                    {
                        mng.Delete(customer);
                        Console.WriteLine("Cliente fue eliminado de manera exitosa.");
                    }
                }
                else
                {
                    throw new Exception("Cliente no esta registrado");
                }

                break;
            }
        }
Esempio n. 3
0
        public static void CreditOperations()
        {
            var creditMng = new CreditManager();
            var credit    = new Credit();

            Console.WriteLine("\r\n");
            Console.WriteLine("***************************");
            Console.WriteLine("** Creditos opciones CRUD: **");
            Console.WriteLine("***************************");

            var operacionSeleccionada = SelectCrudOperation();

            switch (operacionSeleccionada)
            {
            case "1":
                var cMng     = new CustomerManager();
                var customer = new Customer();

                Console.WriteLine(getOperationHeading(0, 1));
                Console.WriteLine("Digite la cedula del cliente:");
                customer.Cedula = Console.ReadLine();
                customer        = cMng.RetrieveById(customer);

                if (customer != null)
                {
                    Console.WriteLine();
                    Console.WriteLine("******* Condiciones de la Operacion de Credito *******");
                    Console.WriteLine("Digite el tipo de moneda: \n Colones, Dolares, etc");
                    var moneda = Console.ReadLine();

                    Console.WriteLine();
                    Console.WriteLine("Digite monto a financiar");
                    var inicial = Console.ReadLine();

                    Console.WriteLine();
                    Console.WriteLine("Digite la tasa de interes");
                    var tasaInt = Console.ReadLine();

                    Console.WriteLine();
                    Console.WriteLine("Digite la cuota mensual");
                    var cuota = Console.ReadLine();

                    Console.WriteLine();
                    Console.WriteLine("Digite fecha de inicio en formato MM-DD-YY (ejem. 09-28-1981)");
                    var fechaInicio = Console.ReadLine();

                    Console.WriteLine();
                    Console.WriteLine("Digite el estado de la operacion: \n 1. Analisis 2. Pendiente 3. Aprobado 4. Cancelado 5. Rechazado");
                    var estadoOperacion = Console.ReadLine();
                    estadoOperacion = getEstadoOperacion(estadoOperacion);

                    double saldo        = 0;
                    double tasaCredito  = 0;
                    double cuotaCredito = 0;

                    if (Double.TryParse(inicial, out saldo) && Double.TryParse(tasaInt, out tasaCredito) && Double.TryParse(cuota, out cuotaCredito))
                    {
                        credit = new Credit(saldo, tasaCredito, customer.Cedula, cuotaCredito, fechaInicio, estadoOperacion, saldo, moneda);
                    }
                    else
                    {
                        throw new Exception("No se pudo crear la operacion, verifique que los valores sean validos.");
                    }

                    creditMng.Create(credit);
                    Console.WriteLine("El Credito se creo de manera exitosa.");
                }
                else
                {
                    throw new Exception("Cliente no esta registrado");
                }

                break;

            case "2":
                Console.WriteLine(getOperationHeading(4, 1));
                var       lstCreditos = creditMng.RetrieveAll();
                var       count       = 0;
                DataTable table       = new DataTable();

                table.Columns.Add("#", typeof(string));
                table.Columns.Add("ID Credito", typeof(string));
                table.Columns.Add("ID Cliente", typeof(string));
                table.Columns.Add("Moneda", typeof(string));
                table.Columns.Add("Tasa Interes", typeof(double));
                table.Columns.Add("Principal", typeof(double));
                table.Columns.Add("Saldo", typeof(double));
                table.Columns.Add("Estado", typeof(string));

                foreach (var c in lstCreditos)
                {
                    count++;
                    table.Rows.Add(count, c.Id, c.ClienteId, c.Moneda, c.Tasa, c.Monto, c.Saldo, c.Estado);
                }

                //  formatted table
                // https://github.com/minhhungit/ConsoleTableExt/
                var tableBuilder = ConsoleTableBuilder.From(table);
                tableBuilder.ExportAndWriteLine();

                break;

            case "3":
                Console.WriteLine(getOperationHeading(1, 1));
                Console.WriteLine("Digite el ID del credito:");
                var idCuenta = Console.ReadLine();
                var id       = 0;

                if (Int32.TryParse(idCuenta, out id))
                {
                    credit.Id = id;
                    credit    = creditMng.RetrieveById(credit);
                }
                else
                {
                    throw new Exception("ID del Credito debe ser un numero");
                }

                if (credit != null)
                {
                    Console.WriteLine("******* Condiciones de la Operacion de Credito *******");
                    Console.WriteLine(" ==> " + credit.GetEntityInformation());
                }
                else
                {
                    throw new Exception("Credito no esta registrada");
                }

                break;

            case "4":
                Console.WriteLine(getOperationHeading(2, 1));
                Console.WriteLine("Digite el ID del credito:");
                var iinptuIdCredito = Console.ReadLine();
                var idCredito       = 0;

                if (Int32.TryParse(iinptuIdCredito, out idCredito))
                {
                    credit.Id = idCredito;
                    credit    = creditMng.RetrieveById(credit);
                }
                else
                {
                    throw new Exception("ID del Credito debe ser un numero");
                }

                if (credit != null)
                {
                    Console.WriteLine(" ==> " + credit.GetEntityInformation());
                    Console.WriteLine();

                    Console.WriteLine("Estado actual de la operacion: " + credit.Estado);
                    Console.WriteLine("Digite el estado de la operacion: \n 1. Analisis 2. Pendiente 3. Aprobado 4. Cancelado 5. Rechazado");
                    var estadoOperacion = Console.ReadLine();
                    estadoOperacion = getEstadoOperacion(estadoOperacion);
                    credit.Estado   = estadoOperacion;

                    creditMng.Update(credit);
                    Console.WriteLine("Credito fue actualizado");
                    Console.WriteLine(" ==> " + credit.GetEntityInformation());
                }
                else
                {
                    throw new Exception("Credito no esta registrada");
                }

                break;

            case "5":
                Console.WriteLine(getOperationHeading(3, 1));
                Console.WriteLine("Digite el ID del credito:");
                credit.Id = Int32.Parse(Console.ReadLine());
                credit    = creditMng.RetrieveById(credit);

                if (credit != null)
                {
                    Console.WriteLine(" ==> " + credit.GetEntityInformation());

                    Console.WriteLine("Desea eliminar la operacion? Y/N");
                    var delete = Console.ReadLine();

                    if (delete.Equals("Y", StringComparison.CurrentCultureIgnoreCase))
                    {
                        creditMng.Delete(credit);
                        Console.WriteLine("Credito fue eliminado de manera exitosa.");
                    }
                }
                else
                {
                    throw new Exception("Cliente no esta registrado");
                }

                break;
            }
        }