public List <Peliculas> PeliculasALaLista() { List <Peliculas> ListPeliculas = new List <Peliculas>(); conexion.Open(); cadena = $"SELECT * from Peliculas"; comando = new SqlCommand(cadena, conexion); registros = comando.ExecuteReader(); while (registros.Read()) { Peliculas pelicula = new Peliculas(); pelicula.ID = Convert.ToInt32(registros["ID"].ToString()); pelicula.Titulo = registros["Titulo"].ToString(); pelicula.EdadRecomendada = Convert.ToInt32(registros["EdadRecomendada"].ToString()); pelicula.Estado = registros["Estado"].ToString(); pelicula.Sinopsis = registros["Sinopsis"].ToString(); ListPeliculas.Add(pelicula); } conexion.Close(); return(ListPeliculas); }
static void Main(string[] args) { string opcion = ""; string opcionMenu = ""; Peliculas pelicula = new Peliculas(); do { Clientes cliente = new Clientes(); Alquiler alquiler = new Alquiler(); Console.WriteLine("Hola! Bienvenido a nuestro videclub.\n1.-Log in\n2.-Registrarse\n3.-Salir"); opcion = Console.ReadLine(); if (opcion == "1") { if (cliente.LogIn()) { do { Console.WriteLine("Introduce una opcion\n1.-Ver informacion de las peliculas\n" + "2.-Alquilar pelicula\n" + "3.-Mis alquileres\n" + "4.-Cambiar datos\n" + "5.-Logout"); opcionMenu = Console.ReadLine(); switch (opcionMenu) { case "1": pelicula.VerSinopsis(cliente.ObtenerEdad()); break; case "2": alquiler.AlquilarPeliculas(cliente.ObtenerEdad(), cliente.Email); break; case "3": alquiler.PeliculasAlquiladas(cliente.ObtenerEdad(), cliente.Email); break; case "4": cliente.CambiarDatos(); break; case "5": Console.Clear(); break; default: Console.Clear(); Console.WriteLine("Opcion incorrecta\n"); break; } } while (opcionMenu != "5"); } else { Console.WriteLine("No te has logueado, has introducido un e-mail o contraseña incorrecta"); } } else if (opcion == "2") { cliente.Registrar(); } else if (opcion == "3") { Console.WriteLine("Gracias,hasta pronto"); } else { Console.Clear(); Console.WriteLine("Opcion incorrecta"); } } while (opcion.ToLower() != "3"); }
public void AlquilarPeliculas(int edad, string email) { try { Peliculas pelicula = new Peliculas(); List <Peliculas> ListPeliculas = pelicula.PeliculasALaLista(); List <Peliculas> ListPelAlq = new List <Peliculas>(); int i = 1; foreach (Peliculas p in ListPeliculas.Where(n => n.EdadRecomendada <= edad)) { if (p.Estado == "disponible") { Console.WriteLine(i + ")- " + p.Titulo); i++; ListPelAlq.Add(p); } } if (ListPelAlq.Count != 0) { Console.WriteLine("Introduce el numero a la izquierda de la pelicula para alquilarlo"); int numPel = Convert.ToInt32(Console.ReadLine()); if (ListPelAlq.Count >= numPel && numPel > 0) { Console.WriteLine("Introduce el numero de dias que quieres alquilarlo"); double dias = Convert.ToUInt32(Console.ReadLine()); if (dias > 30) { dias = 30; } conexion.Open(); cadena = $"INSERT INTO Alquiler (IDPeliculas,Email,FechaAlquilado,FechaLimite) VALUES('{ListPelAlq.ElementAt(numPel - 1).ID}','{email}','{DateTime.Now}','{DateTime.Now.AddDays(dias)}')"; comando = new SqlCommand(cadena, conexion); comando.ExecuteNonQuery(); conexion.Close(); conexion.Open(); cadena = $"UPDATE Peliculas SET Estado='Alquilado'where ID='{ListPelAlq.ElementAt(numPel - 1).ID}'"; comando = new SqlCommand(cadena, conexion); comando.ExecuteNonQuery(); conexion.Close(); } else { Console.WriteLine("Numero equivocado"); } } else { Console.WriteLine("No hay peliculas aptas para que tu puedas alquilarlas o estan alquiladas"); } } catch (OverflowException) { Console.WriteLine("Has introducido un numero no valido"); } catch (FormatException) { Console.WriteLine("Has introducido un formato equivocado"); } catch (Exception) { Console.WriteLine("Error"); } }
public void PeliculasAlquiladas(int edad, string email) { try { Peliculas pelicula = new Peliculas(); List <Alquiler> ListAlquiler = AlquilerALaLista(); List <Peliculas> ListPeliculas = pelicula.PeliculasALaLista(); List <Alquiler> PeliculaAlquiladas = new List <Alquiler>(); int i = 1; foreach (Alquiler a in ListAlquiler.Where(a => a.Email == email)) { DateTime.TryParse(a.FechaLimite, out DateTime rojo); if (DateTime.Compare(rojo, DateTime.Now) < 0) { Console.ForegroundColor = ConsoleColor.Red; } if (a.FechaDevolucion.Length == 0) { foreach (Peliculas p in ListPeliculas.Where(n => n.ID == a.IDPeliculas)) { Console.Write(i + ")-" + p.Titulo + "\t"); } Console.WriteLine(" " + a.FechaLimite); PeliculaAlquiladas.Add(a); i++; } Console.ForegroundColor = ConsoleColor.White; } if (PeliculaAlquiladas.Count() > 0) { Console.WriteLine("Introduce una de estas opciones:\n1.-Devolver pelicula\n2.-Extender alquiler"); string devo = Console.ReadLine(); if (devo == "1") { Console.WriteLine("Introduce el numero a la izquierda de la pelicula que quieres devolver"); int.TryParse(Console.ReadLine(), out int alq); if (alq > 0 && alq - 1 < PeliculaAlquiladas.Count()) { conexion.Open(); cadena = $"UPDATE Alquiler SET FechaDevolucion='{DateTime.Now}'where FechaDevolucion IS NULL and Email='{email}' and IDPeliculas='{PeliculaAlquiladas.ElementAt(alq - 1).IDPeliculas}'"; comando = new SqlCommand(cadena, conexion); comando.ExecuteNonQuery(); conexion.Close(); conexion.Open(); cadena = $"UPDATE Peliculas SET Estado='disponible'where ID='{PeliculaAlquiladas.ElementAt(alq - 1).IDPeliculas}'"; comando = new SqlCommand(cadena, conexion); comando.ExecuteNonQuery(); conexion.Close(); } } else if (devo == "2") { Console.WriteLine("Introduce el numero a la izquierda de la pelicula que quieres extender el alquiler"); int.TryParse(Console.ReadLine(), out int ext); if (ext > 0 && ext - 1 < PeliculaAlquiladas.Count()) { Console.WriteLine("Introduce el numero de dias que quieres extender el alquiler"); double dias = Convert.ToUInt32(Console.ReadLine()); if (dias > 30) { dias = 30; } DateTime.TryParse(PeliculaAlquiladas.ElementAt(ext - 1).FechaLimite, out DateTime date); if (DateTime.Now.AddDays(31) > date.AddDays(dias)) { conexion.Open(); cadena = $"UPDATE Alquiler SET FechaLimite='{date.AddDays(dias)}'where FechaDevolucion IS NULL and Email='{email}' and IDPeliculas='{PeliculaAlquiladas.ElementAt(ext - 1).IDPeliculas}'"; comando = new SqlCommand(cadena, conexion); comando.ExecuteNonQuery(); conexion.Close(); } else { Console.WriteLine("No puedes extender el alquiler por mas de 30 dias"); } } } else { Console.WriteLine("Opcion incorrecta"); } } else { Console.WriteLine("No tienes peliculas alquiladas"); } } catch (OverflowException) { Console.WriteLine("Has introducido un numero no valido"); } catch (FormatException) { Console.WriteLine("Has introducido un formato equivocado"); } catch (Exception) { Console.WriteLine("Error"); } }