public ProductoBuscarViewModel(IWindowManager windowmanager, Ventas.VentaRegistrarViewModel ventaRegistrarViewModel, int ventanaAccion) : this(windowmanager) { this.ventaRegistrarViewModel = ventaRegistrarViewModel; this.ventanaAccion = ventanaAccion; AlmacenSQL almSQL = new AlmacenSQL(); idAlmacen = almSQL.obtenerDeposito(ventaRegistrarViewModel.idTienda); SelectedTienda = ventaRegistrarViewModel.idTienda; Index = CmbTiendas.FindIndex(x => x.IdTienda == SelectedTienda); }
public List<AbastecimientoProducto> buscarProductosAbastecimiento(int idSolicitud, int idTienda = -1) { List<AbastecimientoProducto> lstAux = null; List<ProductoxTienda> prod; ProductoSQL pSQL = new ProductoSQL(); AlmacenSQL almSQL = new AlmacenSQL(); AbastecimientoProducto abTemp; int posProd, posNomProd, posCant, posAtent; int idAlmacen = idTienda; if (idTienda == 0) idAlmacen = almSQL.obtenerDeposito(idTienda); db.cmd.CommandText = "SELECT * FROM ProductoxSolicitudAb ps, Producto p WHERE ps.idProducto = p.idProducto AND ps.idSolicitudAB = @idSolicitudAB "; db.cmd.Parameters.Add(new SqlParameter("idSolicitudAB", idSolicitud)); if (db.cmd.Transaction == null) db.conn.Open(); SqlDataReader reader = db.cmd.ExecuteReader(); while (reader.Read()) { if (lstAux == null) lstAux = new List<AbastecimientoProducto>(); abTemp = new AbastecimientoProducto(); posProd = reader.GetOrdinal("idProducto"); posNomProd = reader.GetOrdinal("nombre"); posCant = reader.GetOrdinal("cantidad"); posAtent = reader.GetOrdinal("cantidadAtendida"); abTemp.idProducto = reader.IsDBNull(posProd) ? -1 : reader.GetInt32(posProd); abTemp.nombre = reader.IsDBNull(posNomProd) ? null : reader.GetString(posNomProd); abTemp.pedido = reader.IsDBNull(posCant) ? -1 : reader.GetInt32(posCant); abTemp.atendido = reader.IsDBNull(posAtent) ? -1 : reader.GetInt32(posAtent); abTemp.atendidoReal = reader.IsDBNull(posAtent) ? -1 : reader.GetInt32(posAtent); if (idTienda == 0) prod = pSQL.BuscarProductoxCentral(idAlmacen, abTemp.idProducto); else prod = pSQL.BuscarProductoxTienda(idAlmacen, abTemp.idProducto); abTemp.stock = prod == null? -1 : prod.ElementAt(0).StockActual; abTemp.stockPendiente = prod == null ? -1 : prod.ElementAt(0).StockPendiente; abTemp.sugerido = prod == null ? -1 : ((prod.ElementAt(0).StockMin - prod.ElementAt(0).StockActual) > 0 ? (prod.ElementAt(0).StockMin - prod.ElementAt(0).StockActual) : 0); lstAux.Add(abTemp); } db.cmd.Parameters.Clear(); reader.Close(); if (db.cmd.Transaction == null) db.conn.Close(); return lstAux; }