internal List<ProductoCant> ListaProductos(string idSolicitudAB) { List<ProductoCant> productos = new List<ProductoCant>(); ProductoSQL pGw = new ProductoSQL(); string where = "WHERE idSolicitudAB=@idSolicitudAB"; db.cmd.Parameters.AddWithValue("@idSolicitudAB", idSolicitudAB); db.cmd.CommandText = "SELECT * FROM ProductoxSolicitudAb " + where; try { db.conn.Open(); SqlDataReader reader = db.cmd.ExecuteReader(); Producto p = new Producto(); while (reader.Read()) { ProductoCant pa = new ProductoCant(); pa.IdProducto= reader.IsDBNull(reader.GetOrdinal("idProducto")) ? -1 : int.Parse(reader["idProducto"].ToString()); p = pGw.Buscar_por_CodigoProducto(pa.IdProducto); pa.CodigoProd = p.CodigoProd.ToString(); pa.Nombre = p.Nombre; pa.Can = reader.IsDBNull(reader.GetOrdinal("cantidad")) ? null : reader["cantidad"].ToString(); pa.CanAtend = reader.IsDBNull(reader.GetOrdinal("cantidadAtendida")) ? null : reader["cantidadAtendida"].ToString(); productos.Add(pa); } db.cmd.Parameters.Clear(); db.conn.Close(); } catch (SqlException e) { Console.WriteLine(e.ToString()); } catch (Exception e) { Console.WriteLine(e.StackTrace.ToString()); } return productos; }
public List<ProductoCant> BuscarNotas(int p) { DBConexion db1 = new DBConexion(); List<ProductoCant> lstProCant = new List<ProductoCant>(); db1.cmd.CommandText = "SELECT idProducto,idNota,sum(cantidad) AS cantidad ,idAlmacen FROM ProductoxNotaIS WHERE idNota=@idNota GROUP BY idProducto, idNota, idAlmacen"; db1.cmd.Parameters.AddWithValue("@idNota", p); try { db1.conn.Open(); SqlDataReader reader = db1.cmd.ExecuteReader(); while (reader.Read()) { ProductoSQL psql = new ProductoSQL(); ProductoCant procan = new ProductoCant(); procan.CanAtender = reader.IsDBNull(reader.GetOrdinal("cantidad")) ? null : reader["cantidad"].ToString(); procan.IdProducto = reader.IsDBNull(reader.GetOrdinal("idProducto")) ? -1 : int.Parse(reader["idProducto"].ToString()); Producto pr = psql.Buscar_por_CodigoProducto(procan.IdProducto); procan.Nombre = pr.Nombre; procan.CodigoProd = pr.CodigoProd; lstProCant.Add(procan); } db1.cmd.Parameters.Clear(); db1.conn.Close(); } catch (SqlException e) { Console.WriteLine(e); } catch (Exception e) { Console.WriteLine(e.StackTrace.ToString()); } return lstProCant; }
//Botones: public void CargarProductos() { string referencia = TxtDoc; if (string.IsNullOrWhiteSpace(referencia)) { _windowManager.ShowDialog(new AlertViewModel(_windowManager, "No se ha ingresado ningun Documento de Referencia")); return; } string mot = this.selectedMotivo; if (string.Compare(mot, "Orden de Compra", true) == 0) { List<ProductoxOrdenCompra> poc = new List<ProductoxOrdenCompra>(); poc = SelectedOrden.LstProducto; List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < poc.Count; i++) { ProductoCant pcan = new ProductoCant(); pcan.IdProducto = poc.ElementAt(i).Producto.IdProducto; pcan.Can = poc.ElementAt(i).Cantidad; pcan.CodigoProd = poc.ElementAt(i).Producto.CodigoProd; pcan.Nombre = poc.ElementAt(i).Producto.Nombre; pcan.CanAtend = poc.ElementAt(i).CantAtendida.ToString(); pcan.CanAtender = poc.ElementAt(i).CantidadAtender; pcan.Ubicaciones = new List<Ubicacion>(); lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); } else { if (string.Compare(mot, "Traslado Externo", true) == 0) { if (selectedGuia == null) { _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Ingrese un código de guía de remisión valido")); } else { LstProductos = selectedGuia.Nota.LstProducto; } } else { if (string.Compare(mot, "Devolucion", true) == 0) { List<DevolucionProducto> dv = new List<DevolucionProducto>(); DevolucionSQL dsql = new DevolucionSQL(); dv = dsql.BuscarProductos(-1, -1, null, SelectedDevolucion.IdDevolucion); List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < dv.Count; i++) { ProductoCant pcan = new ProductoCant(); Producto p = new Producto(); ProductoSQL pgw = new ProductoSQL(); p = pgw.Buscar_por_CodigoProducto(dv.ElementAt(i).IdProducto); pcan.IdProducto = p.IdProducto; pcan.Nombre = p.Nombre; pcan.Can = "0"; pcan.CanAtend = "0"; pcan.CanAtender = dv.ElementAt(i).Devuelto.ToString(); pcan.Ubicaciones = new List<Ubicacion>(); pcan.CodigoProd = p.CodigoProd; lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); } else { if (string.Compare(mot, "Abastecimiento", true) == 0) { List<ProductoCant> psa = new List<ProductoCant>(); ProductoxSolicitudAbSQL pasql = new ProductoxSolicitudAbSQL(); psa = pasql.ListaProductos(SelectedSolicitud.idSolicitudAB.ToString()); List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < psa.Count; i++) { ProductoCant pcan = new ProductoCant(); pcan.IdProducto = psa.ElementAt(i).IdProducto; pcan.Can = psa.ElementAt(i).Can; pcan.CodigoProd = psa.ElementAt(i).CodigoProd; pcan.Nombre = psa.ElementAt(i).Nombre; pcan.CanAtend = "0"; pcan.CanAtender = psa.ElementAt(i).CanAtend; pcan.Ubicaciones = new List<Ubicacion>(); lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); } } } } NotifyOfPropertyChange(() => LstProductos); if (LstProductos != null) { EstadoMot = false; Estado = false; } }