public static List <Producto> ConsultaProductosFiltros(string descripcion, Departamento depa, Proveedor prov) { descripcion = (descripcion.Trim() == string.Empty) ? string.Empty : string.Format(" AND (producto.descripcion LIKE \"%{0}\" OR producto.descripcion LIKE \"%{0}%\" OR producto.descripcion = \"{0}%\")", descripcion); string departamento = (depa != null) ? (depa["nombre"].ToString() == "TODOS") ? string.Empty : string.Format(" AND producto.departamento = {0}", depa["iddepartamento"].ToIn32()) : string.Empty; string proveedor = (prov != null) ? (prov["nombre"].ToString() == "TODOS") ? string.Empty : string.Format(" AND producto.proveedor = {0}", prov["idproveedor"].ToIn32()) : string.Empty; string query = string.Format("SELECT idproducto, codigo, descripcion, preciocosto, precioventa, existencia, minimo, iddepartamento as departamento, departamento.nombre AS nombredepartamento, idproveedor as proveedor, proveedor.nombre AS nombreproveedor, idunidadproducto as unidadproducto, unidadproducto.nombre AS nombreunidadproducto, producto.inventario AS inventario, producto.agranel AS agranel, producto.activo AS activo FROM producto JOIN departamento ON producto.departamento = iddepartamento JOIN proveedor ON producto.proveedor = idproveedor JOIN unidadproducto ON producto.unidadproducto = idunidadproducto {0} {1} {2};", descripcion, departamento, proveedor); List <Producto> productos = new List <Producto>(); QueryResult result = executor.ExecuteQuery(query); if (result.Status == ExecutorStatus.CLOSED_CONNECTION) { for (int i = 0; i < result.RowCount; i++) { Producto producto = new Producto(); foreach (QueryResultColumn col in result.Columns) { producto.AgregaCampo(col.Name, result[i][col.Name]); } productos.Add(producto); } return(productos); } else { throw new Exception("Error al consultar lista de productos."); } }
public static Producto ConsultaProductoPorCodigo(string codigo) { QueryResult result = executor.ExecuteQuery(string.Format("SELECT idproducto, codigo, descripcion, preciocosto, precioventa, existencia, minimo, iddepartamento as departamento, departamento.nombre AS nombredepartamento, idproveedor as proveedor, proveedor.nombre AS nombreproveedor, idunidadproducto as unidadproducto, unidadproducto.nombre AS nombreunidadproducto, producto.inventario AS inventario, producto.agranel AS agranel, producto.activo AS activo FROM producto JOIN departamento ON producto.departamento = iddepartamento JOIN proveedor ON producto.proveedor = idproveedor JOIN unidadproducto ON producto.unidadproducto = idunidadproducto AND producto.codigo = '{0}'", codigo)); if (result.Status == ExecutorStatus.CLOSED_CONNECTION) { if (result.RowCount > 0) { Producto producto = new Producto(); foreach (QueryResultColumn col in result.Columns) { producto.AgregaCampo(col.Name, result[0][col.Name]); } return(producto); } else { return(null); } } else { return(null); } }
public static List <Producto> BuscaProductos(string texto) { List <Producto> productos = new List <Producto>(); QueryResult result = executor.ExecuteQuery(string.Format("SELECT idproducto, codigo, descripcion, preciocosto, precioventa, existencia, minimo, iddepartamento as departamento, departamento.nombre AS nombredepartamento, idproveedor as proveedor, proveedor.nombre AS nombreproveedor, idunidadproducto as unidadproducto, unidadproducto.nombre AS nombreunidadproducto, producto.inventario AS inventario, producto.agranel AS agranel, producto.activo AS activo FROM producto JOIN departamento ON producto.departamento = iddepartamento JOIN proveedor ON producto.proveedor = idproveedor JOIN unidadproducto ON producto.unidadproducto = idunidadproducto WHERE CONCAT(codigo, ' ', descripcion) LIKE '%{0}' OR CONCAT(codigo, ' ', descripcion) LIKE '%{0}%' OR CONCAT(codigo, ' ', descripcion) LIKE '{0}%' AND producto.activo = 1;", texto)); if (result.Status == ExecutorStatus.CLOSED_CONNECTION) { for (int i = 0; i < result.RowCount; i++) { Producto producto = new Producto(); foreach (QueryResultColumn col in result.Columns) { producto.AgregaCampo(col.Name, result[i][col.Name]); } productos.Add(producto); } return(productos); } else { if (result.Exception != null) { throw result.Exception; } else { throw new Exception("Error al consultar productos"); } } }
public static List <Producto> ConsultaProductos() { List <Producto> productos = new List <Producto>(); QueryResult result = executor.ExecuteQuery("SELECT idproducto, codigo, descripcion, preciocosto, precioventa, existencia, minimo, iddepartamento as departamento, departamento.nombre AS nombredepartamento, idproveedor as proveedor, proveedor.nombre AS nombreproveedor, idunidadproducto as unidadproducto, unidadproducto.nombre AS nombreunidadproducto, producto.inventario AS inventario, producto.agranel AS agranel, producto.activo AS activo FROM producto JOIN departamento ON producto.departamento = iddepartamento JOIN proveedor ON producto.proveedor = idproveedor JOIN unidadproducto ON producto.unidadproducto = idunidadproducto;"); if (result.Status == ExecutorStatus.CLOSED_CONNECTION) { for (int i = 0; i < result.RowCount; i++) { Producto producto = new Producto(); foreach (QueryResultColumn col in result.Columns) { producto.AgregaCampo(col.Name, result[i][col.Name]); } productos.Add(producto); } return(productos); } else { throw new Exception("Error al consultar lista de productos."); } }