public List <OrdenDeCompra_Articulo> TodasLasOrdenesDeUnArticulo(int id) { try { this.OpenConnection(); NpgsqlCommand cmdSel = new NpgsqlCommand(" select oc.numero,oc.fecha_pedido,oc.plazo_entrega,oc.estado,oc.fecha_sol_aprob,oca.cantidad " + "from orden_de_compra oc " + "inner join orden_compra_articulos oca on oca.numero_orden = oc.numero where id_articulo=@id ", npgsqlConn); cmdSel.Parameters.Add("@id", NpgsqlTypes.NpgsqlDbType.Integer).Value = id; NpgsqlDataReader drHerramientas = cmdSel.ExecuteReader(); List <OrdenDeCompra_Articulo> ord_artList = new List <OrdenDeCompra_Articulo>(); while (drHerramientas.Read()) { OrdenDeCompra_Articulo ord_art = new OrdenDeCompra_Articulo(); ord_art.Cantidad = (int)drHerramientas["cantidad"]; ord_art.Estado = (string)drHerramientas["estado"]; ord_art.Fecha_pedido = (DateTime)drHerramientas["fecha_pedido"]; ord_art.Fecha_solicitud_aprobacion = (DateTime)drHerramientas["fecha_sol_aprob"]; ord_art.Numero = (string)drHerramientas["numero"]; ord_art.Plazo_entrega = (DateTime)drHerramientas["plazo_entrega"]; ord_artList.Add(ord_art); } return(ord_artList); } finally { CloseConnection(); } }
public void Insertar(OrdenDeCompra_Articulo ocA) { try { OpenConnection(); NpgsqlCommand cmdIns = new NpgsqlCommand("INSERT INTO orden_compra_articulos(numero_orden,id_articulo,cantidad,precio_unitario,codigo_proveedor,plazo_entrega,estado_item,iva,descuento,fecha_recibido,cantidad_recibida)" + "values(@numero_orden,@id_articulo,@cantidad,@precio_unitario,@codigo,@plazo_entrega,@estado_item,@iva,@descuento,@fecha_recibido,@cantidad_recibida)", npgsqlConn); cmdIns.Parameters.Add("@numero_orden", NpgsqlTypes.NpgsqlDbType.Text).Value = ocA.Numero; cmdIns.Parameters.Add("@id_articulo", NpgsqlTypes.NpgsqlDbType.Text).Value = ocA.Id_Articulo; cmdIns.Parameters.Add("@cantidad", NpgsqlTypes.NpgsqlDbType.Integer).Value = ocA.Cantidad; cmdIns.Parameters.Add("@precio_unitario", NpgsqlTypes.NpgsqlDbType.Double).Value = ocA.Precio_unitario; cmdIns.Parameters.Add("@codigo", NpgsqlTypes.NpgsqlDbType.Text).Value = ocA.Codigo_proveedor; cmdIns.Parameters.Add("@plazo_entrega", NpgsqlTypes.NpgsqlDbType.Date).Value = ocA.Plazo_entrega; cmdIns.Parameters.Add("@estado_item", NpgsqlTypes.NpgsqlDbType.Text).Value = ocA.Estado; cmdIns.Parameters.Add("@iva", NpgsqlTypes.NpgsqlDbType.Double).Value = ocA.IVA; cmdIns.Parameters.Add("@descuento", NpgsqlTypes.NpgsqlDbType.Double).Value = ocA.Descuento; cmdIns.Parameters.Add("@cantidad_recibida", NpgsqlTypes.NpgsqlDbType.Integer).Value = ocA.Cantidad_Recibida; if (ocA.Fecha_recibido.Date == Convert.ToDateTime("01/01/0001")) { cmdIns.Parameters.Add("@fecha_recibido", NpgsqlTypes.NpgsqlDbType.Date).Value = DBNull.Value; } else { cmdIns.Parameters.Add("@fecha_recibido", NpgsqlTypes.NpgsqlDbType.Date).Value = ocA.Fecha_recibido; } cmdIns.ExecuteNonQuery(); } finally { CloseConnection(); } }
public List <OrdenDeCompra_Articulo> Ordenes_Abiertas_DeUnArticulo(string id) { try { this.OpenConnection(); NpgsqlCommand cmdSel = new NpgsqlCommand("select oca.id_articulo,oc.numero,oc.solicitado,oc.fecha_pedido,oc.fecha_generacion,oca.plazo_entrega,oc.estado,oc.fecha_sol_aprob,(oca.cantidad - oca.cantidad_recibida) as cantidad, oc.proveedor " + "from orden_de_compra oc " + "inner join orden_compra_articulos oca on oca.numero_orden = oc.numero where id_articulo=@id and estado <> 'Recibido' ", npgsqlConn); cmdSel.Parameters.Add("@id", NpgsqlTypes.NpgsqlDbType.Text).Value = id; NpgsqlDataReader drHerramientas = cmdSel.ExecuteReader(); List <OrdenDeCompra_Articulo> ord_artList = new List <OrdenDeCompra_Articulo>(); while (drHerramientas.Read()) { OrdenDeCompra_Articulo ord_art = new OrdenDeCompra_Articulo(); ord_art.Cantidad = (int)drHerramientas["cantidad"]; ord_art.Estado = (string)drHerramientas["estado"]; try { ord_art.Fecha_pedido = (DateTime)drHerramientas["fecha_pedido"]; } catch { } ord_art.Fecha_generacion = (DateTime)drHerramientas["fecha_generacion"]; try { ord_art.Fecha_solicitud_aprobacion = (DateTime)drHerramientas["fecha_sol_aprob"]; } catch { } ord_art.Numero = (string)drHerramientas["numero"]; try { ord_art.Plazo_entrega = (DateTime)drHerramientas["plazo_entrega"]; } catch { } ord_art.Solicitado = (string)drHerramientas["solicitado"]; ord_artList.Add(ord_art); } return(ord_artList); } finally { CloseConnection(); } }