/// <summary>
        /// Añade un alquiler
        /// </summary>
        /// <param name="alquiler">Alquiler a añadir</param>
        public void AgregarAlquiler(Alquiler alquiler)
        {
            EntidadesDataContext dc = GetDC();

            dc.Alquilers.InsertOnSubmit(alquiler);
            dc.SubmitChanges();
        }
Beispiel #2
0
        /// <summary>
        /// Añade un registro de histórico
        /// </summary>
        /// <param name="historico">Histórico a añadie</param>
        public void AgregarHistorico(Historico historico)
        {
            EntidadesDataContext dc = GetDC();

            dc.Historicos.InsertOnSubmit(historico);
            dc.SubmitChanges();
        }
Beispiel #3
0
        /// <summary>
        /// Añade un usuario al sistema
        /// </summary>
        /// <param name="usuario">Usuario a añadir</param>
        public void AgregarUsuario(Usuario usuario)
        {
            EntidadesDataContext dc = GetDC();

            dc.Usuarios.InsertOnSubmit(usuario);
            dc.SubmitChanges();
        }
        /// <summary>
        /// Modifica la película dada
        /// </summary>
        /// <param name="pelicula">Película modificada</param>
        /// <param name="original">Película original</param>
        public void ActualizarPelicula(Pelicula pelicula, Pelicula original)
        {
            EntidadesDataContext dc = GetDC();

            dc.Peliculas.Attach(pelicula, original);
            dc.SubmitChanges();
        }
        /// <summary>
        /// Añade la película dada
        /// </summary>
        /// <param name="pelicula">Película a añadir</param>
        public void AgregarPelicula(Pelicula pelicula)
        {
            EntidadesDataContext dc = GetDC();

            dc.Peliculas.InsertOnSubmit(pelicula);
            dc.SubmitChanges();
        }
        /// <summary>
        /// Actualiza un alquiler
        /// </summary>
        /// <param name="alquiler">Alquiler modificado</param>
        /// <param name="original">Alquiler original</param>
        public void ActualizarAlquiler(Alquiler alquiler, Alquiler original)
        {
            EntidadesDataContext dc = GetDC();

            dc.Alquilers.Attach(alquiler, original);
            dc.SubmitChanges();
        }
Beispiel #7
0
        /// <summary>
        /// Modifica el usuario dado
        /// </summary>
        /// <param name="usuario">Usuario modificado</param>
        /// <param name="original">Usuario original</param>
        public void ActualizarUsuario(Usuario usuario, Usuario original)
        {
            EntidadesDataContext dc = GetDC();

            dc.Usuarios.Attach(usuario, original);
            dc.SubmitChanges();
        }
Beispiel #8
0
        /// <summary>
        /// Añade el actor dado
        /// </summary>
        /// <param name="actor">Actor a añadir</param>
        public void AgregarActor(Actor actor)
        {
            EntidadesDataContext dc = GetDC();

            dc.Actors.InsertOnSubmit(actor);
            dc.SubmitChanges();
        }
Beispiel #9
0
        /// <summary>
        /// Modifica el actor dado
        /// </summary>
        /// <param name="actor">Actor modificado</param>
        /// <param name="original">Actor original</param>
        public void ActualizarActor(Actor actor, Actor original)
        {
            EntidadesDataContext dc = GetDC();

            dc.Actors.Attach(actor, original);
            dc.SubmitChanges();
        }
        public BindingList <InformeVentas> ObtenerInformeVentas()
        {
            EntidadesDataContext        dc     = GetDC();
            BindingList <InformeVentas> result = new BindingList <InformeVentas>();

            using (SqlConnection cnn = (SqlConnection)dc.Connection)
            {
                SqlCommand cmd = new SqlCommand("ObtenerInformeVentas", cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                cnn.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    InformeVentas informeVentas = new InformeVentas();
                    informeVentas.Alquileres = (decimal)reader["Alquileres"];
                    informeVentas.Ventas     = (decimal)reader["Ventas"];
                    informeVentas.DiaSemana  = (int)reader["DiaSemana"];

                    result.Add(informeVentas);
                }
            }

            return(result);
        }
Beispiel #11
0
        /// <summary>
        /// Crea el contexto de LINQ
        /// </summary>
        /// <returns>Contexto</returns>
        protected EntidadesDataContext GetDC()
        {
            EntidadesDataContext dc = new EntidadesDataContext();

            dc.DeferredLoadingEnabled = false;

            return(dc);
        }
Beispiel #12
0
        /// <summary>
        /// Realiza una búsqueda de socios por nombre
        /// </summary>
        /// <param name="nombre">Parte del nombre a buscar</param>
        /// <returns>Lista de socios</returns>
        public BindingList <Socio> ObtenerSociosPorNombre(string nombre)
        {
            IQueryable <Socio>   query;
            EntidadesDataContext dc = GetDC();

            query = from usuario in dc.Usuarios where (usuario.Rol == Rol.Socio && SqlMethods.Like(((Socio)usuario).Nombre, "%" + nombre + "%"))select(Socio) usuario;
            return(QueryToBindingList(query));
        }
Beispiel #13
0
        /// <summary>
        /// Obtiene todos los usuarios del sistema
        /// </summary>
        /// <returns>Lista de usuarios</returns>
        public BindingList <Usuario> ObtenerUsuarios()
        {
            IQueryable <Usuario> query;
            EntidadesDataContext dc = GetDC();

            query = from usuario in dc.Usuarios select usuario;
            return(QueryToBindingList(query));
        }
Beispiel #14
0
        /// <summary>
        /// Elimina el usuario dado
        /// </summary>
        /// <param name="usuario">Usuario a eliminar</param>
        public void EliminarUsuario(Usuario usuario)
        {
            EntidadesDataContext dc = GetDC();

            dc.Usuarios.Attach(usuario);
            dc.Usuarios.DeleteOnSubmit(usuario);
            dc.SubmitChanges();
        }
Beispiel #15
0
        /// <summary>
        /// Elimina el actor dado
        /// </summary>
        /// <param name="actor">Actor a eliminar</param>
        public void EliminarActor(Actor actor)
        {
            EntidadesDataContext dc = GetDC();

            dc.Actors.Attach(actor);
            dc.Actors.DeleteOnSubmit(actor);
            dc.SubmitChanges();
        }
Beispiel #16
0
        /// <summary>
        /// Realiza una búsqueda por el nombre dado
        /// </summary>
        /// <param name="nombre">Parte del nombre a buscar</param>
        /// <returns>Lista de actores</returns>
        public BindingList <Actor> ObtenerActoresPorNombre(string nombre)
        {
            IQueryable <Actor>   query;
            EntidadesDataContext dc = GetDC();

            query = from actor in dc.Actors where SqlMethods.Like(actor.Nombre, "%" + nombre + "%") select actor;
            return(QueryToBindingList(query));
        }
Beispiel #17
0
        /// <summary>
        /// Obtiene todos los actores del sistema
        /// </summary>
        /// <returns>Lista de actores</returns>
        public BindingList <Actor> ObtenerActores()
        {
            IQueryable <Actor>   query;
            EntidadesDataContext dc = GetDC();

            query = from actor in dc.Actors select actor;
            return(QueryToBindingList <Actor>(query));
        }
        /// <summary>
        /// Obtiene los alquileres sin devolver del socio indicado
        /// </summary>
        /// <param name="nifSocio">NIF del socio</param>
        /// <param name="peliculaCodBarras">Código de barras de la película</param>
        /// <returns>Lista de alquileres</returns>
        public Alquiler ObtenerAlquilerSinDevolverPorSocioPelicula(string nifSocio, string peliculaCodBarras)
        {
            IQueryable <Alquiler> query;
            EntidadesDataContext  dc = GetDC();

            query = from alquiler in dc.Alquilers where (alquiler.FechaRecogida != null && alquiler.Usuario.NIF == nifSocio && alquiler.Pelicula.CodBarras == peliculaCodBarras) select alquiler;
            return(query.FirstOrDefault());
        }
        /// <summary>
        /// Elimina un alquiler
        /// </summary>
        /// <param name="alquiler">Alquiler a eliminar</param>
        public void EliminarAlquiler(Alquiler alquiler)
        {
            EntidadesDataContext dc = GetDC();

            dc.Alquilers.Attach(alquiler);
            dc.Alquilers.DeleteOnSubmit(alquiler);
            dc.SubmitChanges();
        }
        /// <summary>
        /// Elimina la película dada
        /// </summary>
        /// <param name="pelicula">Película a eliminar</param>
        public void EliminarPelicula(Pelicula pelicula)
        {
            EntidadesDataContext dc = GetDC();

            dc.Peliculas.Attach(pelicula);
            dc.Peliculas.DeleteOnSubmit(pelicula);
            dc.SubmitChanges();
        }
Beispiel #21
0
        /// <summary>
        /// Obtiene todos los socios del sistema
        /// </summary>
        /// <returns>Lista de socios</returns>
        public BindingList <Socio> ObtenerSocios()
        {
            IQueryable <Socio>   query;
            EntidadesDataContext dc = GetDC();

            query = from usuario in dc.Usuarios where usuario.Rol == Rol.Socio select(Socio) usuario;

            return(QueryToBindingList(query));
        }
Beispiel #22
0
        /// <summary>
        /// Obtiene un usuario por NIF
        /// </summary>
        /// <param name="nif">NIF del usuario</param>
        /// <returns>Usuario</returns>
        public Usuario ObtenerUsuarioPorNIF(string nif)
        {
            Usuario result;
            EntidadesDataContext dc = GetDC();

            result = dc.Usuarios.Where(usuario => usuario.NIF == nif).SingleOrDefault();

            return(result);
        }
        /// <summary>
        /// Obtiene todos los alquileres pendientes de recoger
        /// </summary>
        /// <param name="incluirSocio">Incluye la entidad de socio asociada en el alquiler devuelto</param>
        /// <param name="incluirPelicula">Incluye la entidad de película asociada en el alquiler devuelto</param>
        /// <returns>Lista de alquileres</returns>
        public BindingList <Alquiler> ObtenerAlquileresSinRecoger(bool incluirSocio, bool incluirPelicula)
        {
            IQueryable <Alquiler> query;
            EntidadesDataContext  dc = GetDC();

            IncluirEntidadesEnDC(dc, incluirSocio, incluirPelicula);

            query = from alquiler in dc.Alquilers where alquiler.FechaRecogida == null select alquiler;
            return(QueryToBindingList(query));
        }
        /// <summary>
        /// Recupera todas las notificaciones del sistema
        /// </summary>
        /// <param name="incluirSocio">Incluye el socio asociado a la notificación</param>
        /// <param name="incluirPelicula">Incluye la película asociada a la notificación</param>
        /// <returns></returns>
        public BindingList <Notificacion> ObtenerNotificaciones(bool incluirSocio, bool incluirPelicula)
        {
            IQueryable <Notificacion> query;
            EntidadesDataContext      dc = GetDC();

            IncluirEntidadesEnDC(dc, incluirSocio, incluirPelicula);

            query = from notificacion in dc.Notificacions select notificacion;
            return(QueryToBindingList(query));
        }
        /// <summary>
        /// Obtiene todas las películas del sistema
        /// </summary>
        /// <param name="incluirActores">Incluir las entidades de actores asociadas a las películas</param>
        /// <returns>Lista de películas</returns>
        public BindingList <Pelicula> ObtenerPeliculas(bool incluirActores)
        {
            IQueryable <Pelicula> query;
            EntidadesDataContext  dc = GetDC();

            IncluirEntidadesEnDC(dc, incluirActores, false);

            query = from pelicula in dc.Peliculas select pelicula;
            return(QueryToBindingList(query));
        }
Beispiel #26
0
        /// <summary>
        /// Obtiene un socio por NIF
        /// </summary>
        /// <param name="nif">NIF del socio</param>
        /// <returns>Socio</returns>
        public Socio ObtenerSocioPorNIF(string nif)
        {
            Socio result;
            IQueryable <Socio>   query;
            EntidadesDataContext dc = GetDC();

            query = from usuario in dc.Usuarios where usuario.Rol == Rol.Socio && usuario.NIF == nif select(Socio) usuario;

            result = query.SingleOrDefault();

            return(result);
        }
        /// <summary>
        /// Obtiene las películas pendientes de recoger del usuario dado
        /// </summary>
        /// <param name="nifUsuario">NIF del usuario</param>
        /// <returns>Lista de películas</returns>
        public BindingList <Pelicula> ObtenerPeliculasPendienteRecoger(string nifUsuario)
        {
            IQueryable <Pelicula> query;
            EntidadesDataContext  dc = GetDC();

            query = from pelicula in dc.Peliculas
                    from alquiler in pelicula.Alquileres
                    where (alquiler.Usuario.NIF == nifUsuario &&
                           alquiler.FechaRecogida == null)
                    select pelicula;

            return(QueryToBindingList(query));
        }
Beispiel #28
0
        /// <summary>
        /// Establece la clave de un usuario
        /// </summary>
        /// <param name="nif">NIF del usuario</param>
        /// <param name="clave">Clave cifrada del usuario</param>
        public void EstablecerClave(string nif, string clave)
        {
            EntidadesDataContext dc = GetDC();

            using (SqlConnection cnn = (SqlConnection)dc.Connection)
            {
                SqlCommand cmd = new SqlCommand("ModificarClaveUsuario", cnn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("clave", clave);
                cmd.Parameters.AddWithValue("nif", nif);

                cnn.Open();
                cmd.ExecuteNonQuery();
            }
        }
        /// <summary>
        /// Modifica la carátula de una película
        /// </summary>
        /// <param name="caratula">Array de bytes con la imagen de la película</param>
        /// <param name="codBarras">Código de barras de la película</param>
        public void ModificarCaratula(byte[] caratula, string codBarras)
        {
            EntidadesDataContext dc = GetDC();

            using (SqlConnection cnn = (SqlConnection)dc.Connection)
            {
                SqlCommand cmd = new SqlCommand("ModificarCaratula", cnn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("caratula", caratula);
                cmd.Parameters.AddWithValue("codBarras", codBarras);

                cnn.Open();
                cmd.ExecuteNonQuery();
            }
        }
        /// <summary>
        /// Obtiene las películas más valoradas
        /// </summary>
        /// <returns>Lista de películas</returns>
        public BindingList <Pelicula> ObtenerTopPeliculasPuntuacion()
        {
            EntidadesDataContext dc = GetDC();

            var query1 = (from puntuacion in dc.Puntuacions
                          group puntuacion by puntuacion.PeliculaID into g
                          orderby g.Average(puntuacion => puntuacion.ValorPuntuacion) descending
                          select new { PeliculaID = g.Key });

            var query2 = (from pelicula in dc.Peliculas
                          join q in query1 on pelicula.PeliculaID equals q.PeliculaID
                          select pelicula).Take <Pelicula>(10);

            return(QueryToBindingList(query2));
        }