示例#1
0
        private void insertarTransaccion(Retiro retiro)
        {
            int tipo = 2;
            int n;

            using (ATMEntities db = new ATMEntities())
            {
                Transaccion transaccion = new Transaccion();
                transaccion.Fecha    = DateTime.Today;
                transaccion.Hora     = DateTime.Now.TimeOfDay;
                transaccion.Tipo     = tipo;
                transaccion.N_Cuenta = _numeroDeUsuario;
                try
                {
                    n = db.Transaccion.Max(p => p.N_Folio);
                }
                catch (Exception e)
                {
                    n = 1000;
                }
                transaccion.N_Folio = n + 1;

                db.Transaccion.Add(transaccion);
                db.Entry(transaccion).State = System.Data.Entity.EntityState.Added;

                retiro.N_Folio = transaccion.N_Folio;

                db.Retiro.Add(retiro);
                db.Entry(retiro).State = System.Data.Entity.EntityState.Added;

                db.SaveChanges();
            }
        }
示例#2
0
        private String textTransaccion(Transaccion transaccion)
        {
            /*
             * crea el string que tiene los datos de la transaccion
             */
            StringBuilder builder = new StringBuilder();

            using (ATMEntities db = new ATMEntities())
            {
                var tiposT = db.Tipo_Transaccion;

                if (transaccion.Tipo == 1)                    //Consulta
                {
                    builder.Append(tiposT.ToArray()[0].Tipo); //se el agrega el nombre de la transaccion
                }
                else if (transaccion.Tipo == 2)
                {
                    builder.Append(tiposT.ToArray()[1].Tipo);                                                //se el agrega el nombre de la transaccion
                    Retiro retiro = db.Retiro.Where(p => p.N_Folio == transaccion.N_Folio).FirstOrDefault(); //se obtiene el retiro

                    builder.Append($" Monto: {retiro.monto}");                                               //añadimos el monto
                }
                else if (transaccion.Tipo == 3)
                {
                    builder.Append(tiposT.ToArray()[2].Tipo);                                                      //se el agrega el nombre de la transaccion
                    Deposito deposito = db.Deposito.Where(p => p.N_Folio == transaccion.N_Folio).FirstOrDefault(); // se obtiene el deposito

                    builder.Append($" N de cuenta: {deposito.N_Cuenta}");                                          // añadimos la cuenta a la que se le deposito
                    builder.Append($" Monto: {deposito.monto}");                                                   //añadimos el monto
                }
                builder.Append(" Fecha: " + transaccion.Fecha + " Hora: " + transaccion.Hora);                     // añadimos fecha y hora
            }
            return(builder.ToString());                                                                            //regresamos la string
        }
示例#3
0
        private void retirarDinero()
        {
            int  opc; //opcion seleccionada
            int  cantidadRetirar = 0;
            bool repetir = false, opcValida = true;

            do
            {
                repetir   = false;
                opcValida = true;
                Console.Clear();
                Console.WriteLine(" 1) $20 \n 2) $40 \n 3) $60 \n 4) $100 \n 5) $200 \n 6) salir");
                opc = int.Parse(Console.ReadLine());

                switch (opc)
                {
                case 1:
                case 2:
                case 3:
                    cantidadRetirar = 20 * opc;
                    repetir         = false;
                    break;

                case 4:
                    cantidadRetirar = 100;
                    repetir         = false;
                    break;

                case 5:
                    cantidadRetirar = 200;
                    repetir         = false;
                    break;

                case 6:
                    return;

                default:
                    Console.WriteLine("Opcion invalida...");
                    Console.ReadKey();
                    repetir   = true;
                    opcValida = false;
                    break;
                }
                if (opcValida)
                {
                    if (cantidadRetirar > _saldo) // revisa que la cantidad sea mayor al saldo
                    {
                        Console.WriteLine("Saldo insuficiente...");
                        Console.ReadKey();
                        repetir = true;
                    }
                    else if ((cantidadRetirar / 20) > _billetesDe20) // revisa que el cajero tenga billetes
                    {
                        Console.WriteLine("Cantidad de billetes insuficientes...");
                        Console.ReadKey();
                        repetir = true;
                    }
                    else if (opcValida)
                    {
                        repetir = false;
                    }
                    else
                    {
                        repetir = true;
                    }
                }
            } while (repetir);

            //correcto

            Retiro retiro = new Retiro(); // crea retiro para el historial

            using (ATMEntities db = new ATMEntities())
            {
                int n;
                try
                {
                    n = db.Retiro.Max(p => p.id_Retiro);
                }
                catch (Exception e)
                {
                    n = 1000;
                }
                retiro.id_Retiro = n + 1;
                retiro.monto     = cantidadRetirar;
            }
            insertarTransaccion(retiro);// inserta el retiro en el historial

            _saldo        -= cantidadRetirar;
            _billetesDe20 -= (cantidadRetirar / 20);
            guardarCambios(); //actualizamos el archivo
            Console.WriteLine("Recoja su dinero...");
            Console.ReadKey();
        }