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(); } }
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 }
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(); }