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");
        }
Exemple #3
0
        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");
            }
        }
Exemple #4
0
        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");
            }
        }