public override DTODataGrid <DTOActores> Listar(int Skip, int Take) { try { ManagerDb db = new ManagerDb(); String query = "SELECT ACT_CODIGO, ACT_NOMBRES FROM ACTORES ORDER BY ACT_NOMBRES OFFSET @SKIP ROWS FETCH NEXT @TAKE ROWS ONLY"; DataTable tbl = db.ObtenerDatos(query, new SqlParameter("@SKIP", Skip), new SqlParameter("@TAKE", Take)); DataTable tblCount = db.ObtenerDatos("SELECT COUNT(ACT_CODIGO) FROM ACTORES"); List <DTOActores> data = tbl.AsEnumerable().Select(x => new DTOActores { Codigo = x.Field <int>("ACT_CODIGO"), Nombre = x.Field <string>("ACT_NOMBRES") }).ToList(); DTODataGrid <DTOActores> dataGrid = new DTODataGrid <DTOActores>(tblCount.AsEnumerable().Select(x => x.Field <int>(0)).FirstOrDefault(), data); return(dataGrid); } catch (Exception ex) { Exception ex1 = ex; while (ex1.InnerException != null) { ex1 = ex1.InnerException; } throw new Exception(ex1.Message); } }
/// <summary> /// Obtiene los usuarios almacenados en la base de datos para mostrarse en una grid de datos con paginación /// </summary> /// <param name="Skip">Posición desde la cual se iniciará la búsqueda</param> /// <param name="Take">Cantidad de registros a traer</param> /// <returns></returns> public override DTODataGrid <DTOUsuarios> Listar(int Skip, int Take) { try { ManagerDb db = new ManagerDb(); String query = "SELECT USU_CODIGO, USU_USUARIO, USU_PASSWORD, USU_NOMBRES, USU_APELLIDOS, USU_CORREO, USU_ROL FROM USUARIOS ORDER BY USU_USUARIO OFFSET @SKIP ROWS FETCH NEXT @TAKE ROWS ONLY"; DataTable tbl = db.ObtenerDatos(query, new SqlParameter("@SKIP", Skip), new SqlParameter("@TAKE", Take)); DataTable tblCount = db.ObtenerDatos("SELECT COUNT(USU_CODIGO) FROM USUARIOS"); List <DTOUsuarios> data = tbl.AsEnumerable().Select(x => new DTOUsuarios { Codigo = x.Field <int>("USU_CODIGO"), Usuario = x.Field <string>("USU_USUARIO"), Password = "******", Nombres = x.Field <string>("USU_NOMBRES"), Apellidos = x.Field <string>("USU_APELLIDOS"), Correo = x.Field <string>("USU_CORREO"), Rol = x.Field <int>("USU_ROL"), Cliente = db.ObtenerDatos("SELECT CLI_CODIGO, CLI_DOCUMENTO, CLI_TIPODOCUMENTO, CLI_FECHANACIMIENTO FROM CLIENTES WHERE USU_CODIGO = @USU_CODIGO", new SqlParameter("@USU_CODIGO", x.Field <int>("USU_CODIGO"))).AsEnumerable().Select(c => new DTOClientes { Codigo = c.Field <int>("CLI_CODIGO"), Documento = c.Field <String>("CLI_DOCUMENTO"), TipoDocumento = c.Field <int>("CLI_TIPODOCUMENTO"), FechaNacimiento = c.Field <DateTime>("CLI_FECHANACIMIENTO") }).FirstOrDefault() }).ToList(); DTODataGrid <DTOUsuarios> dataGrid = new DTODataGrid <DTOUsuarios>(tblCount.AsEnumerable().Select(x => x.Field <int>(0)).FirstOrDefault(), data); return(dataGrid); } catch (Exception ex) { Exception ex1 = ex; while (ex1.InnerException != null) { ex1 = ex1.InnerException; } throw new Exception(ex1.Message); } }
public DTODataGrid <DTOReservas> ListarReservasCliente(int Skip, int Take, int Cliente) { try { ManagerDb db = new ManagerDb(); String query = "SELECT R.RSV_CODIGO, R.USU_CODIGO, R.PEL_CODIGO, R.RSV_ESTADO, R.RSV_FECHACREA, CONCAT(U.USU_NOMBRES, ' ', U.USU_APELLIDOS) USU_NOMBRES, P.PEL_TITULO FROM RESERVAS R INNER JOIN USUARIOS U ON R.USU_CODIGO = U.USU_CODIGO INNER JOIN PELICULAS P ON R.PEL_CODIGO = P.PEL_CODIGO WHERE R.USU_CODIGO = @CLIENTE ORDER BY R.RSV_FECHACREA OFFSET @SKIP ROWS FETCH NEXT @TAKE ROWS ONLY"; DataTable tbl = db.ObtenerDatos(query, new SqlParameter("@SKIP", Skip), new SqlParameter("@TAKE", Take), new SqlParameter("@CLIENTE", Cliente)); DataTable tblCount = db.ObtenerDatos("SELECT COUNT(R.RSV_CODIGO) FROM RESERVAS R INNER JOIN USUARIOS U ON R.USU_CODIGO = U.USU_CODIGO INNER JOIN PELICULAS P ON R.PEL_CODIGO = P.PEL_CODIGO WHERE R.USU_CODIGO = @CLIENTE", new SqlParameter("@CLIENTE", Cliente)); List <DTOReservas> data = tbl.AsEnumerable().Select(x => new DTOReservas { Codigo = x.Field <int>("RSV_CODIGO"), CodigoCliente = x.Field <int>("USU_CODIGO"), CodigoPelicula = x.Field <int>("PEL_CODIGO"), Estado = x.Field <int>("RSV_ESTADO"), FechaReserva = x.Field <DateTime>("RSV_FECHACREA"), Cliente = x.Field <string>("USU_NOMBRES"), Pelicula = x.Field <string>("PEL_TITULO") }).ToList(); DTODataGrid <DTOReservas> dataGrid = new DTODataGrid <DTOReservas>(tblCount.AsEnumerable().Select(x => x.Field <int>(0)).FirstOrDefault(), data); return(dataGrid); } catch (CustomException ex) { throw new CustomException(ex.Message); } catch (Exception ex) { Exception ex1 = ex; while (ex1.InnerException != null) { ex1 = ex1.InnerException; } throw new Exception(ex1.Message); } }
public override DTODataGrid <DTOPeliculas> Listar(int Skip, int Take) { try { ManagerDb db = new ManagerDb(); String query = "SELECT PEL_CODIGO, PEL_TITULO, PEL_DIRECTOR, PEL_COSTOALQUILER, PEL_CANTIDADINVENTARIO FROM PELICULAS ORDER BY PEL_TITULO OFFSET @SKIP ROWS FETCH NEXT @TAKE ROWS ONLY"; DataTable tbl = db.ObtenerDatos(query, new SqlParameter("@SKIP", Skip), new SqlParameter("@TAKE", Take)); DataTable tblCount = db.ObtenerDatos("SELECT COUNT(PEL_CODIGO) FROM PELICULAS"); List <DTOPeliculas> data = tbl.AsEnumerable().Select(x => new DTOPeliculas { Codigo = x.Field <int>("PEL_CODIGO"), Titulo = x.Field <string>("PEL_TITULO"), Director = x.Field <string>("PEL_DIRECTOR"), CostoAlquiler = Convert.ToDouble(x.Field <Object>("PEL_COSTOALQUILER")), CantidaInventario = x.Field <int>("PEL_CANTIDADINVENTARIO"), Actores = db.ObtenerDatos("SELECT A.ACT_CODIGO, A.ACT_NOMBRES FROM ACTORES A INNER JOIN ACTORES_PELICULAS AP ON A.ACT_CODIGO = AP.ACT_CODIGO WHERE AP.PEL_CODIGO = @PEL_CODIGO", new SqlParameter("@PEL_CODIGO", x.Field <int>("PEL_CODIGO"))).AsEnumerable().Select(a => new DTOActores { Codigo = a.Field <int>("ACT_CODIGO"), Nombre = a.Field <String>("ACT_NOMBRES") }).ToList() }).ToList(); DTODataGrid <DTOPeliculas> dataGrid = new DTODataGrid <DTOPeliculas>(tblCount.AsEnumerable().Select(x => x.Field <int>(0)).FirstOrDefault(), data); return(dataGrid); } catch (Exception ex) { Exception ex1 = ex; while (ex1.InnerException != null) { ex1 = ex1.InnerException; } throw new Exception(ex1.Message); } }
public DTODataGrid <DTOPeliculas> ListarReserva(int Skip, int Take, DTOPeliculas Filtros) { try { ManagerDb db = new ManagerDb(); String filter = String.Empty; if (Filtros.Titulo != "") { filter += " AND P.PEL_TITULO LIKE '%" + Filtros.Titulo + "%' "; } if (Filtros.Director != "") { filter += " AND P.PEL_DIRECTOR LIKE '%" + Filtros.Director + "%' "; } if (Filtros.CostoAlquiler > 0) { filter += " AND P.PEL_COSTOALQUILER <= " + Filtros.CostoAlquiler + " "; } if (Filtros.CantidaInventario > 0) { filter += " AND P.PEL_CANTIDADINVENTARIO <= " + Filtros.CantidaInventario + " "; } if (Filtros.Actores.Count > 0) { foreach (DTOActores actor in Filtros.Actores) { filter += " AND A.ACT_CODIGO = " + actor.Codigo + " "; } } String query = "SELECT DISTINCT P.PEL_CODIGO, P.PEL_TITULO, P.PEL_DIRECTOR, P.PEL_COSTOALQUILER, P.PEL_CANTIDADINVENTARIO FROM PELICULAS P INNER JOIN ACTORES_PELICULAS A ON P.PEL_CODIGO = A.PEL_CODIGO WHERE P.PEL_CANTIDADINVENTARIO > 0 " + filter + " ORDER BY PEL_TITULO OFFSET @SKIP ROWS FETCH NEXT @TAKE ROWS ONLY"; DataTable tbl = db.ObtenerDatos(query, new SqlParameter("@SKIP", Skip), new SqlParameter("@TAKE", Take)); DataTable tblCount = db.ObtenerDatos("SELECT COUNT(P.PEL_CODIGO) FROM PELICULAS P INNER JOIN ACTORES_PELICULAS A ON P.PEL_CODIGO = A.PEL_CODIGO WHERE P.PEL_CANTIDADINVENTARIO > 0 " + filter); List <DTOPeliculas> data = tbl.AsEnumerable().Select(x => new DTOPeliculas { Codigo = x.Field <int>("PEL_CODIGO"), Titulo = x.Field <string>("PEL_TITULO"), Director = x.Field <string>("PEL_DIRECTOR"), CostoAlquiler = Convert.ToDouble(x.Field <Object>("PEL_COSTOALQUILER")), CantidaInventario = x.Field <int>("PEL_CANTIDADINVENTARIO"), Actores = db.ObtenerDatos("SELECT A.ACT_CODIGO, A.ACT_NOMBRES FROM ACTORES A INNER JOIN ACTORES_PELICULAS AP ON A.ACT_CODIGO = AP.ACT_CODIGO WHERE AP.PEL_CODIGO = @PEL_CODIGO", new SqlParameter("@PEL_CODIGO", x.Field <int>("PEL_CODIGO"))).AsEnumerable().Select(a => new DTOActores { Codigo = a.Field <int>("ACT_CODIGO"), Nombre = a.Field <String>("ACT_NOMBRES") }).ToList() }).ToList(); DTODataGrid <DTOPeliculas> dataGrid = new DTODataGrid <DTOPeliculas>(tblCount.AsEnumerable().Select(x => x.Field <int>(0)).FirstOrDefault(), data); return(dataGrid); } catch (Exception ex) { Exception ex1 = ex; while (ex1.InnerException != null) { ex1 = ex1.InnerException; } throw new Exception(ex1.Message); } }