//Metodos, funciones de la 'Persona' por medio de la clase 'GestorCuenta'.

        /*
         *  Ingresa saldo a la cuenta y lo actualiza.
         *  @Param operaciones, detalles de la persona que permiten ingresar saldo a la cuenta.
         *  @return string con el mensaje de lo que se hizo y muestra el nuevo saldo en la cuenta.
         */
        public string IngresarSaldo(OperacionesCuenta operaciones)
        {
            decimal saldoTotal = 0;

            try
            {
                using (dbHomeBank db = new dbHomeBank())
                {
                    var oCuenta = db.Cuentas.Where(d => d.idCliente == operaciones.Id).FirstOrDefault();
                    //var oCbu = oCuenta.cbu;
                    if (operaciones.Monto > 0)
                    {
                        oCuenta.saldoPesos += operaciones.Monto;
                        saldoTotal          = (decimal)oCuenta.saldoPesos;
                        var oOperacion = new Operaciones();
                        oOperacion.idCuenta        = operaciones.Id;
                        oOperacion.montoPesos      = operaciones.Monto;
                        oOperacion.nombreOperacion = "Depósito";
                        oOperacion.destino         = oCuenta.cbu.ToString();
                        oOperacion.fecha           = System.DateTime.Now;

                        db.Operaciones.Add(oOperacion);
                        db.Entry(oCuenta).State = System.Data.Entity.EntityState.Modified;
                        // db.Entry(Cliente).State = System.Data.Entity.EntityState.Modified;  //Es para hacer el update, se le dice al EF
                        // que el objeto tuvo una modificacion.
                        db.SaveChanges();
                    }// Se guardan los cambios en la BD.
                }
            }
            catch (Exception fail)
            {
                Debug.WriteLine(fail.Message);
            }

            return(Convert.ToString(saldoTotal));
        }
        /*
         * Retira dinero de la cuenta de la persona y actualiza su saldo.
         * @Param operaciones, detalles de la persona que permiten retirar saldo de su cuenta.
         * @return string, devuelve el monto que retiró de la persona de su cuenta.
         * @throw new Excepcion(), en caso de no poder retirar dinero de la cuenta.
         */
        public string RetirarDinero(OperacionesCuenta operaciones)
        {
            decimal saldoTotal = 0;

            if (SaldoIsOk(operaciones.Id))
            {
                try
                {
                    using (dbHomeBank db = new dbHomeBank())
                    {
                        // Busco al cliente por medio del Id para realizar la operacion.

                        /*
                         * Cuentas elCLiente = db.Cuentas.Find(id);
                         * elCLiente.saldoPesos -= monto;      // Se resta el monto ingresado al saldo del cliente y se lo actualiza.
                         * db.Cuentas.Add(elCLiente); *///  Se agrega el cambio a la BD del correspondiente cliente

                        // Lo siguiente es otra forma de hacer, otro camino, quizas mas largo en tiempo.
                        Cuentas oCuenta = db.Cuentas.Where(d => d.idCliente == operaciones.Id).FirstOrDefault();
                        // Llamo la tabla Cuentas, busco el contexto y lo guardo en una variable.
                        if (operaciones.Monto <= oCuenta.saldoPesos)
                        {
                            Debug.WriteLine("acá guardo los datos modificados");
                            oCuenta.saldoPesos -= operaciones.Monto;
                            var oOperacion = new Operaciones();
                            oOperacion.idCuenta        = operaciones.Id;
                            oOperacion.montoPesos      = operaciones.Monto;
                            oOperacion.nombreOperacion = "Retiro";
                            oOperacion.destino         = oCuenta.cbu.ToString();
                            oOperacion.fecha           = DateTime.Now;

                            db.Operaciones.Add(oOperacion);
                            db.Entry(oCuenta).State = System.Data.Entity.EntityState.Modified;
                            db.SaveChanges();
                            saldoTotal = (decimal)oCuenta.saldoPesos;
                            return(saldoTotal.ToString());
                        }
                        //foreach (var verSaldo in cuentas)
                        //{
                        //    int suID = verSaldo.idCliente;
                        //    if (operaciones.Id == suID)
                        //    {
                        //        verSaldo.saldoPesos -= operaciones.Monto;
                        //        db.Cuentas.Add(verSaldo);
                        //        break;
                        //    }
                        //}

                        //db.Entry(cuentas).State = System.Data.Entity.EntityState.Modified;  //Es para hacer el update, se le dice al EF
                        // que el objeto tuvo una modificacion.
                    }
                }
                catch (Exception fail)
                {
                    Debug.WriteLine(fail.Message);
                }
            }
            else
            {
                using (dbHomeBank db = new dbHomeBank())
                {
                    Cuentas elCLiente = db.Cuentas.Where(d => d.idCliente == operaciones.Id).FirstOrDefault();;
                    throw new Exception("No se ha podido realizar la transaccion, el monto a retirar es mayor al saldo que ud. tiene.\n" +
                                        "Su monto actual es de $" + elCLiente.saldoPesos);
                }
            }

            return(saldoTotal.ToString());
        }