/** * Metodo que comprueba si existen productos en el detalle de la orden **/ public bool ComprobarExistenciaDetalleOrden(string id_orden) { try { conexion.Open(); OracleCommand OC = new OracleCommand("COMPROBAR_EXISTENCIA_DETALLE_ORDEN", conexion); OC.CommandType = System.Data.CommandType.StoredProcedure; OC.Parameters.Add("CURSOR_T", OracleDbType.RefCursor).Direction = ParameterDirection.Output; OC.Parameters.Add("V_ID_ORDEN", OracleDbType.Varchar2).Value = id_orden; OracleDataReader ODR = OC.ExecuteReader(); List <DetalleOrdenCompra> listDetalleOrden = new List <DetalleOrdenCompra>(); while (ODR.Read()) { DetalleOrdenCompra detalleOrden = new DetalleOrdenCompra(); detalleOrden.Id_orden = ODR["ID_ORDEN_PEDIDO"].ToString(); listDetalleOrden.Add(detalleOrden); } if (listDetalleOrden.Count() > 0) { conexion.Close(); return(true); } else { conexion.Close(); return(false); } } catch (Exception) { conexion.Close(); return(false); } }
/** * Metodo que lista los datos del detalle de una orden de compra **/ public List <DetalleOrdenCompra> ListaDetalleOrden(string id_orden) { try { conexion.Open(); OracleCommand OC = new OracleCommand("LISTAR_DETALLE_ORDEN", conexion); OC.CommandType = System.Data.CommandType.StoredProcedure; OC.Parameters.Add("CURSOR_T", OracleDbType.RefCursor).Direction = ParameterDirection.Output; OC.Parameters.Add("V_ID_ORDEN", OracleDbType.Varchar2).Value = id_orden.ToString(); OracleDataReader ODR = OC.ExecuteReader(); List <DetalleOrdenCompra> listDetalleOrden = new List <DetalleOrdenCompra>(); while (ODR.Read()) { DetalleOrdenCompra detalleOrden = new DetalleOrdenCompra(); detalleOrden.Cantidad_pack = int.Parse(ODR["CANTIDAD"].ToString()); detalleOrden.Id_orden = ODR["ID_ORDEN_PEDIDO"].ToString(); detalleOrden.Producto = ODR["NOMBRE_PRODUCTO"].ToString(); detalleOrden.Precio_compra_total = int.Parse(ODR["PRECIO_COMPRA_TOTAL"].ToString()); detalleOrden.Proveedor = ODR["NOMBRE_PROV"].ToString(); detalleOrden.Id_familia = int.Parse(ODR["ID_FAMILIA_PRODUCTO"].ToString()); detalleOrden.Id_proveedor = int.Parse(ODR["ID_PROVEEDOR"].ToString()); detalleOrden.Id_producto = ODR["ID_PRODUCTO"].ToString(); listDetalleOrden.Add(detalleOrden); } conexion.Close(); return(listDetalleOrden); } catch (Exception) { conexion.Close(); return(null); } }
/** * Metodo para ingresar el detalle de una orden **/ public bool CrearDetalleOrden(DetalleOrdenCompra detalleOrden) { try { conexion.Open(); OracleCommand OC = new OracleCommand("INSERTAR_DETALLE_ORDEN", conexion); OC.CommandType = System.Data.CommandType.StoredProcedure; OC.Parameters.Add("V_CANTIDAD", OracleDbType.Int64).Value = detalleOrden.Cantidad_pack; OC.Parameters.Add("V_ID_ORDEN", OracleDbType.Varchar2).Value = detalleOrden.Id_orden; OC.Parameters.Add("V_ID_PRODUCTO", OracleDbType.Varchar2).Value = detalleOrden.Id_producto; OC.ExecuteNonQuery(); conexion.Close(); return(true); } catch (Exception) { conexion.Close(); return(false); } }